İngiliz girişim Spectral Compute, NVIDIA’nın CUDA kodlarının AMD GPU’larda sorunsuz bir şekilde çalışmasını sağlayan bir GPGPU araç zinciri olan SCALE’i tanıttı.
Endüstri, NVIDIA’nın yazılım birikimine dayanan hakimiyetini kırmayı başardı
CUDA’nın NVIDIA’ya özgü durumunu kırmak için çeşitli yollar aranıyor. Daha önce açık kaynaklı bir taşıma projesi olan ZLUDA sayesinde AMD’nin ROCm araç seti kullanılarak CUDA kütüphaneleri dolaylı olarak AMD GPU’larda çalıştırılmıştı. SCALE ile AMD kullanıcıları için NVIDIA’nın CUDA yeteneklerinden yararlanan “hibrit” bir model oluşturan yeni bir rakip sahneye çıktı.
Kodu bir kez yazmanın ve herhangi bir donanım platformunda oluşturmanın/çalıştırmanın mümkün olması gerektiğine inanıyoruz. Bu, CPU kodları için uzun zamandır geçerli. Öyleyse neden GPU’lar için de olmasın? Popüler CUDA programlama dili ile diğer donanım sağlayıcıları arasındaki uyumluluk açığını kapatarak bu sorunu doğrudan çözmek istiyoruz. Tek kod tabanı, çok satıcı.– Spectral Compute CEO’su Michael Sondergaard
Spectral Compute’un CEO’su Michael Sondergaard, GPU’ların günümüz CPU’larına benzer şekilde açık kaynaklı bir ortama sahip olması ve çeşitli platformlar arasında birbirine bağlanabilirliğin olması gerektiğine inanıyor. SCALE’in CUDA ve NVIDIA (NVDA) dışındaki donanım satıcıları arasındaki uyumluluk boşluğunda bir köprü görevi gördüğüne ve piyasadaki sınırları ortadan kaldırdığını düşünüyor. Michael’a göre SCALE, NVIDIA’nın CUDA araç setine benzer bir GPGPU araç seti ve CUDA kodunu derlerken NVIDIA olmayan GPU’lar için ikili dosyalar kullanıyor. Sonuç olarak çeviri katmanına olan ihtiyacı ortadan kaldırıyor.
SCALE’ göre kendi çözümleri diğer platformlar arası GPGPU’larla karşılaştırıldığında birkaç önemli yeniliğe sahip:
“SCALE NVIDIA CUDA Toolkit kurulumunu 'taklit eder', böylece mevcut oluşturma araçları ve cmake gibi komut dosyaları çalışır.
SCALE, CUDA programlarını olduğu gibi kabul eder. Bunları başka bir dile taşımanıza gerek yok. Program satır içi PTX asm kullanıyor olsa bile bu durum geçerli.
SCALE derleyicisi, nvcc ile aynı komut satırı seçeneklerini ve CUDA yazım biçimini kabul ederek anında değiştirebilir.”
Spectral Compute’a göre SCALE yedi yıldır geliştiriliyor ve NVIDIA’nın koduna dayanmıyor ancak CUDA uyumlu yeni bir araç zinciri oluşturuyor, bu da SCALE’i AMD’nin RDNA GPU’ları gibi birden fazla platform için son derece uyarlanabilir hale getiriyor. Araç, kod taşımayı önleyerek geliştiricilerin kod tabanlarının tek bir sürümüyle çalışmasına olanak tanıyor. SCALE, CUDA ile kaynak uyumlu olduğu için diğer dillerle çalışmaya gerek kalmıyor.
SCALE’in uygulanmasıyla birlikte, NVIDIA’nın CUDA’sının durumunun özel olmaktan çıkıp nispeten yaygın olarak kullanılabilir hale geleceği açık. Ancak SCALE’in kendisi de açık kaynaklı değil. Kullanıcılar SCALE’e ücretsiz bir lisans aracılığıyla erişebiliyor.
Spectral Compute, araçlarını AMD’nin RDNA 3 ve RDNA 2 mimarilerini kullanan Blender, Llama-cpp, XGboost, FAISS, GOMC, STDGPU, Hashcat ve NVIDIA Thrust gibi çok sayıda uygulamada test ettiklerini söylüyor.
NVIDIA’nın daha önce SCALE gibi platformlara karşı kullanım koşullarına bir uyarı eklediği göz önüne alındığında, CUDA’nın harici bileşenler üzerinde çalışmasına izin veren araçlara sıcak bakmadığı görülebilir. CUDA şu ana kadar NVIDIA’nın yapay zeka pazarlarındaki hakimiyetinde büyük bir rol oynadı ve firma, kendi aracının özel statüsünü kolayca kaybetmesine razı olmayacaktır.