واحد پردازش گرافیکی

واحد پردازش گرافیکی (نماپردازنده یا نماپردازشگر) (به انگلیسی: Graphics Processing Unit) یا به اختصار GPU یک مدار الکترونیکی اختصاص‌یافته برای سرعت بخشیدن به گرافیک رایانه‌ای، پردازش تصویر دیجیتال و رندر کردن گرافیکی در کامپیوترهای شخصی، تلفن‌های همراه، ایستگاه‌های کاری و کنسول‌های بازی است. این واحد گاهی واحد پردازش بصری یا (Vision processing unit) VPU نیز نامیده می‌شود. ویژگی‌های واحدهای پردازش گرافیکی جدید برای پردازش و ارائه دادن کارهای دیداری (گرافیکی)، آن‌ها را بسیار کارآمدتر از واحدهای پردازش مرکزی یا CPU در پردازش الگوریتم‌های پیچیده کرده‌است.[۱]

واحد پرداش گرافیکی Geforce 6600 GT

در واقع واحد پردازش گرافیکی همانند واحد پردازش مرکزی در کامپیوتر است ولی وظیفهٔ اصلی آن پردازش اطلاعات مرتبط با تصاویر است. یک GPU معمولاً بر روی کارت‌های گرافیک قرار می‌گیرد اما کارت‌های گرافیک غیر حرفه‌ای مستقیماً بر روی مادربورد به‌صورت (OnBoard) قرار می‌گیرند. GPU ابزاری است شامل تعدادی عملگر ابتدایی گرافیکی، که باعث می‌شود نسبت به CPU در خلق تصاویر بر صفحهٔ نمایشگر بسیار سریع‌تر عمل کنند.

رایج‌ترین عملگرها برای گرافیک دوبعدی کامپیوترها شامل عملگر بیت بلیت است که معمولاً در سخت‌افزارهای مخصوص یک "Biltter" نامیده می‌شود. این عملگرها برای کشیدن مستطیل، مثلث، دایره و قوس به‌کار می‌روند. پردازنده‌های گرافیکی جدید، پردازش گرافیک کامپیوتری سه‌بعدی را نیز در رایانه‌ها انجام می‌دهند.

تاریخچه

دههٔ ۱۹۷۰

تراشه‌های ANTIC و CTIA امکان کنترل سخت‌افزاری حالات گرافیکی و متنی و سایر تأثیرات را بر روی آتاری ۸-بیتی را فراهم می‌کردند. تراشهٔ ANTIC پردازشگری مخصوص برای نگاشت (در حالت برنامه‌نویسی) متن و دادهٔ گرافیکی به خروجی تصویری بود. طراح تراشهٔ ANTIC جی مینر، طراحی تراشهٔ گرافیکی را برای کمودور آمیگا نیز بر عهده داشت.

دههٔ ۱۹۸۰

شاید بتوان ایدهٔ اولیهٔ شکل‌گیری مفهوم GPU را به دههٔ ۱۹۸۰ و کومودور آمیگا[۲] نسبت داد. این کامپیوتر اولین دستگاهی بود که با یک واحد پردازش گرافیکی استاندارد ارائه می‌شد و از ویژگی‌های گرافیکی قابل ملاحظه‌ای در زمان خود بهره می‌برد. در همین دهه و در سال ۱۹۸۷ کمپانی تگزاس اینسترومنتس اولین ریزپردازندهٔ دارای قابلیت‌های گرافیکی را با نام TMS34010 ارائه کرد.

دههٔ ۱۹۹۰

در دههٔ ۱۹۹۰ روند رشد کارت‌های گرافیکی و پردازنده‌های دارای قابلیت‌های گرافیکی به شکل روزافزونی پیش رفت و برای اولین بار پردازنده‌ها و کارت‌های گرافیکی با قابلیت رندر تصاویر و ویدیوهای سه‌بعدی ارائه شدند. ولی نقطهٔ آغاز آنچه که امروز آن را GPU می‌نامیم به سال ۱۹۹۹ و محصول متفاوت کمپانی انویدیا بازمی‌گردد.

Nvidia GeForce 256 (که به آن NV10 نیز می‌گویند) اولین کارت گرافیک تجاری بود که توانست قابلیت‌های سه‌بعدی و انتقال و نوردهی را در یک سخت‌افزار تجاری برای مصرف‌کننده ارائه دهد و از آنجا که بعدها قابلیت سایه‌زنی پیکسلی و برداری به آن اضافه شد، بسیار انعطاف‌پذیرتر و قابل‌برنامه‌ریزی‌تر از کارت‌های گرافیکی سه‌بعدی هم‌دورهٔ خود بود.[۳]

سال‌های ۲۰۰۰ تا ۲۰۰۵

پس از ارائهٔ NV10 و با وجود رابط برنامه‌ای چون اوپن‌جی‌ال و قابلیت‌های مشابه آن در دایرکت‌اکس، مسیر رشد پردازنده‌های گرافیکی به سمت قابلیت‌های بیشتر برنامه‌پذیری پیش می‌رفت. پردازش هر پیکسل توسط یک برنامهٔ کوتاه که ورودی‌های آن بافت تصویر را مشخص می‌کرد، امکان‌پذیر بود و هر شکل هندسی پیش از آنکه بر روی نمایشگر پدیدار شود، می‌توانست توسط یک برنامهٔ کوتاه به شکل دلخواه پردازش گردد. انویدیا نسخهٔ جدیدتر GPU خود را با نام Geforce 3 یا NV20 وارد بازار کرد که اولین پردازندهٔ گرافیکی مجهز به قابلیت سایه‌زنی برنامه‌پذیر بود. اما در اکتبر ۲۰۰۲ کمپانی رقیب انویدیا یعنی ای‌تی‌آی محصول جدیدی به نام Radeon 9700 یا R300 را معرفی کرد که اولین پردازندهٔ گرافیکی مبتنی بر دایرکت‌تری‌دی ۹٫۰ در دنیا بود. سایه‌زن‌های پیکسل و شکل این پردازندهٔ گرافیکی، قادر بودند محاسبات ممیز شناور طولانی و حلقوی را پیاده‌سازی نمایند و به سرعت، انعطاف‌پذیری در حد یک CPU را پیدا کردند. سایه‌زنی پیکسل معمولاً در مواردی چون ایجاد پستی و بلندی بر روی سطح اجسام (Bump Mapping) کاربرد دارد که منجر به ایجاد یک بافت بر روی یک شکل می‌گردد تا آن جسم براق، کدر، زبر، صاف یا حتی کنده‌کاری شده به نظر برسد.

۲۰۰۶ تا ۲۰۱۰

کارت گرافیک rx 580 با معرفی جی‌فورس سری ۸، پردازنده‌های گرافیکی به دستگاه‌های محاسباتی عمومی‌تری تبدیل شدند. امروزه GPUهای موازی در مقابل CPUها قد علم کرده‌اند و به همین دلیل یکی از زمینه‌های پژوهشی مهم کنونی، یعنی GPUهای همه‌منظوره (GPGPU) (رایانش و محاسبات عمومی بر روی GPU) توانسته در بسیاری از حوزه‌ها مثل فراگیری ماشین (یادگیری ماشین)،[۴] هوش مصنوعی، اکتشاف نفت، پردازش تصویر، جبر خطی، آمار،[۵] بازسازی سه‌بعدی و حتی تعیین قیمت در بازار سهام، به یکی از پرکاربردترین زمینه‌های تحقیقاتی و صنعتی تبدیل گردد.

پلتفرم کودا که شرکت انویدیا آن را توسعه داده‌است، یکی از قدیمی‌ترین مدل‌های رایانش موازی برای GPU است که از اوپن‌سی‌ال نیز پشتیبانی می‌کند. اوپن‌سی‌ال یک استاندارد آزاد است که توسط گروه کرونوس تعیین گردیده‌است. اوپن‌سی‌ال توسط اینتل، ای‌ام‌دی، انویدیا و ARM پشتیبانی می‌شود و پرطرفدارترین پلتفرم‌های توسعهٔ GPGPU در ایالات متحده و منطقهٔ آسیا-اقیانوسیه است.[۶]

دههٔ ۲۰۱۰

در سال ۲۰۱۰، انویدیا و آئودی با یکدیگر همکاری کرده و برای بهبود عملکرد سیستم‌های ناوبری و سرگرمی خودروهای آئودی از پردازندهٔ گرافیکی تگرا استفاده کردند.[۷] پیشرفت در فناوری پردازندهٔ گرافیکی در خودروها به پیشرفت فناوری خودران کمک کرد.[۸] کارت‌های سری اچ‌دی ۶۰۰۰ رادئون ای‌ام‌دی در سال ۲۰۱۰ منتشر شدند و ای‌ام‌دی در سال ۲۰۱۱ پردازنده‌های گرافیکی سری 6000M خود را معرفی کرد.[۹] سری کارت‌های گرافیک Kepler توسط انویدیا در سال ۲۰۱۲ عرضه شد و در کارت‌های سری ۶۰۰ و ۷۰۰ انویدیا استفاده شد. یکی از ویژگی‌های این ریزمعماری GPU شامل تقویت GPU است. این فناوری سرعت کلاک یک کارت گرافیک را تنظیم می‌کند تا سرعت آن را با توجه به مصرف انرژی آن افزایش یا کاهش دهد.[۱۰]

پلی‌استیشن ۴ و ایکس‌باکس وان در سال ۲۰۱۳ منتشر شدند. هر دو دستگاه از پردازنده‌های گرافیکی مبتنی بر رادئون اچ‌دی ۷۸۵۰ و ای‌ام‌دی ۷۷۹۰ استفاده می‌کنند.[۱۱] خط تولید پردازنده‌های گرافیکی کپلر انویدیا توسط سری مکس‌ول دنبال شد. تراشه‌های ۲۸ نانومتری انویدیا توسط تی‌اس‌ام‌سی در تایوان با استفاده از فرایند ۲۸ نانومتری تولید شدند. این فناوری در مقایسه با فرایند ۴۰ نانومتری پیشین، با افزایش ۲۰ درصدی عملکرد و در عین حال کاهش مصرف انرژی همراه بود.[۱۲][۱۳] هدست‌های واقعیت مجازی دارای مشخصات سیستم مورد نیاز بالایی هستند. سازندگان این هدست‌ها در زمان عرضه، مدل‌های کارت گرافیک جی‌تی‌ایکس ۹۷۰ و R9 290X یا بالاتر از آن‌ها را توصیه کردند.[۱۴][۱۵] کارت‌های مبتنی بر ریزمعماری پاسکال در سال ۲۰۱۶ منتشر شدند. کارت‌های سری ۱۰ جی‌فورس از این نسل از کارت‌های گرافیک هستند. این سری با استفاده از فرایند تولید بهبودیافتهٔ ۱۶ نانومتری ساخته می‌شدند.[۱۶]

در سال ۲۰۱۸، انویدیا پردازنده‌های گرافیکی سری آرتی‌ایکس ۲۰ (RTX 20) را تولید کرد که با افزودن هسته‌های ردیابی پرتو به پردازنده‌های گرافیکی، عملکرد آن‌ها را در جلوه‌های نوری بهبود می‌بخشید.[۱۷] پردازنده‌های گرافیکی پُلاریس۱۰ و پُلاریس ۱۱ توسط ای‌ام‌دی با فرایند ۱۴ نانومتری ساخته شدند. این کارت‌ها افزایش قابل توجهی در «عملکرد به ازای مصرف هر وات» در مقایسه با مدل‌های پیشین از خود نشان دادند.[۱۸] ای‌ام‌دی همچنین سری وگا را به‌عنوان رقیبی برای کارت‌های پاسکال رده بالای انویدیا، عرضه کرد.

در سال ۲۰۱۹، ای‌ام‌دی سری کارت‌های گرافیک رادئون سری ۵۰۰۰ را معرفی کرد.[۱۹] این شرکت سپس سری رادئون آر ایکس ۶۰۰۰ خود را با پشتیبانی از ردیابی پرتو با شتاب سخت‌افزاری رونمایی کرد.[۲۰] این سری محصولات که در اواخر سال ۲۰۲۰ عرضه شدند، شامل RX 6800، RX 6800 XT و RX 6900 XT بود.[۲۱][۲۲] RX 6700 XT که مبتنی بر Navi 22 است، در اوایل سال ۲۰۲۱ عرضه شد.[۲۳]

پلی‌استیشن ۵ و ایکس‌باکس سری اکس و سری اس در سال ۲۰۲۰ عرضه شدند. هر دوی آن‌ها از GPUهای مبتنی بر ریزمعماری RDNA 2 با پیشرفت‌های تدریجی و پیکربندی‌های مختلف استفاده می‌کنند.[۲۴][۲۵][۲۶]

اینتل نخستین بار در اواخر دههٔ ۱۹۹۰ وارد بازار پردازنده گرافیکی شد، اما شتاب‌دهنده‌های سه‌بعدی ضعیفی را در مقایسه با رقبای آن زمان خود تولید کرد. اینتل به‌جای تلاش برای رقابت با سازندگان رده بالای انویدیا و ای‌تی‌آی/ای‌ام‌دی، ادغام پردازنده‌های گرافیکی تکنولوژی گرافیک اینتل در چیپست‌های مادربرد را آغاز کرد. این راهبرد با چیپست اینتل ۸۱۰ برای پنتیوم ۳ آغاز شد و در CPUها ادامه یافت. اینتل این راهبرد را با معرفی پردازندهٔ لپ‌تاپ Intel Atom 'Pineview' در سال ۲۰۰۹ و پردازنده‌های دسکتاپ نسل یک اینتل کور در سال ۲۰۱۰ و پنتیوم‌ها و سلرون‌ها ادامه داد. این راهبرد، منجر به سهم اسمی زیادی از بازار پردازنده‌های گرافیکی برای اینتل شد، زیرا بیشتر رایانه‌های دارای سی‌پی‌یوی اینتل نیز دارای این پردازندهٔ گرافیکی مجتمع بودند. این پردازنده‌های گرافیکی عموماً از نظر عملکرد از پردازنده‌های گرافیکی مستقل ضعیف‌تر بودند. اینتل در سال ۲۰۲۲ با معرفی پردازنده‌های گرافیکی مستقل سری آرک خود وارد رقابت با کارت‌های کنونی جی‌فورس و سری رادئون شد و با ارائهٔ قیمت‌های رقابتی، دوباره وارد بازار پردازنده‌های مستقل شد.

دههٔ ۲۰۲۰

در دههٔ ۲۰۲۰، پردازنده‌های گرافیکی به‌طور فزاینده‌ای برای محاسبات مربوط به آموزش شبکه‌های عصبی بر روی مجموعه داده‌های عظیمی که برای مدل‌های زبانی بزرگ مورد نیاز هستند، استفاده شده‌اند. هسته‌های پردازش تخصصی در برخی از پردازنده‌های گرافیکی ایستگاه‌های کاری مدرن برای یادگیری عمیق اختصاص داده شده‌اند، زیرا با استفاده از ضرب و تقسیم ماتریس ۴×۴، عملکرد FLOPS قابل‌توجهی افزایش می‌یابند که منجر به عملکرد سخت‌افزار تا 128 TFLOPS در برخی از برنامه‌ها می‌شود.[۲۷][۲۸]

شرکت‌های تولیدکنندهٔ پردازندهٔ گرافیکی

شرکت‌های بسیاری در زمینهٔ تولید پردازندهٔ گرافیکی فعالند. در سال ۲۰۰۸، اینتل، انویدیا و ای‌ام‌دی/ای‌تی‌آی به ترتیب با ۴۹٫۵٪ و ۲۷٫۸٪ و ۲۰٫۶٪ از سهم بازار در صدر تولیدکنندگان پردازندهٔ گرافیکی بودند. البته در این آمار، پردازنده‌های گرافیکی مجتمع با CPU اینتل نیز محاسبه شده‌اند. اگر آن‌ها را در نظر نگیریم، انویدیا و ATI تقریباً کل بازار را در اختیار دارند. دو شرکت کوچک‌تر اس۳ گرافیکس و متروکس[۲۹] نیز به تولید پردازندهٔ گرافیکی می‌پردازند.

تلفن‌های هوشمند کنونی عموماً از پردازنده‌های گرافیکی آدرنو تولید شرکت کوالکام، پاور وی‌آر تولید شرکت ایمجینیشن تکنولوجیز و مالی تولید شرکت آرم استفاده می‌کنند.

توابع محاسباتی

پردازنده‌های گرافیکی مدرن از بیشتر قدرت خود برای محاسبات مربوط به گرافیک سه‌بعدی در کامپیوتر بهره می‌برند. پیشرفت‌های اخیر در GPUها باعث شده تا بتوانند از سایه‌زن‌های قابل‌برنامه‌ریزی بهره گیرند. بدین ترتیب با استفاده از این ویژگی می‌توان تصاویر را در سطح هندسی و بافت دستکاری نمود. از آنجا که بیشتر این محاسبات نیاز به محاسبات ماتریسی و برداری دارند، مهندسین و دانشمندان مطالعات خود بر روی کاربردهای غیرگرافیکی GPU را افزایش داده‌اند. یک نمونه از کاربردهای غیرگرافیکی پردازنده گرافیکی، تولید بیت‌کوین است، که برای حل معماها از یک واحد پردازش گرافیکی استفاده می‌گردد.

رمزگشایی ویدئویی با GPU

بیشتر GPUهای تولید شده از سال ۱۹۹۵ تاکنون از فواصل رنگی YUV که برای پخش ویدئوهای دیجیتالی بسیار مهم است، پشتیبانی می‌کنند، و بسیاری از GPUهای تولید شده از سال ۲۰۰۰ نیز از فرمت‌های MPEG پشتیبانی می‌کنند. این روند رمزگشایی ویدئو توسط سخت‌افزار که از دوبخش رمزگشایی و پردازش ویدئو تشکیل شده و توسط یک GPU انجام می‌گیرد را «رمزگشایی ویدئو توسط GPU» یا «رمزگشایی سخت‌افزاری ویدئو با GPU» می‌نامند.

کارت‌های گرافیکی جدیدتر حتی می‌توانند ویدئوهای کیفیت بالای HD را نیز به صورت سخت‌افزاری بر روی خود کارت رمزگشایی نمایند، تا پردازنده درگیر آن نشود. مهم‌ترین APIها برای رمزگشایی ویدئو با GPU عبارتند از DxVA برای سیستم‌عامل مایکروسافت ویندوز، VDPAU, VAAPI, XvMC و XvBA برای لینوکس و سیستم‌عامل‌های مبتنی بر یونیکس. همه این رابط‌ها به غیر از XvMC قادرند ویدئوهای رمزگذاری شده با فرمت‌های MPEG-1، MPEG-2، MPEG-4 ASP, H.264 یا DivX 6، VC-1، WMV, Xvid و DivX 5 را رمزگشایی کنند.

روند رمزگشایی ویدئو توسط GPU

روند رمزگشایی فرمت‌های ویدئویی به وسیله GPU به صورت زیر است:

  • تصحیح تصویر ویدئو (mocomp)
  • تبدیل معکوس کسینوسی گسسته (iDCT)
  • تله‌سینه معکوس
  • تبدیل معکوس کسینوسی گسسته اصلاح‌شده (iMDCT)
  • فیلتر Deblocking
  • محاسبات درون‌فریمی
  • کوانتیزاسیون معکوس (IQ)
  • رمزگشایی طول متغیر (VLD)
  • تشخیص خودکار منایع خطاهای درهم‌تنش
  • پردازش Bitstream و جانشانی نهایی پیکسل‌ها

اشکال مختلف GPU

کارت گرافیک MSI GTX 770

کارت‌های گرافیک اختصاصی

پردازنده‌های گرافیکی بسیار قدرتمند معمولاً به‌طور جداگانه تهیه شده و بوسیله یک درگاه اختصاصی مثل پی‌سی‌آی اکس‌پرس یا AGP یا HDMI به بورد اصلی متصل می‌شوند. بدین ترتیب به راحتی می‌توان آن‌ها را تعویض نموده یا در صورتی که مادربورد از مدل‌های جدیدتر پشتیبانی کند آن‌ها را ارتقا داد.

یک پردازنده گرافیکی اختصاصی لزوماً جداشدنی نیست و حتی می‌تواند از طریق درگاه‌های دیگری به غیر از موارد استاندارد مذکور به بورد اصلی متصل گردد. کلمه «اختصاصی» برای این استفاده می‌شود که در این نوع GPUها یک حافظه RAM اختصاصی برای استفاده کارت گرافیک در نظر گرفته شده‌است. البته اکثر پردازنده‌های گرافیکی اختصاصی جداشدنی و قابل تعویضند. در کامپیوترهای شخصی کوچکتر مثل لپ‌تاپ‌ها معمولاً برای اتصال GPU اختصاصی به بورد اصلی از رابط‌های غیر استاندارد استفاده می‌شود تا حجم کمتری اشغال کنند، ولی اغلب آن‌ها با وجود تفاوتی که در شکل و اندازه دارند از همان منطق ارتباطی PCIe و AGP بهره می‌برند.

فناوری‌هایی چون en:SLI انویدیا و en:CrossFire کمپانی ATI این امکان را فراهم می‌کنند که بتوان برای ترسیم یک تصویر از چند GPU بهره برد. این کار به معنای استفاده حداکثر از قدرت پردازشی GPU برای کارهای گرافیکی است.

پردازنده‌های گرافیکی مجتمع (integrated)

پردازنده‌های گرافیکی مجتمع یا مشترک (IGP) از بخشی از حافظه RAM کامپیوتر برای محاسبات خود استفاده می‌کند و دیگر مثل پردازنده‌های گرافیکی اختصاصی به یک حافظه RAM جداگانه مجهز نیست. اکثر این نوع پردازنده‌های گرافیکی به صورت مجتمع با بورد اصلی ارائه می‌شوند. البته در APUها از این هم فراتر می‌روند و در داخل خود CPU ساخته می‌شوند. امروزه ۹۰٪ کامپیوترها مجهز به پردازنده گرافیکی مجتمع هستند. این نوع پردازنده‌های گرافیکی نسبت به نوع اختصاصی باعث کاهش هزینه سیستم می‌شوند ولی از سویی قابلیت‌های آن‌ها نیز کمتر است. سابقاً این نوع GPUها در اجرای بازی‌های سه‌بعدی و ویدئوهای HD با مشکل مواجه می‌شدند ولی با رشد تکنولوژی و معرفی نسل‌های جدیدتر، این پردازنده‌های گرافیکی نیز بهبود یافته و قدرتمندتر شدند. با این حال هنوز هم کاربران حرفه‌ای گرافیک و علاقه‌مندان به بازی‌های سنگین کامپیوتری باید یک پردازنده گرافیکی اختصاصی برای رایانه خود تهیه کنند.

از آنجا که GPUها میزان ارجاع به حافظه بالایی دارند، ممکن است نوع مجتمع آن‌ها در مواقعی که فضای خالی حافظه رم کاهش می‌یابد، برای استفاده از آن با CPU وارد رقابت شود. IGPها می‌توانند تا ۲۹٫۸۵۶ گیگابایت بر ثانیه از پهنای باند حافظه را به خود اختصاص دهند. این در حالی است که کارت‌های گرافیکی اختصاصی می‌توانند تا ۲۶۴ گیگابایت از پهنای باند حافظه اختصاصی خود بهره گیرند. در مدل‌های قدیمی پردازنده‌های گرافیکی مجتمع امکان انتقال و نوردهی تصویر به صورت سخت‌افزاری وجود نداشت، اما مدل‌های جدیدتر این قابلیت‌ها را دارا می‌باشند.

پردازنده‌های گرافیکی مرکب یا هیبریدی

طبقه جدیدی از GPUها وجود دارد که مابین دو نوع قبلی قرار می‌گیرد. معمول‌ترین روش‌های پیاده‌سازی این نوع پردازنده‌های گرافیکی، روش HyperMemory کمپانی ATI و TurboCache انویدیا هستند. کارت‌های گرافیک هیبریدی نسبت به IGPها قیمت بالاتری دارند و از کارت‌های گرافیک اختصاصی ارزان‌تر هستند. این نوع GPUها از حافظه مشترک با سیستم استفاده می‌کنند و در کنار آن یک حافظه کش اختصاصی نیز برای خود دارند، تا با استفاده از آن تأخیر بالای ناشی از دسترسی به حافظه رم را جبران کنند. در تبلیغات این نوع محصولات گاهی گفته می‌شود که حجم حافظه رم آن‌ها ۷۶۸ مگابایت است، ولی در واقع این میزان حجمی از رم سیستم است که این نوع پردازنده گرافیکی می‌تواند از حافظه اصلی رایانه اشغال کند.

پردازش جریانی و پردازنده‌های گرافیکی همه‌منظوره

استفاده از پردازنده‌های گرافیکی همه‌منظوره (GPGPU) به عنوان پردازنده جریانی رشد روزافزونی دارد و هر روز فراگیرتر می‌شود. این نوع واحدهای پردازش گرافیکی، به جای آن که صرفاً برای عملیات گرافیکی طراحی شده باشند، قدرت محاسباتی یک سایه‌زن گرافیکی مدرن را برای محاسبات و رایانش‌های عمومی به کار می‌گیرند. در برخی کاربردهای خاص که نیاز به عملیات برداری پیچیده دارند، این نوع پردازنده گرافیکی می‌تواند عملکرد بسیار بهتری نسبت به یک CPU داشته باشد. دو کمپانی مهم تولیدکننده GPU، یعنی ATI و انویدیا، برای پوشش کاربردهای بیشتر استفاده از GPGPU، وارد یک رقابت جدی شده‌اند. هر دو کمپانی در پروژه ایجاد یک پردازشگر توزیعی برای محاسبات مربوط به تاشدگی پروتئین، به نام en:Folding@home با دانشگاه استنفورد همکاری می‌کنند. در برخی موارد ویژه پیش می‌آید که یک پردازنده گرافیکی، ۴۰ برابر سریع‌تر از یک پردازنده معمولی عمل می‌کند.

GPGPU می‌تواند در بسیاری از وظایف موازی مثل ردیابی اشعه، دینامیک سیال محاسباتی و مدل‌سازی آب‌وهوا مورد استفاده قرار گیرد. عموماً این ابزار برای رایانش‌های نیازمند به قدرت محاسباتی بالا استفاده می‌شود، چرا که GPUها به خاطر معماری ویژه‌ای که دارند، قابلیت‌های موازی‌سازی بالایی دارند.

به علاوه امروزه کامپیوترهای قدرتمند مبتنی بر GPU نقش مهمی در مدل‌سازی‌های بزرگ دارند. سه مورد از ۱۰ ابررایانه قدرتمند جهان از قدرت GPU استفاده می‌کنند.

کارت‌های انویدیا از APIهای برنامه‌نویسی به زبان سی مثل کودا (معماری دستگاه محاسبه یکپارچه) و اوپن‌سی‌ال پشتیبانی می‌کنند. کودا به‌طور اختصاصی در پردازنده‌های گرافیکی انویدیا به کار می‌رود، در حالی که OpenCL طوری طراحی شده که در معماری‌های متفاوتی مثل GPU, CPU و DSP مورد استفاده قرار گیرد. این فناوری‌ها به شما این امکان را می‌دهند تا از توابع مشخص یک برنامه معمولی C برای اجرا در پردازنده‌های جریانی استفاده کنید. این موضوع باعث می‌شود که برنامه‌های C از قابلیت‌های GPU استفاده کرده و بر روی ماتریس‌های بزرگ به صورت موازی اجرا شوند، در حالی که هنوز هم می‌توانند هنگام نیاز از CPU نیز استفاده نمایند. CUDA اولین API است که اجازه می‌دهد اپلیکیشن‌های مبتنی بر CPU به‌طور مستقیم از منابع یک GPU برای محاسبات عمومی‌تر، بدون محدودیت‌های استفاده از API گرافیکی استفاده نمایند.

از سال ۲۰۰۵ علاقه به استفاده از GPU برای محاسبات عمومی به وجود آمد. در اکثر موارد، برنامه‌های خطی یا درختی بر روی رایانه میزبان کامپایل می‌شوند و فایل اجرایی برای اجرا در GPU ارسال می‌شود. ایده کلی استفاده از GPU در این موارد بدین شکل است که یک برنامه مشخص به چند بخش کوچک شکسته می‌شود و سپس با استفاده از معماری اس‌آی‌ام‌دی پردازنده‌های گرافیکی به صورت موازی اجرا می‌گردد. روش دیگر آن است که عمل تفسیر و کامپایل برنامه نیز در خود GPU صورت گیرد. در این روش از همان ابتدا، پیش از کامپایل، برنامه به بخش‌های کوچکتر تقسیم شده و به‌طور موازی تفسیر می‌شوند. یک GPU مدرن می‌تواند به‌طور هم‌زمان هزاران برنامه کوچک را تفسیر نماید.

تست کارت گرافیک

یکی از بهترین برنامه برای تست کارت گرافیک برنامه Dmark است که محصول شرکت feuturemark 2003 می‌باشد. این برنامه تمام جوانب کارت گرافیک را بررسی و تست می‌کند و به کارت گرافیک امتیاز می‌دهد.[۳۰]

ابداعات Nvidia

هسته تنسور

به‌طور ساده می‌توان گفت هسته‌های تنسور از قسمت‌های کوچکی تشکیل شده‌اند که برای انجام کار پردازشی سنگین به کارت گرافیک کمک می‌کنند.

کاربرد هسته تنسور، هسته تنسوردر فیزیک و مهندسی و در ریاضیات کاربرد فراوانی دارد یکی از کابرد مهم آن این است که می‌تواند کار پیچیده الکترومغناطیس و نجوم و مکانیک سیالات را حل کند.

هستهٔ کودا

هستهٔ کودا جزئی از کارت گرافیک است که مسئولیت پردازش تصاویر را بر عهده دارد با مقدار اندکی تفاوت دارای پیچیدگی معماری کمتری است اما در مقدار گسترده‌تری در کارت گرافیک قرار می‌گیرد به‌طور طبیعی پردازنده‌های معمولی دارای ۲ الی ۱۶ هسته است اما این تعداد در هسته‌های کودا به عدد ۱۰۰ تا می‌رسد که عدد قابل توجهی برای یک هسته کارت گرافیک است.

پانویس

پیوند به بیرون

🔥 Top keywords: