برمجة وحدة معالجة الرسومات باستخدام زيغ: نهج حديث
كانت برمجة وحدة معالجة الرسومات تعني سابقًا التعامل مع مترجمي لغة C++، وواجهات برمجة التطبيقات المتضخمة، وسلاسل الأدوات الخاصة بالموردين. هذا يتغير. يمكنك الآن كتابة رمز وحدة معالجة الرسومات بلغات حديثة مثل Rust وZig مع عدد أقل من طبقات التجريد. تستكشف هذه المقالة الحالة الحالية لخلفية وحدة معالجة الرسومات في Zig وكيفية أدائها عبر Vulkan وOpenCL و ISAs الأصلية. يدعم Zig SPIR-V وPTX وAMDGCN، مما يسمح بتوليد ثنائيات أصلية قابلة للتحميل في وقت التشغيل، مما يلغي الحاجة إلى CUDA أو HIP أو HLSL. على الرغم من أن Vulkan وOpenCL هما البيئتان الرئيسيتان لـ SPIR-V، إلا أن الاختلافات بينهما تؤثر على معدلات نجاح اختبارات سلوك الخلفية SPIR-V لـ Zig. تشمل الخطط المستقبلية نضج الخلفية SPIR-V، وتوفير روابط وقت تشغيل CUDA/HIP، وإضافة المزيد من خوارزميات وحدة معالجة الرسومات إلى مكتبة اللغة القياسية.