KPETOB.COM

كريتوف نيكولاي نيكولاييفيتش: مقدمة في OpenCL

التطوير بقيادة مجموعة Khronos سيئة السمعة. الشخص الذي يروج لـ OpenGl و OpenAL. علاوة على ذلك ، فإن OpenGL و OpenCL ينتميان أساسًا إلى نفس البنية التحتية للبرامج ويمكنهما التفاعل عن كثب.

جوهر الفكرة هو أننا لا نهتم على الإطلاق - المعالج الموجود أمامنا أو بطاقة الفيديو. نحن نستخلص من النظام الأساسي على هذا النحو ونعتبر أن لدينا أجهزة حوسبة N. OpenCL كمعيار يصف قواعد الحوسبة على هذه الأجهزة. وبالتالي ، نحصل على رمز واحد يمكن نقله تمامًا إلى أي نظام أساسي. AMD أو Intel لديك معالج أو بطاقة فيديو nVidia أو ATI أو خادم Blade مع مراكز خلوية - لا يهم على الإطلاق. سيعمل التطبيق في أي مكان تدعم فيه الأجهزة معيار OpenCL.

من الجدير بالذكر أننا نتحدث عن الحوسبة المتوازية حول تعليمات SIMD.

OpenCL هو امتداد للغة C. لدينا تطبيق مضيف وتطبيق OpenCL. يقوم المضيف بإعداد مجموعة من الأجهزة المتاحة للاستخدام ويمرر المهمة إلى جزء OpenCL للتنفيذ. بعد ذلك ، يفي OpenCL بالنتيجة ويعيدها إلى المضيف.

يتم تخزين كود OpenCL في ملفات * .cl ويتم تجميعه في وقت التشغيل لبنية معينة. هذا يضمن قابلية التطبيق.

خطت Apple خطوة أخرى إلى الأمام من خلال إطلاق دعم على مستوى النواة لـ OpenCL في نظام التشغيل Snow Leopard ، محققة مكاسب كبيرة في الأداء.

ما هو المطلوب؟

OpenCL يأكل خوارزميات SIMD جيدًا. هذا ما خلق من أجله. وهذا عبارة عن تشفير مختلف ، وتأثيرات ما بعد المعالجة المختلفة ، ومعالجة الصوت ونماذج رياضية متنوعة ، وترميز الفيديو.

للمطورين

في الوقت الحالي ، تتوفر إصدارات من nVidia OpenCL SDK و AMD OpenCL SDK. يمكنك دائمًا تنزيلها من المواقع الرسمية لهذه الشركات.

في المقالات المستقبلية ، سأخبرك بكيفية استخدام هذه التكنولوجيا عمليًا في تطبيقاتك الخاصة.