GPGPU حوسبة الاستخدامات العامة لوحدات المعالجة الرسومية

GPGPU حوسبة الاستخدامات العامة لوحدات المعالجة الرسومية 

GPGPU

نظرة حاليه:

حصلنا في السنوات الماضيه على أداء ممتاز باستخدام حواسيب متنوعه مؤلفة من وحده المعالجة المركزية CPU ووحدة معالجة الرسوميات GPU، الحقيقه إن الفضل الاكبر لهذا الأداء يعود لظهور معالجات متعدده الأنوية مثل GPU. على سبيل المثال بامكانك اليوم شراء كرت الشاشة GPU يستطيع تنفيذ اكثر من تريليون عملية بالثانية، كل هذا من أجل ان تحصل أنت على صورة جيده عندما تلعب.

ولكن هذا ليس كل شيء، هذه المعالجات نفسها يمكن أن نستخدمها اليوم من اجل تطبيقات حوسبية علمية .

لماذا المعالجات متعددة الأنوية أفضل؟

الجواب هنا يعود لسببين رئيسين:

الأول: هو تنظيم توضع الترانزستورات في الشرائح الجديده للمعالجات بحيث تدعم الأداء المتعدد للعمليات بنفس الوقت.

الثاني: التطبيقات التفرعيه (الأكواد البرمجية).

تشارك هذين السببين وفر علينا حتما ثنائية الكلفة والطاقة.

لغات برمجة تتعامل مع كروت الشاشة تاريخيا:

بعد عقود من العمل وبعد أن أصبحت وحدات المعالجة الرسومية GPU سريعه كفاية تم الوصول إلى RTSL Real Time Shading Language وهي لغه برمجه تعمل على وحدات المعالجة الرسومية GPU.

كنت دوما على يقين بأن وحدات المعالجة الرسوميةGPU سيكون له استخدامات اكثر من الغرافيك وهذا تماما ماحصل ما أدى أخير إلى ظهور GPGPU وهو استخدام وحدات المعالجة الرسومية للأغراض العامة.

Ian Buck خريج ستانفورد طور CUDA وهي لغه برمجة تعمل على منصات NVIDIA يمكننا أن نتحدث باختصار عن كودا بأنها انشأت بيئة عمل للحوسبة باستخدام وحدات المعالجة الرسومية GPU.

لماذا OpenCL؟

OpenCL Open Computing Language تشكل امتداد منطقي لأفكار الحوسبة باستخدام وحدات المعالجة الرسومية GPU تم تصميمها بعنايه من قبل مجموعه KHRONOS. المميز بها هو أن تنفيذها يكون ممكنا على طيف واسع من الهاردوير CPU, GPU, NVIDIA, AMD, Intel وحتى المنصات من نوع DSPs و FPGAs.

أهم ما يميز OpenCl هو اتباع المعايير مما يتيح لهاهذا الاستخدام الواسع كما أسلفنا اضافه إلى الدعم الواسع من مستخدميها ومطوريها.

————————————————————————-

بات هانراهان

جامعه ستانفورد

المصدر OpenCL Programing Guide

إلى اللقاء مع كيفية كتابة الكود البرمجي باستخدام OpenCL