محاسبات همه‌منظوره بر روی واحد پردازش گرافیکی

واحد پردازش گرافیکی (GPU) عموماً برای پردازش محاسبات گرافیکی رایانه طراحی و تولید می‌شود. به بهره‌برداری از واحد پردازش گرافیکی یک رایانه برای انجام محاسبات معمولی که در گذشته به کمک CPUها صورت می‌گرفته است، محاسبات همه‌منظوره بر روی واحد پردازش گرافیکی  گفته می‌شود.

در حال حاضر اوپن‌سی‌ال زبان متن‌باز رایج برنامه‌نویسی چندمنظوره بر روی جی‌پی‌یوها بوده و زبان کودا (محصول شرکت انویدیا) نیز پراستفاده‌ترین بستر مالکیتی این زمینه محسوب می‌شود.

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

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

یک جریان، به بیان ساده، مجموعه‌ای از داده‌هاست که نیاز به محاسبات یکسانی دارند. جریان‌ها اساس موازات داده‌ها در پردازش موازی محسوب می‌شوند. کرنل‌ها (به معنای هسته) که توسط GPUها فراخوانده می‌شوند نیز توابعی هستند که بر روی تک‌تک اعضای جریان داده اجرا می‌شوند. در برنامه‌هایی که برای GPUها نوشته می‌شوند، توجه به میزان عملیات ریاضی بر واحد حافظه ضروری است. از آنجایی که سرعت دسترسی به حافظه بسیار کمتر از سرعت پردازش این سخت‌افزارها است، اگر تعداد عملیات ریاضی برای هر دادهٔ موجود در حافظه کم باشد، میزان افزایش سرعت اجرا محدود می‌گردد.Asanovic, K. , Bodik, R. , Demmel, J. , Keaveny, T. , Keutzer, K. , Kubiatowicz, J. , Morgan, N. , Patterson, D. , Sen, K. , Wawrzynek, J. , Wessel, D. , Yelick, K. : A view of the parallel computing landscape. ACM 52(10) (2009) 56–67

نرم‌افزارهای ایده‌آل برای GPGPU نرم‌افزارهایی هستند که داده‌های فراوان، موازات بالا و وابستگی کم داده‌ای داشته‌باشند.

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

 منابع 


رده:پردازش دستورها
رده:توسعه بازی‌های ویدئویی
رده:رایانش موازی
رده:سخت‌افزارهای گرافیک
رده:فناوری‌های نوپدید
رده:کارت گرافیک