قدمت شركة NVIDIA برنامج CUDA Rust لتطوير نواة وحدة معالجة الرسومات (GPU) بلغة Rust.

أعلنت NVIDIA عن تطوير مجموعة أدوات CUDA Rust، التي تُمكّن لغة Rust من تطوير نواة تعمل على وحدة معالجة الرسومات (GPU). تضمن هذه المجموعة سلامة الذاكرة أثناء عملية الترجمة وتمنع حدوث حالات التزامن غير المتوقعة. من المخطط تطوير CUDA Rust العام المقبل إلى مستوى مناسب لمشاريع الإنتاج، على غرار مجموعتي أدوات CUDA C++ وCUDA Python.

تدعم مجموعة أدوات CUDA Rust نموذجين لتطوير النوى المتوازية: SIMT (تعليمات واحدة، خيوط متعددة) وTile. يتيح نموذج SIMT تعريف خيط واحد على مستوى منخفض، وإطلاق وإدارة آلاف الخيوط. أما نموذج Tile فيوفر مستوى أعلى من التجريد، حيث يتم تعريف خوارزميات للعمل على كتل البيانات (البلاطات) بدلاً من إدارة الخيوط الفردية بشكل صريح، ويتولى مُصرّف Tile IR جميع عمليات معالجة الخيوط، ومزامنة الوصول، وإدارة الذاكرة، وتوزيع البيانات عبر نوى Tensor.

لتطوير البرامج بلغة Rust باستخدام نموذج SIMT، يجري تطوير مُصرّف cuda-oxide، الذي يسمح بتجميع التعليمات البرمجية بلغة Rust، باستخدام نظام الأنواع القياسي ونموذج ملكية Rust، مباشرةً إلى تعليمات للتنفيذ في آلة افتراضية CUDA PTX (تنفيذ الخيوط المتوازية). تُكتب نوى وحدة معالجة الرسومات بلغة Rust العادية، ولكنها تعمل في بيئة no_std ولا يمكنها استخدام سوى الوظائف من مكتبة libcore وتجريدات Rust المتخصصة، دون الوصول إلى مكتبة Rust القياسية (libstd).

تتيح نواة CUDA المكتوبة بلغة Rust استخدام حماية الأنواع (safe)، واستخدام الكتل غير الآمنة، والوصول إلى تعليمات الأجهزة منخفضة المستوى. ولضمان السلامة، يُقترح نوع DisjointSlice، الذي يضمن لكل خيط وصولًا حصريًا إلى بياناته الخاصة فقط. يخضع كود cuda-oxide لترخيص Apache 2.0.

لتطبيق نموذج الذيل، تُقترح مكتبة cutile-rs. تُمكّن هذه المكتبة من استخدام لغة Rust لإنشاء شيفرة تُترجم مباشرةً إلى نواة CUDA. تُطبّق cutile-rs قواعد الملكية والاستعارة الصارمة في Rust على الشيفرة التي تعمل على وحدة معالجة الرسومات (GPU). تُنفّذ النواة كبرنامج أحادي الخيوط يعمل على كتلة بيانات، ويقوم المُترجم تلقائيًا بتقسيم الحساب إلى خيوط ويضمن تزامنها. تُمنح الخيوط وصولًا مشتركًا إلى الموترات غير القابلة للتغيير، بينما تُقسّم الموترات القابلة للتغيير إلى كتل منفصلة لضمان الوصول الآمن. تُوزّع شيفرة cutile-rs بموجب ترخيص Apache 2.0.

المصدر: opennet.ru

شراء استضافة موثوقة للمواقع مع حماية DDoS وخوادم VPS VDS 🔥 اشترِ استضافة مواقع ويب موثوقة مع حماية من هجمات DDoS، وخوادم VPS وVDS | ProHoster