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

تم تقديم إصدار لمشروع PoCL 3.0 (لغة الحوسبة المحمولة 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).

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

  • تم تنفيذ الحد الأدنى من الميزات المطلوبة لدعم مواصفات OpenCL 3.0. يتوفر دعم OpenCL 3.0 حاليًا فقط على الواجهات الخلفية المستندة إلى وحدة المعالجة المركزية مع LLVM 14 (توفر الواجهات الخلفية الأخرى والإصدارات الأقدم من LLVM دعمًا لـ OpenCL 1.2).
  • تمت إضافة دعم لـ Clang/LLVM 14.
  • تحسين التتبع والتصور.
  • تمت إضافة دعم لإنشاء مجموعات متخصصة من الوظائف وإدراجها في ملفات قابلة للتنفيذ باستخدام نواة OpenCL.

المصدر: opennet.ru

إضافة تعليق