اگر هنوز برای نوشتن هستههای GPU به C++ متکی هستید، در واقع ریسکهای امنیتی حافظه را میپذیرید که دیگر اجباری نیستند. تصور کنید بتوانید قدرت سختافزاری Blackwell را بدون ترس از خطاهای رایج مدیریت حافظه در C++ و بدون درگیر شدن با پیچیدگیهای FFI به کار بگیرید.
به نقل از مستندات پروژه در Marktechpost، انویدیا ابزار cuda-oxide را معرفی کرده است؛ یک کامپایلر آزمایشی که اجازه میدهد هستههای SIMT در محیط بومی Rust نوشته شوند. این ابزار در تستهای اولیه روی پردازنده B200 به قدرت پردازشی ۸۶۸ TFLOPS دست یافته که معادل ۵۸٪ از حداکثر عملکرد نظری cuBLAS است.
همانطور که در تحلیلهای پیشین ما دربارهی امنیت زیرساختهای محاسباتی اشاره کردیم، حذف لایههای واسط شکننده، کلید پایداری در مقیاس است. برای سالها، برنامهنویسان GPU بین قدرت خام C++ و انتزاع ابزارهایی مانند Triton (مبتنی بر پایتون)e گیر کرده بودند. اما cuda-oxide با تمرکز بر «آوردن CUDA به درون Rust»، مدل اجرای SIMT را بهطور بومی در Rust ایمن پیادهسازی میکند. این حرکت به سوی سادهسازی و ایمنسازی توسعهی کرنلها، یادآور تلاشهای انویدیا در پروژهی TileGym برای خودکارسازی ترجمهی کرنلهای GPU است تا پیچیدگیهای دستی در سطح سختافزار را کاهش دهد.

بر اساس مستندات فنی، خط لوله کامپایل این ابزار از یک بکاند سفارشی rustc استفاده میکند که مراحل زیر را طی میکند:
- تبدیل کد منبع به Stable MIR
- انتقال به Pliron (یک چارچوب مشابه MLIR اما بومی Rust)
- تبدیل به LLVM IR و در نهایت خروجی PTX (Parallel Thread Execution)
مشخصات کلیدی این سیستم عبارتند از:
- الزام استفاده از LLVM 21+ برای پشتیبانی از ویژگیهای Blackwell (sm_100a) مانند TMA و WGMMA.
- مدل ایمنی سهلایه که در سطح اول (Tier 1)، از طریق
DisjointSlice<T>وThreadIndexجلوی Race Condition در نوشتن دادهها را میگیرد. - امکان coexistence کد میزبان (Host) و دستگاه (Device) در یک فایل
.rsواحد.
تحلیل ما نشان میدهد که انویدیا با استفاده از Pliron، نیاز به زنجیره ابزار C++ یا CMake را در مراحل میانی کامپایل حذف کرده است. این یعنی کل فرآیند ساخت اکنون از طریق Cargo مدیریت میشود و «مالیات ایمنی» (Safety Tax) زبان Rust در برنامهنویسی GPU عملاً حذف شده است.
گام بعدی شما
- بررسی نمونه کد
tcgen05در گیتهاب برای مشاهده نحوه هدفگذاری هستههای تنسور Blackwell. - دنبال کردن اصلاحیه مربوط به پیادهسازی
index_2d(stride)که در نسخه v0.1.0 ناپایدار است. - ارزیابی جایگزینی بخشهای حساس به حافظه در پروژههای CUDA فعلی با ماژولهای Rust.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی معماری تراشههای Blackwell مراجعه کنید.




گفتگو