ZLUDA: اجرای برنامههای CUDA روی کارت گرافیک AMD
خلاصهٔ کاملتر
طبق این مطلب، ZLUDA یه لایهٔ ترجمهست که بین برنامههای CUDA و کارت گرافیک قرار میگیره و فراخوانیهای CUDA رو به معادلهای AMD تبدیل میکنه، مثلاً cuBLAS رو به rocBLAS. این یعنی یه برنامهٔ نوشتهشده برای انویدیا میتونه بدون بازنویسی روی کارت AMD اجرا بشه. این موضوع مهمه چون تقریباً کل اکوسیستم نرمافزار هوشمصنوعی، از آموزش مدل تا inference (یعنی اجرای مدل برای گرفتن خروجی)، روی CUDA ساخته شده و فقط با کارتهای انویدیا کار میکنه.
یه پروژهٔ جدید توی گیتهاب به اسم «CUDA for AMD on Windows»، که یه توسعهدهنده با نام «speed» ساختهش، ZLUDA رو همراه با HIP SDK و ROCm (نرمافزارهای خود AMD) توی یه نصب یکپارچه روی ویندوز جمع کرده. این پروژه تکنیک ترجمهٔ جدیدی نداره؛ کاری که کرده اینه که یه نصب دستی و شکننده رو تبدیل کرده به یه اسکریپت نصب خودکار، چون ZLUDA همیشه روی لینوکس پایدارتر از ویندوز بوده.
تنها عدد عملکردی که نویسنده گزارش کرده مربوط به یه تست آموزش تقویتیه که فقط حدود ۳٪ کندتر از اجرای مستقیم روی انویدیا بوده؛ ولی این فقط یه تست روی یه کارت و یه وظیفهست، نه یه بنچمارک کامل. محدودیتها هم زیادن: فقط کارت RX 9060 XT تست و تأیید شده، نسخهٔ پایدار HIP SDK از cuDNN (یعنی کتابخونهٔ سریعسازی شبکههای کانولوشنی) پشتیبانی نمیکنه، و چیزهایی مثل NCCL برای چند-کارتگرافیکی یا TensorRT اصلاً کار نمیکنن.
نویسنده به تاریخچهٔ پرفشار ZLUDA هم اشاره میکنه: این پروژه از ۲۰۲۰ برای اینتل شروع شد، بعد AMD چند سال حمایتش رو مالی کرد، ولی در ۲۰۲۴ حمایتش رو قطع کرد و طبق ادعای پروژه، تیم حقوقی AMD خواست کدهای ساختهشده با بودجهٔ خودشون حذف بشه. توسعهدهنده پروژه رو از یه نسخهٔ قدیمیتر و بدونمشکل بازسازی کرد و یه حامی مالی دیگه هم گرفت که اون هم دیگه تمومه؛ الان ZLUDA دوباره یه پروژهٔ انفرادی و در زمان آزاده.
نکات کلیدی:
- ZLUDA فراخوانیهای CUDA رو به معادل AMD (مثل rocBLAS) ترجمه میکنه
- پروژه «CUDA for AMD on Windows» نصب ZLUDA + HIP SDK + ROCm رو روی ویندوز خودکار کرده
- تنها تست عملکرد: حدود ۳٪ کندتر از اجرای مستقیم روی انویدیا
- فقط کارت RX 9060 XT تأیید شده؛ cuDNN، NCCL و TensorRT هنوز پشتیبانی نمیشن
- ZLUDA از ۲۰۲۰ چند بار حمایت مالی گرفته و از دستش داده و الان یه پروژهٔ انفرادیه




