تصور کنید یک توسعهدهنده هستید که بودجه خرید کارتهای گرانقیمت انویدیا را ندارد، اما مجبور است کدهایی را اجرا کند که فقط برای CUDA نوشته شدهاند. حالا با یک لایه سازگاری جدید، کارت گرافیک Radeon RX 9060 XT میتواند دقیقاً همان دستوراتی را بفهمد که پیش از این مختص سختافزارهای انویدیا بود. آیا یک Radeon RX 9060 XT میتواند اپلیکیشنهای ویندوزی هدفگذاری شده برای CUDA را اجرا کند؟ از طریق یک پشته بازتولیدپذیر که ZLUDA و AMD ROCm/HIP را ترکیب میکند، پاسخ مثبت است. این یکپارچگی اجازه میدهد بارهای محاسباتی سنگین، از جمله مواردی که از LibTorch فعالشده با CUDA استفاده میکنند، روی سختافزار AMD اجرا شوند، حتی اگر این سختافزار بهصورت بومی از CUDA پشتیبانی نکند.
برای سالها، اکوسیستم هوش مصنوعی و محاسباتی پشت دیوار بسته و انحصاری CUDA انویدیا محبوس بود. اگرچه AMD پلتفرم ROCm را ارائه میدهد، اما تبدیل کدهای CUDA موجود به HIP معمولاً نیاز به تلاشهای دستی یا پیکربندیهای خاص محیطی داشت. همانطور که در تحلیلهای قبلی ما دربارهی بازارهای سختافزاری شتابدهندهها اشاره کردیم، این انحصار بزرگترین مانع رشد جایگزینهای انویدیا بود. پروژه ZLUDA این اصطکاک را با ایجاد یک لایه سازگاری که فراخوانهای CUDA را در لحظه (Real-time) به HIP ترجمه میکند، از بین میبرد.
جزئیات فنی و زیرساخت
بر اساس گزارش منتشر شده در ۱۳ سپتامبر ۲۰۲۶ در مخزن گیتهاب، این پشته مرجع از ZLUDA v6-preview.69، AMD HIP SDK 6.4 و LibTorch 2.3.0 + cu118 استفاده میکند. این تنظیمات بهطور خاص برای معماری gfx1200 در کارت RX 9060 XT بهینه شده است.
جریان کاری این سیستم از طریق یک زنجیره ترجمه خاص عمل میکند: یک اپلیکیشن ویندوزیِ هدفگذاری شده برای CUDA، ابتدا از ZLUDA عبور میکند. ZLUDA سازگاری با cuBLAS، cuSPARSE و cuFFT را مدیریت کرده و سپس آنها را به rocBLAS، hipBLASLt، rocSPARSE و HIP نگاشت میکند تا در نهایت روی واحد پردازش گرافیکی (GPU) اجرا شوند. این فرآیند شبیه به یک مترجم همزمان است که زبان دو کشور مختلف را به هم وصل میکند تا دستورات بدون تغییر در کد منبع اجرا شوند.
اعتبارسنجی و پوشش فنی
فرآیند اعتبارسنجی پروژه تأیید میکند که چندین مؤلفه حیاتی CUDA اکنون روی سختافزار AMD پاس میشوند:
- ابزارهای nvcuda، cuBLAS، cuBLASLt، cuSPARSE و cuFFT همگی تست
cuda_checkرا با موفقیت پشت سر گذاشتند. - یک شبکه بهینهسازی سیاست تقریبی (PPO) با ۲,۲۱۶,۳۴۷ پارامتر، استنتاج پیشرو (Forward Inference) و یادگیری بهینهساز را با موفقیت تکمیل کرد.
- یک تکرار اعتبارسنجی پاک (Clean Validation) در ۶۵,۵۳۶ گام زمانی با استفاده از محیط زمان اجرا (Runtime) ارائه شده، انجام شد.
با این حال، شکافهای قابلتوجهی در این پشته وجود دارد. cuDNN در SDK ویندوز HIP در دسترس نیست، زیرا این SDK پشته کامل کتابخانههای AI مربوط به ROCm (مانند MIOpen) را ارسال نمیکند. این بدان معناست که نرمافزارهای وابسته به کانولوشن (Convolution-heavy) احتمالاً همچنان با خطا مواجه میشوند. البته پروژه اشاره میکند که آموزشهای متراکم GEMM، مانند مورد PPO که اعتبارسنجی شد، میتوانند بدون نیاز به cuDNN به درستی عمل کنند.
استقرار و نصب
کاربران میتوانند این پشته را از طریق یک نصبکننده PowerShell (install.ps1) مستقر کنند که هدف gfx گرافیک را شناسایی کرده و نسخههای رسمی و پینشده ZLUDA را دانلود میکند. این فرآیند شامل مراحل دقیق زیر است:
- تأیید درایورهای AMD و نصب HIP SDK 6.4.
- دانلود LibTorch 2.3.0+cu118 که حجم آن تقریباً ۲.۶۶ گیگابایت است.
- تأیید هشهای SHA-256 برای تمام فایلهای دانلودی جهت اطمینان از سلامت دادهها.
- تولید فایلهای گزارش و پیکربندی شامل
.runtime\runtime-config.jsonو.runtime\gpu-report.json.
لانچر سیستم (run-zluda.ps1) فایلهای DLL سازگاری را در کنار اپلیکیشن هدف قرار داده و مسیرهای زمان اجرای ROCm را تنظیم میکند. برای کسانی که به فریمورکهای AI نیاز ندارند، نصبکننده از پرچم -SkipLibTorch پشتیبانی میکند تا حجم دانلود کاهش یابد.
تحلیل عملکرد و بنچمارک
در یک تست A/B کنترلشده در ۱۳ سپتامبر ۲۰۲۶، مسیر اصلی (Upstream) به میانگین ۱۳,۲۷۸ گام در ثانیه (SPS) در بار کاری PPO رسید. این عدد حدود ۳.۰۳٪ سریعتر از یک لایه پوششی سفارشی (Recovered Overlay) بود که نرخ ۱۲,۸۷۶ SPS را ثبت کرد.
اجراهای بهینهشده در گذشته با استفاده از پیکربندیهای مختلف آموزش، به توان عملیاتی بسیار بالاتری بین ۷۰ هزار تا ۱۰۹ هزار گام در ثانیه رسیدهاند. پروژه یک فایل manifests/recovered-artifacts.sha256 برای لایههای پوششی سفارشی تاریخی نگه میدارد، هرچند این موارد به دلیل منشأ نامشخص و وجود باینریهای شخص ثالث AMD، به صورت فایلهای باینری منتشر نشدهاند.
این تغییر، این فرض را که آموزش سطح بالای AI در ویندوز حتماً به سختافزار انویدیا نیاز دارد، به چالش میکشد. با فراهم کردن یک لایه سازگاری «جایگزین مستقیم» (Drop-in) برای LibTorch، مانع آزمایش معماری RDNA4 شرکت AMD برای توسعهدهندگان کمتر میشود. این پروژه در واقع RX 9060 XT را به یک جایگزین viable برای وظایف محاسباتی خاص CUDA تبدیل میکند.
محدودیتها و سازگاری
با وجود این پیشرفت، ZLUDA جایگزین کامل CUDA نیست. در حال حاضر فقط RX 9060 XT (gfx1200) اعتبارسنجی شده است و سایر کارتهای AMD کاندیدای تست هستند اما تضمینی برای کارکرد ندارند.
محدودیتهای کلیدی عبارتند از:
- عدم پشتیبانی از NCCL و TensorRT.
- رفتارهای پشتیبانینشده در PTX و شکست در برخی افزونههای سفارشی CUDA.
- استفاده از مقدار
ZLUDA_CC=8.6به عنوان یک مقدار سازگاری، که لزوماً معماری واقعی GPU ایامدی را نشان نمیدهد.
شما میتوانید گزارشهای کامل سازگاری و اسکریپتهای اسکنر GPU را در گیتهاب پروژه بررسی کنید تا ببینید آیا کارت گرافیک خاص شما کاندیدای مناسبی برای تست است یا خیر.
گام بعدی شما
- اگر کارت گرافیک سری RX 9000 دارید، مخزن گیتهاب پروژه را برای بررسی سازگاری مدل خود چک کنید.
- برای کاهش هزینههای سختافزاری در محیط توسعه ویندوز، تست اجرای LibTorch روی ZLUDA را جایگزین خرید GPUهای انویدیا کنید.
- محدودیتهای cuDNN را در نظر بگیرید و ابتدا مدلهای مبتنی بر GEMM را تست کنید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو