HyperAIHyperAI

Command Palette

Search for a command to run...

تعزيز برمجة وحدات معالجة الرسومات عبر خلفية CUDA Tile IR لـ Triton من OpenAI

NVIDIA وOpenAI يتعاونان لتعزيز برمجة وحدات معالجة الرسومات (GPU) من خلال دمج "CUDA Tile" كخلفية لمنصة Triton المفتوحة المصدر. يُعد CUDA Tile نموذجًا برمجيًا جديدًا مدعومًا بـ NVIDIA، مُصممًا لتحسين الأداء على وحدات المعالجة العصبية (Tensor Cores) عبر دعم البرمجة القائمة على "اللوحة" (tile-based programming)، مما يتيح تعبيرًا أبسط عن العمليات الحسابية على كتل البيانات بدلاً من التعامل مع الخيوط الفردية كما في النموذج التقليدي SIMT. تم إطلاق CUDA Tile في CUDA 13.1، ويُبنى على مفهوم IR (Intermediate Representation) مبني على MLIR، يُعرف بـ CUDA Tile IR، الذي يُحدد بوضوح التمثيلات والعمليات والأنظمة النوعية للبرمجة على GPU. من جهته، يُعد Triton لغة برمجة عالية المستوى مبنية على Python، تُستخدم لكتابة خوارزميات تعلم الآلة على GPU، وتمتاز بدعمها للبرمجة المقسمة إلى لوحات (tiled computation)، مما يسهل على الباحثين دون خبرة في CUDA كتابة كود فعّال. حالياً، يُحوّل Triton الكود إلى كود PTX عبر مُترجم مبني على MLIR. لكن التكامل الجديد، المعروف بـ Triton-to-TileIR، يُعد جسرًا يسمح لـ Triton بكتابة الكود مباشرةً على CUDA Tile IR بدلًا من PTX، مما يحافظ على الطبقات العليا من التبسيط البرمجي ويُفعّل الاستفادة من الميزات الحديثة في المعمارية. التكامل ممكن لأن كلا النموذجين يشتركان في الفلسفة الأساسية: العمل على مستوى "اللوحات" بدلاً من الخيوط. هذا يسمح بتحويل الكود مباشرة من مستويات التفكير عالية المستوى إلى IR المدعوم باللوحة، دون فقدان الأداء أو الحاجة لإعادة كتابة الكود. يُمكن للمستخدمين اختيار الخلفية (PTX أو Tile IR) لكل كيرنل على حدة عبر متغير بيئة، مما يتيح تجربة تدريجية ومتعددة التوجهات. يُعتبر المشروع في مرحلة تطوير نشطة ضمن منظمة triton-lang، ويتم تطويره كمختبر تجريبي. تشمل مسارات العمل الرئيسية: بناء أنماط تحويل MLIR من Triton إلى CUDA Tile IR، وتطوير اختبارات شاملة للتحقق من الدقة، وbenchmarking الأداء مقارنةً بالكود المُولَّد من PTX، بالإضافة إلى التكامل مع المشاريع المفتوحة مثل Helion. رغم الإمكانات الواعدة، لا يزال المشروع في مراحله المبكرة، ويواجه بعض القيود، مثل عدم دعم بعض العمليات، ومشاكل أداء مؤقتة في نمط "المصفوفة من المؤشرات" (tensor-of-pointer)، الذي يُستخدم في بعض تطبيقات Triton. لكن الحل يكمن في استخدام واجهة TMA (Tensor Memory Accelerator) التي تسمح بتمرير معلومات التكوين (الحجم، التباعد، حجم اللوحة) مباشرة إلى وحدة التحميل، مما يُحسّن الأداء بشكل كبير ويُقلل الحاجة إلى التصدير المكاني للمؤشرات داخل الكيرنل. الخطوة التالية تتمثل في تطوير أدوات تحسين الأداء، وتوسيع دعم العمليات، وتحديث التوثيق. المشروع يُمثل تطورًا مهمًا في تقارب البرمجة عالية المستوى مع المعمارية المتقدمة، ويُعزز من قدرة الباحثين على كتابة كود فعّال دون معرفة عميقة بتفاصيل GPU، مما يُسهم في تعميم استخدام الأداء الأقصى في مشاريع الذكاء الاصطناعي.

الروابط ذات الصلة

تعزيز برمجة وحدات معالجة الرسومات عبر خلفية CUDA Tile IR لـ Triton من OpenAI | القصص الشائعة | HyperAI