شکست انحصار انویدیا با ساخت ابزار SCALE؛ اجرای کد CUDA روی سختافزار AMD
در یک خبر بد برای انویدیا، شرکت Spectral Compute ابزار جدیدی به نام SCALE را معرفی کرده است که امکان اجرای مستقیم برنامههای نوشتهشده بر پایه CUDA بر روی پردازندههای گرافیکی AMD بدون نیاز به تغییر کد را فراهم میکند. این ابزار میتواند بهصورت خودکار کدهای فعلی نوشتهشده برای CUDA را برای پردازندههای گرافیکی AMD کامپایل کند و فرآیند پُرت کردن نرمافزارهای توسعهیافته برای سختافزارهای Nvidia به سایر پلتفرمها را بدون نقض توافقنامهها، بسیار ساده میکند.
ابزار SCALE که توسط Spectral توسعه یافته، مشابه Nvidia CUDA Toolkit عمل میکند و هنگام کامپایل کد CUDA، کُد باینری قابلاجرا روی پردازندههای ساخت AMD را تولید میکند. یکی از مزایای مهم SCALE قابلیت جایگزینی با کامپایلر nvcc شرکت Nvidia است. بنابراین، برخلاف پروژههای دیگر که کد CUDA را به زبان دیگری ترجمه میکنند یا ملزم به انجام دستی برخی مراحل هستند، SCALE مستقیماً کدهای منبع CUDA را برای اجرا روی پردازندههای گرافیکی AMD کامپایل میکند.
اجرای کد نوشته شده بر پایه CUDA روی گرافیکهای AMD
SCALE از برخی از اجزای منبع باز LLVM استفاده میکند. این بسته نرمافزاری به دنبال ارائه یک راهحل یکپارچه و روانتر نسبت به ZLUDA است، که بهعنوان یک لایه مترجم، با ممنوعیت استفاده روبرو شده است. همچنین SCALE با تقلید ران تایم Nvidia CUDA Toolkit، پُرت کردن برنامههای بر پایه CUDA به سختافزار AMD را برای توسعهدهندگان آسانتر میکند.
SCALE تحت آزمایشهای گستردهای با انواع نرمافزارها از جمله Blender، Llama-cpp، XGboost، FAISS، GOMC، STDGPU، Hashcat و Nvidia Thrust قرار گرفته و نشان داده است که بهصورت پایدار و درست عمل میکند. این آزمایشها روی پردازندههای گرافیکی RDNA 2 و RDNA 3 انجام شده و آزمایشهای ابتدایی بر روی RDNA 1 و حتی توسعهها برای ریزمعماری Vega هم در جریان است. با این حال، توسعهدهندگان SCALE به پردازندههای گرافیکی مبتنی بر ریزمعماری CDNA شرکت AMD که در شتابدهندههای نسل جدید تیم سرخ مورد استفاده قرار میگیرد دسترسی نداشتهاند.
در همین رابطه بخوانید:
– اجرای برنامههای نوشته شده برای CUDA انویدیا بر روی سخت افزار AMD ممکن شد
– خودخواهی انویدیا اجرای CUDA روی سختافزارهای دیگر را از شما میگیرد
نبود پشتیبانی از پردازندههای مبتنی بر CDNA یک نقطه ضعف برای SCALE محسوب میشود، زیرا نرمافزارهای دیتاسنتر که با استفاده از CUDA طراحی شدهاند یا برای سختافزارهای سازگار با CUDA توسعه یافتهاند، در فضای پرشتاب هوش مصنوعی غالب هستند و بسیاری از توسعهدهندگان مایل به انتقال آسان برنامههای خود به پلتفرمهای رقیب و گسترش بازار هدف خود هستند.
بودجه توسعه SCALE توسط کسبوکار مشاورهای Spectral Compute تأمین شده و هیچ حمایت مالی از سوی AMD دریافت نکرده است. اگرچه این برنامه منبع باز نیست، اما نسخه رایگان هم دارد که میتواند برای کاربردهای تجاری استفاده شود.
منبع: https://www.shahrsakhtafzar.com/fa/news/graphic-card/51719-scale-tool-cuda-applications-run-amd-gpu