پرش به محتوای اصلی
پرش به محتوای مقاله

چگونه cuda-oxide وابستگی هسته‌های GPU به C++ را با زبان Rust حذف می‌کند؟

·۲۰ اردیبهشت ۱۴۰۵۲ دقیقه مطالعه
چگونه cuda-oxide وابستگی هسته‌های GPU به C++ را با زبان Rust حذف می‌کند؟
اشتراک‌گذاری

اگر هنوز برای نوشتن هسته‌های 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 مراجعه کنید.

چرا این موضوع مهم است؟

این تحول با تکیه بر اعتبار فنی تیم پژوهشی انویدیا، استاندارد جدیدی برای «ایمنی حافظه» در محاسبات سطح بالا ایجاد می‌کند. حذف وابستگی به C++ به معنای کاهش چشمگیر باگ‌های Runtime در استقرار مدل‌های زاینده در مقیاس صنعتی است.

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.