ZLUDA, CUDA uygulamalarının AMD GPU'larda çalıştırılmasına olanak tanıyan bir uygulama

ZLUDA

ZLUDA, AMD'nin ROCm yığınında çalışır

Öyle bir haber çıktı ki AMD, ZLUDA'nın geliştirilmesine fon sağlamayı durdurma kararı aldı, hangisi AMD GPU'lar için CUDA teknolojisinin açık bir uygulaması, CUDA uygulamalarını, ek katmanlar olmadan çalışan uygulamalara yakın bir performansla, onları değiştirmeden çalıştırmanıza olanak tanır.

Son iki yılda bu katmanın geliştirilmesine yönelik çalışmalar yapıldı. AMD GPU'lu sistemlerde CUDA uygulamalarının yürütülmesini kolaylaştırmak için. Ama yakın zamana kadar AMD öyle bir karar aldı ki AMD GPU'larda CUDA uygulamalarını çalıştırın geliştiricinin geliştirmelerini açmasına izin veren ticari bir ilgi değildi sözleşmede kararlaştırıldığı gibi.

ZLUDA Hakkında

proje başlangıçta Intel GPU'lar üzerinde CUDA çalışmasını desteklemek için oluşturuldu GPU destek politikasındaki değişiklik ise başlangıçta ZLUDA geliştiricisinin bir Intel çalışanı olmasından kaynaklanıyor. 2021'de Intel bunun ticari olarak uygun olmadığına karar verdi CUDA uygulamalarını Intel GPU'larda çalıştırma yeteneği sağlamak, bu da girişimin geliştirilmesinin durdurulmasına yol açtı.

2022'nın başlarında, geliştirici Intel'den ayrıldı ve geliştirmeye devam etmek için AMD ile bir sözleşme imzaladı CUDA uyumluluk katmanının. Geliştirme sırasında AMD, şirketin ZLUDA projesine olan ilgisinin desteklenmemesini ve ZLUDA'nın halka açık deposuna taahhütte bulunmamasını talep etti.

ZLUDA, CUDA uygulamaları için ikili destek sağlar kaynak kodu düzeyinde değişiklik yapmaya gerek kalmadan NVIDIA GPU'lar için CUDA derleyicisi ile derlenen mevcut olanlar. Uygulama, AMD'nin ROCm yığınında ve HIP çalışma zamanında çalışır.

Mevcut haliyle, ZLUDA'nın dönüşüm kalitesi düzeyi alfa sürümü olarak kabul edilir. Zaten birçok CUDA uygulamasını çalıştırabilme kapasitesine sahip olduğunu belirtmekte fayda olsa da, primitifler ve kütüphaneler için minimum destek sağlamanın yanı sıra, OptiX çerçevesinin prototip uygulamalarına da sahiptir.

ZLUDA

ZLUDA Karşılaştırma Tablosu

CUDA uygulamalarının ZLUDA kontrolü altında ilk kez yürütülmesi sırasında gözle görülür gecikmeler yaşıyorsunuz çünkü ZLUDA GPU'nun kodunu derliyor. Fakat, sonraki çalıştırmalarda bu gecikme kaybolur, derlenmiş kod önbelleğe alındığından, derlenmiş kod çalıştırılırken neredeyse yerel performans elde edilir. Örneğin, Geekbench'i bir AMD Radeon 6800 XT GPU'da çalıştırırken, CUDA kıyaslama paketinin ZLUDA tabanlı sürümü, OpenCL tabanlı sürüme göre önemli ölçüde daha iyi performans gösterdi.

Ayrıca, resmi CUDA sürücü API'si desteği ve belgelenmemiş CUDA API'sinin tersine mühendisliğinin, işlev çağrılarının CUDA'ya çok benzeyen HIP çalışma zamanında sağlanan benzer işlevlerle değiştirilmesi yoluyla ZLUDA'da uygulandığından bahsedilmektedir.

Örneğin, cuDeviceGetAttribute() işlevinin yerini hipDeviceGetAttribute() alır. ZLUDA ayrıca NVML, cuBLAS ve cuSPARSE gibi NVIDIA kitaplıklarıyla uyumluluğu da sağlar. Bu kitaplıklar için ZLUDA, benzer AMD kitaplıklarının üzerine inşa edilmiş, aynı ada ve aynı özellik kümesine sahip çeviri kitaplıkları sağlar. PTX (Paralel İş Parçacığı Yürütme) temsilinde derlenen GPU uygulama kodu, özel bir derleyici tarafından, AMD GPU için ikili kodun oluşturulduğu bir ara LLVM IR temsiline çevrilir.

Son olarak belirtilmelidir ki Projenin geleceği toplumun ilgisine bağlı ve diğer şirketlerin olası işbirliği teklifleri. Dış destek olmadan proje, yalnızca yazarın DLSS gibi kişisel ilgi alanına giren alanlarda gelişmeye devam edecektir.

Için proje koduyla ilgileniyorumRust dilinde yazıldığını, MIT ve Apache 2.0 lisansları altında dağıtıldığını, projenin Linux ve Windows ile uyumlu olduğunu bilmelisiniz. Bu konuda daha fazla bilgi edinmek istiyorsanız ayrıntılara başvurabilirsiniz. Aşağıdaki bağlantıda.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.