3 puan yazan GN⁺ 2024-03-06 | 1 yorum | WhatsApp'ta paylaş

ZLUDA, CUDA uygulamalarını AMD GPU'larda çalıştırmayı mümkün kılıyor

  • Andrzej Janik tarafından geliştirilen açık kaynak proje ZLUDA 3, NVIDIA GPU'lar için tasarlanmış GPU tabanlı uygulamaların başka üreticilerin donanımlarında çalışmasına olanak tanıyor.
  • Bu teknoloji, geliştiricilerin ek çalışma yapmasına gerek kalmadan mevcut uygulamaların yeni donanımlarda çalıştırılabilmesi için tasarlandı.
  • ZLUDA'nın önceki sürümleri CUDA uygulamalarını Intel GPU'larda çalıştırabiliyordu, ancak sürüm 3 ile odak AMD GPU'lara kaydı.

ZLUDA Intel GPU'lar için değil miydi?

  • ZLUDA, 2020'de Intel GPU'lar için CUDA'ya alternatif olarak ilk kez yayımlandı.
  • 2021'de sürüm 2 çıktıktan sonra Janik, projenin geliştirmesini sürdüremeyeceğini açıkladı; ancak daha sonra Intel, ZLUDA'yı resmî bir teknoloji olarak değerlendirmeye başladı.
  • Intel, CUDA uygulamalarını Intel GPU'larda çalıştırmanın iş açısından anlamlı bir karşılığı olmadığına karar verdi ve Janik şirketten ayrılarak AMD ile temasa geçti.
  • AMD, ZLUDA'yı iki yıl boyunca değerlendirdi ancak projeyi sürdürmemeye karar verdi; bunun ardından Janik güncellenmiş kodu açık kaynak olarak yayımladı.

Bu neden CG sanatçıları için önemli?

  • ZLUDA sürüm 3, NVIDIA'nın CUDA API'si kullanılarak geliştirilmiş GPU tabanlı uygulamaların AMD GPU'larda çalışmasını sağlıyor.
  • VFX, hareketli grafikler ve görselleştirme gibi sektörlerde birçok önemli CG uygulaması, özellikle de render motorları, CUDA tabanlı olduğu için NVIDIA'ya özel durumda.
  • AMD'nin kendi teknolojisi HIP mevcut, ancak bunun için yazılım geliştiricilerin ek çalışma yapması gerekiyor.
  • ZLUDA da aslında HIP temelinde inşa edildi ve CUDA uygulamalarının değiştirilmeden AMD GPU'larda çalıştırılabilmesi için tasarlandı.

CUDA uygulamaları ZLUDA altında ne kadar hızlı çalışıyor?

  • Janik, CUDA uygulamalarının AMD GPU'larda "neredeyse yerel performansla" çalıştığını söylüyor.
  • Ancak ZLUDA GitHub deposuna göre 3DF Zephyr ve RealityCapture, ZLUDA altında "çok daha yavaş" çalışıyor.
  • Birçok GPU render motoru geliştiricisi, performansa katkı sağlayan ikinci bir NVIDIA API'si olan OptiX'i de kullanıyor ve ZLUDA, OptiX için "asgari düzeyde" destek sunuyor.

Diğer CG uygulamaları da AMD GPU'larda ZLUDA üzerinden çalıştırılabilir mi?

  • Kullanıcı testleri olmadan, diğer CUDA tabanlı CG uygulamalarının ZLUDA altında ne kadar iyi çalışacağını söylemek zor.
  • Bilinen birçok sorun var ve Janik, diğer GPU render motorlarında sınırlı başarı elde etti.

Gelecekte daha fazla CUDA tabanlı CG uygulaması ZLUDA altında çalışabilir mi?

  • Janik, Intel ya da AMD desteği olmadan ZLUDA'nın "gerçekçi olarak terk edilmiş durumda" olduğunu söylüyor.
  • Projeyi ileri taşıyabilecek tekliflere açık olduğunu, aksi halde büyük olasılıkla yalnızca kişisel olarak ilgisini çeken NVIDIA teknolojilerini destekleyeceğini belirtiyor.
  • Kaynak kodu herkese açık ve mevcut haliyle bile ZLUDA, yazılım geliştiriciler tarafından CUDA'dan HIP'e "daha kademeli bir taşıma" sürecinin parçası olarak kullanılabilir.

Lisans ve sistem gereksinimleri

  • ZLUDA 3'ün derlenmiş sürümleri Windows ve Linux için mevcut. Kaynak kodu Apache 2.0 veya MIT lisansı altında sunuluyor.

GN⁺'nin görüşü

  • ZLUDA, NVIDIA'nın kapalı CUDA ekosistemini AMD kullanıcılarına açarak GPU pazarındaki rekabeti teşvik etme potansiyeline sahip.
  • Bu proje, özellikle CUDA'ya bağımlı render yazılımları veya bilimsel hesaplama uygulamaları kullananlara daha çeşitli donanım seçenekleri sunarak fayda sağlayabilir.
  • Ancak ZLUDA'nın hâlâ erken aşamada olması ve tam performans ile uyumluluk sunmaması nedeniyle, gerçek üretim ortamlarında benimsenmesi dikkatle değerlendirilmeli.
  • AMD ile NVIDIA arasındaki teknoloji farkının azalması, tüketicilere daha iyi fiyatlar ve daha fazla seçenek sunabilir; bu da pazarda sağlıklı rekabeti teşvik edebilir.
  • Açık kaynak topluluğunun sürekli ilgisi ve katkıları, bu projenin başarısı için önemli olacak ve ilgili alanlardaki uzmanlara katkı sunmak için iyi bir fırsat sağlayacaktır.

1 yorum

 
GN⁺ 2024-03-06
Hacker News görüşleri
  • 22 gün önceki önceki tartışma: AMD, ROCm tabanlı bir CUDA uygulamasını geliştirip açık kaynak olarak yayımladı [0], 400 yorum vardı.

    • O başlıktaki dikkat çekici üst düzey yorum:

      AMD, 2 yıllık geliştirmenin ardından CUDA uygulamalarını AMD GPU'larda çalıştırmanın bir iş gerekçesi olmadığına karar verdi. Sözleşme koşullarından biri, AMD geliştirmeyi artık uygun görmezse bunun kamuya açılabilmesiydi. Böylece bugünlere gelindi. - ZLUDA SSS

    • İlgili bağlantı: Hacker News tartışması
  • AMD'nin bu projeye sağladığı finansmanı kesmesi son derece mantıksız. Açık kaynak olur olmaz AMD kullanıcılarına değer sunmaya başladı; bu, AMD'nin en yüksek önceliği olması gerekir gibi görünürken, AMD yıllardır neredeyse hiç desteği olmayan iki (ya da üç mü?) alternatif API ile vakit kaybetti.

  • Tartışmayla ilgili bir nokta: Nvidia, CUDA yazılımının başka çiplerde çalıştırılmasına yönelik çeviri katmanlarının kullanımını yasaklıyor [1]

  • Intel de sonunda "Intel GPU'larda CUDA uygulamalarını çalıştırmanın bir iş gerekçesi yok" sonucuna vardı. Bu, AMD GPGPU ile uğraşmış herkesin zaten bildiği bir gerçeği doğruluyor.

  • AMD'nin yazılımının çok kötü olduğu iyi bilinen bir gerçek ve AMD'nin 2 trilyon dolarlık bir şirket olmasını engelleyen tek unsur da bu. AMD'nin OpenCL derleyicisinde hatalar vardı ve bir segfault ile derleyiciyi kolayca çökertmek mümkündü (sonunda vazgeçip bildirmedim). AMD'nin CUDA'ya rakip olacak bir çözüm geliştirmemesi çok kısa vadeli bir bakış açısıydı. AMD yönetim kurulunun neden değiştirilmediğini anlayamıyorum. Dünyanın en iyi donanımını yapabilirsiniz, ama onu kullanacak yazılım berbatsa kimse onu satın almaz ya da kullanmaz. Bir müşteri olarak, AMD yönetim kurulu masada bırakılan trilyonlarca dolarlık değeri umursamıyor gibi göründüğünden, fazla pahalı Nvidia kartları almak zorunda kalıyorum. AMD hissesi olanların soru sorması lazım ve o yönetim kurulu da en yakın giderden aşağı gitmeli.

  • Metal, CUDA, AMD'nin sahip olduğu her neyse ve diğer çeşitli kernel dilleri için derleme yapabilen bir programlama dili olup olmadığını merak ediyorum. Yoksa neden yok? Farklı CPU mimarilerine derleme yapan C derleyicileri olduğu gibi, GPU mimarilerine derleme yapan derleyiciler de olması gerekmiyor mu? Belki de henüz kimse yapmamıştır.

  • Bunu Meshroom gibi OSS fotogrametri araçlarında çalıştırmayı deneyen biri oldu mu diye merak ediyorum. Haberde bazı özel mülk şeylerden bahsediliyor, ama ihtiyaç duyulan şeyler aslında çok fazla değil.

  • AMD GPU'ların sorunu tek tek kernel'lar değil, kütüphaneler. Sürüm notlarında "cuDNN, cuBLAS, cuSPARSE, cuFFT, NCCL, NVML için asgari destek eklendi" dendiğine göre, proje bu yöne gidiyordu. AMD finansmanı kestikten sonra bu projenin ivmesini koruyup koruyamayacağını kimse bilmiyor.

  • Bu, Oracle v. Google bağlamında JVM bytecode kullanımına neredeyse aynı derecede benzer bir mesele.

  • geohot'un AMD GPU'larla süregelen (ve pahalıya mal olan) mücadelesi de bununla ilgili: Twitter bağlantısı