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

تأییدیه ZLUDA: مدل‌های LibTorch بدون سخت‌افزار انویدیا روی ویندوز اجرا می‌شوند

·۲۲ شهریور ۱۴۰۵۴ دقیقه مطالعه
اجرای برنامه‌های ویندوزی CUDA روی GPUهای AMD با ZLUDA و ROCm/HIP
اجرای برنامه‌های ویندوزی CUDA روی GPUهای AMD با ZLUDA و ROCm/HIP
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

ایجاد یک پشته قابل بازتولید (Reproducible Stack) که اجازه می‌دهد اپلیکیشن‌های CUDA بدون تغییر کد، روی معماری RDNA4 ای‌ام‌دی در ویندوز اجرا شوند.

تصور کنید یک توسعه‌دهنده هستید که بودجه خرید کارت‌های گران‌قیمت انویدیا را ندارد، اما مجبور است کدهایی را اجرا کند که فقط برای 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 مراجعه کنید.

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

این دستاورد با تکیه بر تخصص در لایه‌های سازگاری نرم‌افزاری، وابستگی مطلق توسعه‌دهندگان ویندوز به انویدیا را می‌شکند. این موضوع باعث می‌شود سخت‌افزارهای AMD به جای مصرفی بودن، به ابزارهای واقعی تولید و آموزش AI تبدیل شوند.

تأثیر برای ایران

با توجه به قیمت بسیار بالای کارت‌های انویدیا در بازار ایران، این راهکار امکان استفاده از کارت‌های AMD ارزان‌تر را برای دانشجویان و پژوهشگران AI فراهم می‌کند.

·نگاه ما
تحریریه دات‌هوش

این پروژه نشان می‌دهد که انحصار انویدیا بیش از آنکه سخت‌افزاری باشد، نرم‌افزاری است. با تبدیل دستورات در لحظه، ZLUDA عملاً هزینه ورود به دنیای محاسبات AI را برای کاربران AMD کاهش می‌دهد. به نظر ما، این رویکرد «ترجمه» به جای «بازنویسی» کدها، سریع‌ترین راه برای شکستن هژمونی CUDA در محیط‌های توسعه است.

منابع

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

گفتگو

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

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

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

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

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

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

دات‌هوش

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

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