6 puan yazan GN⁺ 2024-02-13 | 2 yorum | WhatsApp'ta paylaş

AMD, ROCm tabanlı CUDA uygulamasını sessizce destekleyip açık kaynak olarak yayımladı

  • AMD, geliştiricilerin NVIDIA'nın CUDA API'sini hedefleyen kod tabanlarını HIP/ROCm üzerinde çalıştırabilmesi için yıllardır çaba gösteriyor.
  • Bu çabalara rağmen, en iyi performansı hedefliyorsanız bunun iyi bir çözüm olduğu söylenemezdi; basit, anında çalışan ve performansı garanti eden bir yol değildi.
  • Son iki yıldır AMD, birçok NVIDIA CUDA uygulamasının kaynak kodunda değişiklik yapmadan AMD ROCm yığını üzerinde çalışabilmesi için kütüphane düzeyinde ikili uyumluluk sağlayan bir projeyi sessizce destekliyordu.

ZLUDA: Intel grafikler için CUDA desteği

  • Birkaç yıl önce ZLUDA adlı proje, Intel grafiklerde CUDA desteği sağlamak amacıyla başlatılmıştı ancak kişisel nedenlerle durduruldu.
  • ZLUDA geliştiricisi Andrzej Janik, 2022'de AMD GPU'larda HIP/ROCm kullanarak ZLUDA'yı uyarlamak için AMD'den sözleşme aldı.
  • Janik son iki yılda Radeon GPU'lar için ZLUDA'yı geliştirerek birçok CUDA yazılımının değişiklik yapılmadan HIP/ROCm üzerinde çalışmasını sağladı.

ZLUDA'nın açık kaynak olarak yayımlanması

  • AMD bu yıl projeye sağladığı finansmanı durdurmaya ve bunu bir yazılım ürünü olarak piyasaya sürmemeye karar verdi.
  • Ancak sözleşmenin bitiminde Janik'in yaptığı çalışmayı açık kaynak olarak yayımlayabilmesini sağlayan bir madde bulunuyordu.
  • Janik, bu yeni ZLUDA uygulamasını test etmek ve kıyaslamak için erişim sağladı.

ZLUDA uygulamasının sınırlamaları ve açık kaynak kodu

  • ZLUDA uygulaması %100 güvenli değil; NVIDIA OptiX desteği tam değil ve PTX assembly kodu kullanmayan yazılımlar şu anda ele alınmıyor.
  • Çoğu durumda bu uygulama, tek bir geliştiricinin emeği olarak şaşırtıcı derecede yetenekli.
  • Açık kaynak kodu Apache 2.0 veya MIT lisanslarıyla çift lisanslı olarak sunuluyor.
  • Bu Radeon uygulaması için Rust programlama dili kullanıldı.

GN⁺ görüşü

  • Bu yazı, AMD'nin CUDA uyumluluğu sağlamak için sessizce desteklediği bir projeyi tanıtıyor ve bu proje açık kaynak topluluğu için büyük bir katkı olabilir.
  • ZLUDA, geliştiricilerin kaynak kodunu değiştirmeden CUDA uygulamalarını AMD platformunda çalıştırabilmesini sağlayan önemli bir ilerleme.
  • Bu tür çabalar, AMD GPU kullanıcılarına daha geniş bir yazılım ekosistemine erişim fırsatı sunuyor; özellikle de Rust gibi modern bir programlama dilinin kullanılması dikkat çekici.

2 yorum

 
bbulbum 2024-02-13

Nvidia, siktir git!

 
GN⁺ 2024-02-13
Hacker News görüşü
  • AMD'nin fon desteğini kesmesinin sonucu olarak ZLUDA yayımlandı

    • AMD, iki yıllık geliştirmenin ardından CUDA uygulamalarını AMD GPU'larında çalıştırmanın iş açısından anlamlı olmadığına karar verdi.
    • Sözleşme şartlarına göre AMD, ek geliştirmeyi uygun görmezse ZLUDA kamuya açılabiliyor.
  • CUDA Dark API'ye dair bir yorum

    • CUDA Dark API, belgelenmemiş işlevlerden oluşuyor ve bu işlevlerin tam sayısı bilinmiyor.
    • Tipik uygulamalar en yaygın bir veya iki işlevi kullanıyor.
    • Bu işlevlerin adları ya da argüman türleri bilinmediği için uygulamaları zaman alıyor.
    • ZLUDA, uygulamaların bunları kullandığını gözlemledikten sonra her bir durum için tersine mühendislik yapıp uygulama geliştirdi.
  • AMD'nin CUDA tekelini kırmasını destekleyen görüşler

    • Bir çeviri katmanı, donanımı hemen daha kullanılabilir hale getirip benimsenmesini hızlandırma avantajına sahip.
    • Ancak geliştiricilerin ROCm desteği vermeyip yalnızca çeviri katmanını kullanma riski var.
    • Proton+DXVK Linux oyunculuğuna olumlu katkı sağladı, ancak GPU hesaplama performansını ortaya çıkarmak için belirli mimarilere uygun ayarlama gerekiyor.
    • AMD'nin pazarda rekabetçi kalmak için bir şeyler yapması gerekiyor.
  • Stable Diffusion'ı AMD GPU'da çalıştırma girişimi ve bunun zorluklarına dair bir deneyim

    • ROCm'in kurulması ve GPU'nun tanınması sorun olmadı, ancak makine öğrenimi dünyası Nvidia etrafında toplandığı için PyTorch gibi bileşenlerin kurulumu zordu.
    • Sonunda modeli yükledi, ancak yazılım grafik oturumunu çökertmeden önce tek bir görüntü bile üretemedi.
    • Bu deneyim, yeniden bir Nvidia GPU satın alma isteği uyandırdı.
  • Blender, OpenCL'yi bırakıp CUDA arka ucunu kullanmaya başladıktan birkaç yıl sonra Radeon HIP arka ucunu ekledi, ancak ZLUDA + CUDA arka ucunu kullanmanın Radeon HIP arka ucundan biraz daha hızlı olduğu görüldü.

  • AMD'nin bu projeye yönelik fon desteğini kesmesi anlaşılmaz bir karar gibi görünüyor.

    • CUDA-on-ROCm, NVIDIA'nın tekelini kırabilir ve NVIDIA'yı CUDA üzerinde değişiklik yaparken frenleyebilir.
    • Pazarda bir numara değilseniz, gerçek değer rekabeti için fiilî standardı takip etmeli ve gerçekten açık standartlar oluşturup bunlara uymalısınız.
  • Nvidia'nın çekirdeğin GPL lisanslı sürücü denetimini atlattığı haberine ilişkin bir soru

    • Çekirdek 6.6'da Nvidia bunu düzeltmezse sürücünün engelleneceğine dair haberler vardı, ancak Nvidia'dan bir yanıt gelmedi.
    • Şu anda çekirdek 6.7.4 kullanılıyor ve Nvidia'nın sorunu çözüp çözmediği ya da engellemenin ertelenip ertelenmediği konusunda kafa karıştırıcı bilgiler var.
  • AMD'nin ROCm/HIP yığınını doğrudan derlemek isteyenler için bir rehberin bir Phoronix makalesinde tanıtıldığı belirtiliyor.

  • ROCm'in resmi belgelerde değil, Github'da daha iyi açıklandığı; bunun da AMD'nin pazarda neden rekabet gücü kaybettiğini gösteren ve markalamanın önemini vurgulayan etkenlerden biri olduğu söyleniyor.

  • AMD'nin bu projeye daha fazla ekip ayırması gerektiğini düşünenler var.