Tanpa sebarang pengubahsuaian atau penukaran, kad grafik AMD boleh menjalankan program CUDA asli!
Sebuah syarikat permulaan British telah melancarkan alat penyusunan program CUDA untuk AMD, yang percuma untuk kegunaan komersial.
Sebaik sahaja alat itu dikeluarkan, ia membangkitkan perbincangan hangat yang meluas di kalangan netizen dan mendahului senarai hangat HackerNews.
Alat ini dipanggil SCALE, dan pembangun meletakkannya sebagai kit alat pengaturcaraan GPGPU (GPU tujuan umum).
Pada masa ini, 9 program termasuk rangka kerja model besar llama-cpp telah lulus ujian dan berjalan seperti biasa.
Tidak seperti kaedah pelaksanaan lain, SCALE secara langsung mensimulasikan pemasangan kit alat CUDA, dan tidak perlu ditukar kepada bahasa lain untuk melengkapkan kompilasi daripada sumber.
Oleh itu, SCALE juga boleh menyediakan sokongan untuk bahasa perantaraan khusus NVIDIA seperti PTX sebaris.
Pengenalan laman web rasmi menunjukkan bahawa SCALE mempunyai tiga komponen utama - pengkompil nvcc yang serasi, pelaksanaan AMD bagi masa jalanan CUDA dan API pemacu, dan perpustakaan ROCm.
Pengkompil boleh terus menyusun atur cara yang ditulis dalam bahasa khusus CUDA termasuk nvcc, PTX sebaris, dsb. ke dalam kod binari yang boleh dijalankan pada GPU AMD.
Pustaka ROCm digunakan untuk menyediakan API "CUDA-X", yang digunakan oleh SKALA apabila berurusan dengan perpustakaan seperti cuBLAS dan cuSOLVER.
Inovasi utama SCALE ialah menerima program CUDA sebagaimana adanya tanpa perlu memindahkannya ke bahasa lain, dan serasi dengan pelbagai kaedah penyusunan seperti nvcc dan clang, manakala alat binaan dan skrip sedia ada (seperti cmake ) Ia berfungsi dengan baik.
Menurut kenyataan rasmi, SCALE serasi sepenuhnya dengan CUDA, menghapuskan keperluan untuk pembangun menulis kod berasingan untuk platform GPU yang berbeza.
Ini sangat berbeza daripada HIP yang dilancarkan oleh AMD, kerana HIP menulis semula kod CUDA dengan cara tertentu, mungkin tidak difahami dengan betul apabila menghadapi makro yang kompleks, dan tidak menyokong bahasa proprietari seperti PTX sebaris.
Malah penulis SKALA percaya HIP tidak dapat menyelesaikan masalah keserasian CUDA.
Selain itu, bahasa SCALE ialah superset CUDA, menyediakan beberapa sambungan bahasa pilihan yang boleh memudahkan dan lebih cekap bagi pembangun yang ingin menyingkirkan nvcc untuk menulis kod GPU.
Pengarang menyatakan harapan bahawa pada masa hadapan pembangun hanya boleh menulis kod sekali dan menjalankannya pada platform perkakasan yang berbeza, dan sedang berusaha untuk merapatkan jurang keserasian antara bahasa pengaturcaraan CUDA yang popular dan vendor perkakasan lain.
Pada masa ini, SCALE menyokong siri AMD GPU seperti berikut:
Sudah disokong: gfx1030 (siri RX6000) dan gfx1100 (siri RX7000)
"nampak berfungsi": gfx101001 (seri gfx5000) dan menyesuaikan diri dengan: gfx900 ( Siri RX Vega)
Selain itu, penulis menguji beberapa projek sumber terbuka CUDA dan berjaya menjalankan 9 aplikasi CUDA menggunakan SKALA.
Walau bagaimanapun, SCALE adalah projek yang serba baharu, jadi penulis juga telah menyediakan satu siri tutorial dari pemasangan hingga penyusunan, memberikan pelbagai jenis program sampel.
Langkah utama tutorial semuanya disertakan dengan kod yang berkaitan, malah termasuk cara menentukan model GPU anda sendiri, yang boleh dikatakan sangat terperinci.
Jika anda menghadapi masalah semasa penggunaan, pengarang juga memperkenalkan kaedah penyelesaian masalah biasa, dan juga membuka forum Discord untuk berkomunikasi secara langsung dengan pasukan pembangunan.
Permulaan yang mencipta SCALE dipanggil Spectral Compute Ia diasaskan di UK pada 2018. Ia mendakwa mempunyai pemahaman yang mendalam tentang seni bina CPU dan GPU, dan matlamatnya adalah untuk membantu pembangun menggunakan dengan cekap. sumber pengkomputeran.
Netizen: Cabar parit NVIDIA?
不過,現在下定論未免為時過早,畢竟 SCALE 官方也承認目前和原版 CUDA 相比還存在一些缺陷。
而且開發者也明確表示有一些 CUDA API 和功能並不被支持,但也沒有給出具體的列表。
關於「AMD 方案」的更多不足,一名自稱和 SCALE 團隊交流過的網友表示,目前的 SCALE 還無法操作 TensorCore,也就意味著 AMD 上跑不了 FlashAttention 加速框架。
另外由於 N 卡上有強大的矩陣乘法單元,所以即使能編譯運行,AMD 卡上的效能可能也不及 N 卡。
更有網友認為,英偉達一家獨大的原因是 AMD 不願意投資讓其 GPU 擁有更高的機器學習性能(而不只是擁有 CUDA 這一優勢)。
即便能夠高效運行,AMD 卡是否真的經濟實惠且容易取得,同樣是一個問題。
還有一波網友的觀點是,最大的問題不是技術上能不能運行,而是背後的法律問題。
這個問題同樣引發了廣泛的討論,不過目前也暫未有定論。
有人認為 SCALE 像 ZLUDA(另一種在 AMD 上運行 CUDA 程序的方式)一樣存在法律疑點,有可能招致英偉達的訴訟。
具體來說,根據英偉達的 EULA 條款,CUDA SDK 只允許開發在 N 卡上運行的應用程序,這可能禁止了類似 SCALE 這樣的兼容實現。
但立刻就又有網友說,SCALE 並沒有用到英偉達的“SDK”,何談 SDK 使用協定呢?
總之,無論是技術不足還是法律問題,對於這個新工具的討論都還在持續進行。
至於到底好不好用,這就要由開發者用腳投票了。
參考連結:
[1]https://docs.scale-lang.com/
[2]https://news.ycombinator.com/item?
本文來自微信公眾號:量子位元(ID:QbitAI),作者:克雷西
Atas ialah kandungan terperinci Syarikat permulaan mengeraskan Nvidia: meniru CUDA pada kad AMD, dan program asal boleh disusun dan dijalankan secara langsung. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!