تم بالفعل إصدار المواصفات النهائية لـ OpenCL 3.0

قبل بضعة أشهر شاركنا هنا في المدونة أخبار إصدار تطوير OpenCL 3.0 بواسطة قلق خرونوس (مسؤول عن تطوير المواصفات لعائلة OpenGL و Vulkan و OpenCL).

وكان ذلك حتى وقت قريب الإعلان عن إطلاق مواصفات OpenCL 3.0 النهائية، وتحديد واجهات برمجة التطبيقات وإضافات لغة C لتنظيم الحوسبة المتوازية متعددة المنصات باستخدام وحدات المعالجة المركزية متعددة النواة ووحدات معالجة الرسومات و FPGA و DSP والرقائق المتخصصة الأخرى من تلك المستخدمة في أجهزة الكمبيوتر العملاقة والخوادم السحابية إلى الشرائح التي يمكن العثور عليها في الأجهزة المحمولة والتكنولوجيا المتكاملة.

في الوقت نفسه ، تم إصدار OpenCL SDK مفتوح المصدر مع أدوات وأمثلة وتوثيق وملفات رأس وروابط لمكتبات C ++ و C لتطوير تطبيقات متوافقة مع OpenCL 3.0.

يتم أيضًا تقديم التنفيذ الأولي لـ OpenCL 3.0 استنادًا إلى مترجم Clang ، التي هي في مرحلة مراجعة الأقران لإدراجها في حزمة LLVM الرئيسية. ساهمت شركات مثل IBM و NVIDIA و Intel و AMD و Apple و ARM و Electronic Arts و Qualcomm و Texas Instruments و Toshiba في هذا المعيار.

اليوم ، يسر مجموعة عمل Khronos® OpenCL ™ أن تعلن عن إصدار مواصفات OpenCL 3.0 النهائية ، بما في ذلك مواصفات لغة OpenCL C 3.0 الموحدة الجديدة ، إلى جانب الإصدار الأولي المبكر من Khronos OpenCL SDK للسماح للمطورين بالاستيقاظ بسرعة تسريع OpenCL.

OpenCL 3.0 الميزات الرئيسية

OpenCL 3.0 API الآن يغطي جميع إصدارات OpenCL (1.2 ، 2.x) ، دون تقديم مواصفات منفصلة لكل إصدار.

يوفر OpenCL 3.0 القدرة على توسيع الوظائف الأساسية من خلال دمج المواصفات الإضافية التي ستتداخل في شكل خيارات دون حجب الطبيعة المتجانسة لـ OpenCL 1.2 / 2.X.

فقط الوظائف التي تلبي تم إعلان OpenCL 1.2 إلزاميًا، وجميع الميزات المقترحة في تسمى مواصفات OpenCL 2.x الاختيارية.

سيعمل هذا النهج على تبسيط إنشاء تطبيقات متخصصة متوافقة مع OpenCL 3.0 وسيوسع نطاق الأجهزة التي يمكن استخدام OpenCL 3.0 عليها.

على سبيل المثال يمكن للشركات المصنّعة تنفيذ دعم OpenCL 3.0 دون تنفيذ ميزات OpenCL 2.x محددة. للوصول إلى وظائف اللغة الاختيارية ، تمت إضافة نظام طلب اختبار إلى OpenCL 3.0 لتقييم الدعم لعناصر واجهة برمجة التطبيقات الفردية ، بالإضافة إلى وحدات الماكرو الخاصة.

يسهّل التوحيد مع المواصفات التي تم إصدارها مسبقًا ترجمة التطبيقات إلى OpenCL 3.0. ستكون تطبيقات OpenCL 1.2 قادرة على العمل على الأجهزة التي تدعم OpenCL 3.0 دون تعديل.

تطبيقات لا يتطلب OpenCL 2.x أيضًا تغييرات في التعليمات البرمجية ، ولكن إذا كانت بيئة OpenCL 3.0 توفر الوظائف الضرورية (لقابلية النقل في المستقبل ، يتم تشجيع تطبيقات OpenCL 2.x على إضافة استعلامات اختبار لتقييم التوافق مع ميزات OpenCL 2.x المستخدمة).

يمكن لمطوري برامج التشغيل الذين يستخدمون تطبيقات OpenCL ترقية منتجاتهم بسهولة إلى OpenCL 3.0 عن طريق إضافة معالجة الطلب فقط لبعض مكالمات API وزيادة الوظائف تدريجياً بمرور الوقت.

تمت محاذاة مواصفات OpenCL 3.0 مع البيئة والإضافات والمواصفات من المتوسط ​​العام Sشرطة التدخل السريع-V، والذي يستخدم أيضًا في Vulkan API. تم تضمين دعم مواصفات SPIR-V 1.3 في OpenCL 3.0 الرئيسي كميزة اختيارية. تمت إضافة دعم العمليات مع المجموعات الفرعية باستخدام التمثيل الوسيط SPIR-V للنوى الحاسوبية.

إلى جانب ذلك إضافة دعم لتمديد لأداء عمليات DMA غير متزامن مدعوم على رقائق DMA التي تشبه DSP.

يتيح DMA غير المتزامن إمكانية استخدام معاملات DMA لنقل البيانات بين الذاكرة العالمية والمحلية بشكل غير متزامن ، بالتوازي مع العمليات الحسابية الجارية أو عمليات نقل البيانات الأخرى.

مواصفات ملحقات البرمجة المتوازية للغة تم تحديث C إلى الإصدار 3.0 وتوقف تطوير امتدادات لغة OpenCL لـ C ++ لصالح مشروع "C ++ for OpenCL".

لترجمة OpenCL من خلال Vulkan API ، تم اقتراح مترجم clspv ، الذي يحول نواة OpenCL إلى تمثيل Vulkan SPIR-V ، وطبقة clvk لضمان عمل OpenCL API فوق Vulkan.

مصدر: https://www.khronos.org/


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: AB Internet Networks 2008 SL
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.