أصدرت NVIDIA الإصدار 13.3 من CUDA، وهو إصدار يُقدّم البرمجة القائمة على البلاطات (tile-based) لوحدات معالجة الرسوميات (GPU) مباشرةً في لغة C++. يهدف هذا التحديث إلى تحسين استخدام أنوية التنسور (Tensor Cores) مع تقليل تعقيد كتابة النوى (kernels).
كيف تعمل البرمجة القائمة على البلاطات
تقسم البرمجة القائمة على البلاطات العملية الحسابية إلى كتل صغيرة ثابتة الحجم تُسمى بلاطات (tiles). تتطابق هذه البلاطات مع أنماط تدفق البيانات الداخلية لوحدة معالجة الرسوميات، مما يُسهّل إبقاء الأجهزة مشغولة. في الإصدارات السابقة من CUDA، كان على المطورين إدارة هذا التطابق بأنفسهم. أما الآن فيتولى المترجم (compiler) هذه المهمة، على الأقل بالنسبة للعديد من الأنماط الشائعة.
أنوية التنسور هي أجهزة متخصصة داخل وحدات معالجة الرسوميات من NVIDIA تُسرّع عمليات ضرب المصفوفات وجمعها. وهي أساسية لتدريب نماذج الذكاء الاصطناعي والاستدلال. لكن الحصول على أقصى أداء منها كان يتطلب غالباً ضبطاً يدوياً معقداً. يعمل تجريد البلاطات (tile abstraction) في CUDA 13.3 على تقسيم عمليات المصفوفات تلقائياً إلى بلاطات بحيث تستخدم أنوية التنسور بشكل أكثر تكراراً. يكتب المطورون كوداً أبسط ويحصلون على إنتاجية جيدة.
تطوير النوى يصبح أبسط
من أكبر نقاط الألم في برمجة وحدات معالجة الرسوميات إدارة الخيوط (threads) والذاكرة المشتركة (shared memory) والمزامنة (synchronization). يلخص النموذج الجديد القائم على البلاطات هذه التفاصيل بعيداً. بدلاً من كتابة نواة تُنشئ آلاف الخيوط وتنسق وصولها إلى الذاكرة المشتركة، يمكن للمبرمج التعبير عن العملية الحسابية كعمليات على البلاطات. ثم يقوم مترجم CUDA بتعيين تلك البلاطات إلى الأجهزة الأساسية. من شأن ذلك تقليل الأخطاء وتسريع التطوير، خاصةً للفرق الجديدة في مجال الحوسبة باستخدام وحدات معالجة الرسوميات.
التوفر
يتوفر CUDA 13.3 الآن للتحميل من موقع المطورين الخاص بـ NVIDIA. وهو يدعم جميع بنى وحدات معالجة الرسوميات الحالية من NVIDIA، بما في ذلك سلسلتي Hopper وBlackwell. يمكن للمطورين البدء فوراً في تجربة واجهة برمجة التطبيقات (API) القائمة على البلاطات.
لا يُهمل هذا التحديث الأساليب القديمة، لكنه يُحدد مساراً افتراضياً جديداً لكتابة كود فعال لوحدات معالجة الرسوميات. يعتمد مدى سرعة تبنّي المجتمع الأوسع له على مدى جودة تعيين المترجم لعمليات البلاطات على الأجهزة الحقيقية — وما إذا كان الأداء يضاهي النوى المضبوطة يدوياً في أعباء العمل الحرجة.


