AMD'nin en yeni ROCm güncellemeleriyle birlikte, Windows'ta tüketici sınıfı ekran kartları için PyTorch ve HIP SDK desteği nihayet güçlü ve resmi bir şekilde sunuldu. Bu destek, özellikle Radeon RX 7000 ve RX 9000 serisi gibi ekran kartlarını kapsıyor. Bu sayede, AMD donanımlarında doğrudan desteklenen framework'ler için Windows'ta geliştirme yapmak gerçekçi bir hale geldi. Peki, yalnızca NVIDIA'nın CUDA'sını destekleyen özel uygulamalar, eski kod tabanları veya özel yapay zeka araçları söz konusu olduğunda ne olacak? İşte bu noktada, Speedstu'nun yeni projesi "CUDA-for-AMD-Windows" devreye girerek büyük bir umut vaat ediyor. Bu proje, Windows üzerinde çalışan AMD donanımlarında sadece CUDA'ya özel iş yüklerinin sanallaştırma veya çift önyükleme gerektirmeden çalıştırılabileceğini kanıtlıyor.
Bu projenin yeni bir çalışma zamanı oluşturmadığını belirtmekte fayda var. Bunun yerine, ZLUDA ile AMD'nin yerel HIP/ROCm SDK'sı arasındaki boşluğu kapatan, oldukça otomatikleştirilmiş ve tekrarlanabilir bir PowerShell kurulumundan oluşuyor. ZLUDA, daha önce AMD tarafından da desteklenmiş bir çeviri katmanı olarak biliniyor. Çeşitli akıllı betikler aracılığıyla bu araç seti, kullanıcının ekran kartı mimarisini otomatik olarak algılıyor, özel olarak belirlenmiş bir ZLUDA sürümünü (v6-preview.69) indiriyor ve teorik olarak mevcut ROCm matematik kütüphaneleriyle sorunsuz bir şekilde eşleştiriyor.
Sonuç olarak, geliştirici CUDA sürücü API'sini ve cuBLAS, cuSPARSE, cuFFT kütüphanelerini doğrudan AMD eşdeğerlerine başarıyla aktarıp eşleştirmeyi başardı. Bir konsept kanıtı olarak, proje sahibi, şu anda resmi olarak desteklenen tek GPU olan bir AMD Radeon RX 9060 XT üzerinde, değiştirilmemiş CUDA kütüphaneleriyle 2.2 milyon parametreli bir PPO pekiştirmeli öğrenme ağını baştan sona eğitti.
Windows'ta AMD'nin resmi ROCm desteğine rağmen, yerel geliştirici topluluğu, deneysel GitHub depolarını veya CUDA'yı zorunlu kılan özel yapay zeka araçlarını denerken sıklıkla bağımlılık sorunlarıyla karşılaşıyor. Bu proje, WSL2 geçiş sorunlarıyla uğraşmak veya orijinal geliştiricinin bir HIP uyarlaması yazmasını beklemek istemeyen ve CUDA'ya özel araçları kendi Windows makinelerinde yerel olarak denemek isteyen geliştiriciler için oldukça cazip bir çeviri hattı sunuyor. Yazılımın ısrarla NVIDIA kartı talep ettiği durumlarda adeta bir 'hacky' adaptör görevi görüyor.
Projenin belgelerinde yer alan performans testleri, ilginç sonuçlar ortaya koyuyor. Radeon RX 9060 XT üzerinde 2.2 milyon parametreli pekiştirmeli öğrenme iş yükünü çalıştıran kontrollü bir A/B testinde, yalnızca resmi ZLUDA sürümlerine ve AMD'nin standart HIP SDK 6.4'e dayanan "genel upstream yolu", saniyede 13.278 adım (SPS) medyan verimlilik elde etti. Buna karşılık, kurtarılmış eski ZLUDA ikili dosyalarından derlendiği anlaşılan isteğe bağlı bir "özel kaplama" ise biraz daha yavaş kalarak 12.876 SPS ile yaklaşık %3 daha düşük bir performans gösterdi. Temiz resmi kurulum daha hızlı olsa da, proje sahibi "daha sonra yapılan bir yeniden yazımın PPO'dan LibTorch/ZLUDA'yı çıkararak önemli ölçüde daha yüksek verimlilik elde ettiğini" belirtiyor. Bu da, bu çeviri katmanı yığınının hala bir miktar performans düşüşüne neden olduğunu gösteriyor.
Ancak, CUDA ekosisteminin tamamen ortadan kalktığını ilan etmeden önce, beklentileri gerçekçi tutmak çok önemli. Öncelikle, bu bir kurumsal düzeyde çözüm değil, bireysel bir açık kaynak projesidir. Proje sahibi, projenin dar kapsamı konusunda oldukça şeffaf davranıyor; çünkü cuDNN, TensorRT ve NCCL gibi kritik makine öğrenmesi kütüphaneleri henüz tam olarak desteklenmiyor. Bu durum, uyumluluğun kesinlikle iş yüküne bağlı olduğu anlamına geliyor; eğer kullandığınız yapay zeka aracı büyük ölçüde cuDNN'ye dayanıyorsa, bu kurulum başarısız olacaktır. Dahası, ZLUDA'nın kendisinin ticari desteğini ikinci kez kaybettikten sonra şu anda bir "hafta sonu hobi projesi" olarak sürdürüldüğünü belirtmekte fayda var. Üretim düzeyinde işler için bu hattı kullanmak hala büyük bir risk teşkil ediyor. Bu depo, bir tamirci aracıdır, kurumsal bir IT dağıtım stratejisi değil.
Bu sınırlamalara rağmen, "CUDA-for-AMD-Windows" oldukça heyecan verici. Çünkü AMD ekran kartlarında CUDA'ya özel yazılımları çalıştırmanın giriş engelinin aşılamaz bir donanım kusuru değil, nispeten çözülebilir bir çeviri araçları problemi olduğunu kanıtlıyor. Proje tamamen açık kaynak olduğu için, topluluk katkılarıyla birlikte donanım algılama yeteneklerinin genişletilmesi ve daha inatçı CUDA kütüphanelerinin düzgün çalışmasını sağlamak için akıllı yamaların geliştirilmesi gibi potansiyelleri de beraberinde getiriyor.