إصدار PoCL 3.1 مع تطبيق مستقل لمعيار OpenCL

تم تقديم إصدار لمشروع PoCL 3.1 (لغة الحوسبة المحمولة OpenCL)، والذي يطور تنفيذ معيار OpenCL المستقل عن الشركات المصنعة لمسرعات الرسومات ويسمح باستخدام واجهات خلفية مختلفة لتنفيذ نواة OpenCL على أنواع مختلفة من الرسومات والمركزية معالجات. يتم توزيع رمز المشروع بموجب ترخيص MIT. يدعم العمل على الأنظمة الأساسية X86_64، وMIPS32، وARM v7، وAMD HSA APU، وNVIDIA GPU والعديد من معالجات ASIP (معالج مجموعة التعليمات الخاصة بالتطبيقات) ومعالجات TTA (بنية تشغيل النقل) ذات بنية VLIW.

يعتمد تنفيذ مترجم kernel OpenCL على LLVM، ويتم استخدام Clang كواجهة أمامية لـ OpenCL C. لضمان قابلية النقل والأداء المناسبين، يمكن لمترجم OpenCL kernel إنشاء وظائف مجمعة يمكنها استخدام موارد الأجهزة المختلفة لموازاة تنفيذ التعليمات البرمجية، مثل VLIW، وsuperscalar، وSIMD، وSIMT، ومتعدد النواة ومتعدد الخيوط. يوجد دعم لبرامج تشغيل ICD (برنامج تشغيل العميل القابل للتثبيت). هناك واجهات خلفية لدعم التشغيل عبر وحدة المعالجة المركزية (CPU)، وASIP (TCE/TTA)، ووحدة معالجة الرسومات (GPU) المستندة إلى بنية HSA ووحدة معالجة الرسومات NVIDIA (عبر libcuda).

новой версии:

  • تمت إضافة دعم لـ Clang/LLVM 15.0.
  • تحسين كبير في دعم التمثيل المتوسط ​​لـ SPIR-V Shader لبرامج تشغيل وحدة المعالجة المركزية (CPU) وCUDA.
  • تمت إعادة تصميم برنامج التشغيل للأجهزة المتخصصة (CL_DEVICE_TYPE_ACCELERATOR) والأجهزة المخصصة (CL_DEVICE_TYPE_CUSTOM) التي لا تدعم الترجمة عبر الإنترنت بشكل ملحوظ. تم دمج برامج تشغيل Accel و tasim في برنامج تشغيل AlmaIF الجديد.
  • يستمر العمل على برنامج تشغيل واجهة برمجة تطبيقات الرسومات Vulkan.
  • يُقترح تنفيذ أساسي لامتداد cl_khr_command_buffer، والذي يسمح لك بكتابة سلسلة من أوامر OpenCL للتنفيذ في مكالمة واحدة.

المصدر: opennet.ru

إضافة تعليق