تفاوت SCALE با سایر ابزارها
برخلاف ابزارهایی مانند HIPIFY یا SYCLomatic که کدهای CUDA را به زبانهای دیگر تبدیل میکنند، SCALE یک کامپایلر مستقل است که کدهای CUDA را مستقیماً برای سختافزار مقصد دوباره کامپایل میکند. به گفته Spectral، این رویکرد مشابه کامپایلرهای پردازندههای مرکزی است. این روش امکان اجرای یک کد روی معماریهای مختلف را فراهم میکند و تفاوت عملکرد بیشتر به سختافزار وابسته است.
ادعای عملکرد بهتر SCALE نسبت به ابزارهای AMD
بر اساس گزارش techspot، حدود ۸۰ درصد کدهای مورد استفاده در حوزه HPC با CUDA نوشته شدهاند. از همین رو این شرکت بهجای تلاش برای جایگزینی CUDA، تمرکز خود را بر اجرای آن روی پلتفرمهای مختلف گذاشته است.
این شرکت میگوید کامپایلر SCALE محدودیتهای ابزارهای فعلی را ندارد. برای مثال، HIPIFY شرکت AMD کدهای CUDA را به ++C مخصوص پلتفرم ROCm تبدیل میکند. اما از برخی قابلیتهای سطح پایین مانند PTX بهطور کامل بهره نمیبرد.
ابزار SYCLomatic اینتل نیز تنها حدود ۹۰ درصد کدها را بهصورت خودکار منتقل میکند و مابقی نیازمند اصلاح دستی است. ابزارهایی مانند ZLUDA هم در سطح فایلهای باینری فعالیت میکنند که میتواند روی عملکرد تأثیر منفی بگذارد.
عملکرد بهتر SCALE در بنچمارکها
Spectral اعلام کرده با کامپایل مجدد کد از سورس و مقایسه خروجی با کامپایلر رسمی NVCC، هم دقت حفظ میشود و هم کارایی افزایش مییابد. بنچمارکهای منتشرشده توسط این شرکت نشان میدهد SCALE در برخی سناریوها روی کارتهای گرافیک AMD تا نزدیک به ۶ برابر سریعتر از HIPIFY عمل کرده است.
در حال حاضر تمرکز اصلی Spectral روی سختافزارهای AMD است. اما این شرکت اعلام کرده قصد دارد در آینده از شتابدهندههای هوش مصنوعی بیشتری نیز پشتیبانی کند. همچنین توسعهدهندگان تأکید میکنند که SCALE همچنان از GPUهای انویدیا نیز پشتیبانی میکند. حتی روی این سختافزارها نیز امکان بهبود عملکرد از طریق بهینهسازی فرآیند کامپایل وجود دارد.
اولین دیدگاه را ثبت کنید