تحصل وحدات معالجة الرسومات NVIDIA على دعم SYCL بعد أن يساهم Codeplay في تطوير معيار DPC ++

المعدات / تحصل وحدات معالجة الرسومات NVIDIA على دعم SYCL بعد أن يساهم Codeplay في تطوير معيار DPC ++ 2 دقيقة للقراءة

نفيديا



بعد الحصول على الدعم من الشركات الرائدة مثل Intel و Xilinx و Renesas و Imagination Technologies و SYCL (يُنطق 'المنجل') ، سيتمكن المطورون الذين يستخدمون وحدات معالجة الرسومات NVIDIA الآن من الاستفادة أيضًا. لقد توجت Codeplay ، المنظمة التي كانت مساهمًا نشطًا في مجتمع SYCL ، بالتطور المتقدم لـ DPC ++ (Data Parallel C ++) ، والذي يسهل إعادة التدوير وإعادة استخدام الكود عبر العديد من منصات الأجهزة. والنتيجة هي ComputeCpp ، تطبيق Codeplay الخاص لـ SYCL .

يقدم أحدث إصدار من ComputeCpp دعمًا تجريبيًا لوحدات معالجة الرسومات NVIDIA باستخدام OpenCL و NVIDIA's PTX

في العام الماضي ، اتخذت إنتل خطوة حاسمة لإعطاء دفعة لـ SYCL ، وحتى بدأت العمل على معيار API واحد. يتضمن oneAPI DPC ++ (تطبيق SYCL مع الامتدادات) لوحدات المعالجة المركزية (CPU) ووحدات معالجة الرسومات (GPU) و FPGA من Intel. سرعان ما أصبحت الحركة كبيرة جدًا واكتسبت زخمًا بعد أن جاء دعم SYCL من Xilinx و Renesas و Imagination Technologies. ببساطة ، يمكن لمطوري البرامج الآن استهداف مجموعة واسعة من الأجهزة باستخدام SYCL.



يقدم ComputeCpp دعمًا تجريبيًا لوحدات معالجة الرسومات NVIDIA باستخدام OpenCL و NVIDIA's PTX. لكن DPC ++ (تطبيق Intel's SYCL) يوفر الفرصة لإضافة دعم كامل لوحدات معالجة الرسومات NVIDIA المدمجة في مترجم LLVM دون المرور عبر OpenCL. أعلنت شركة Codeplay أنها مفتوحة المصدر للمرحلة الأولية والتجريبية من تنفيذها والتي تمكن مطوري SYCL من استهداف وحدات معالجة الرسومات NVIDIA. يبقى الأساس البرمجي لهذا التنفيذ شوكة منفصلة من كل من مشروع مترجم LLVM الرئيسي وفرع DPC ++. وأضافت المنظمة أنها تعتزم العمل مع Intel للحصول على دعم NVIDIA GPU مضافًا إلى مترجم Intel / LLVM المنبع.

كيف يمكن للمطورين الاستفادة من دعم SYCL لوحدات معالجة الرسومات NVIDIA؟

يمكّن هذا المشروع المطورين من استهداف وحدات معالجة الرسومات NVIDIA باستخدام رمز SYCL ، دون الحاجة إلى المرور عبر طبقة OpenCL في النظام. بمعنى آخر ، باستخدام وحدة معالجة الرسومات NVIDIA فقط ، يمكن للمطورين تشغيل DPC ++ على نظامهم لتجميع تطبيقات SYCL. علاوة على ذلك ، يمكن نقل أي تطبيق CUDA موجود بشكل تدريجي إلى SYCL باستخدام دعم CUDA ، ثم تشغيله على نظام أساسي لا يحتوي على CUDA. من الواضح أن هذا يوفر الكثير من الوقت والجهود المتكررة.

قدمت Codeplay إرشادات حول ملف المشروع README لشرح كيفية استخدام الواجهة الخلفية لـ NVIDIA لـ DPC ++. يُطلب من المطورين استخدام بعض العلامات عند التجميع ، وبعض التعليمات البرمجية لإعداد محدد أجهزتهم للتأكد من أن وقت التشغيل يعرف الجهاز الذي يجب استهدافه. على وجه الخصوص ، القسم ' قم ببناء سلسلة أدوات SYCL مع دعم NVIDIA CUDA 'وخيارات برنامج التحويل البرمجي Clang تعليمات محددة .

أكد Codeplay أنهم أداروا المشروع بنجاح باستخدام Ubuntu 18.04 باستخدام CUDA 10.1 على وحدة معالجة الرسوميات Titan RTX (قدرات الحوسبة 7.5). يؤكد الفريق أنه يجب أن يعمل أيضًا على إصدارات Linux الأخرى مع أي وحدة معالجة رسومات NVIDIA متوافقة مع SM 5.0 أو أعلى. ومع ذلك ، لن يتمكن تطبيق SYCL المترجم إلا من استهداف CUDA أو OpenCL ، وليس كليهما في نفس الوقت.