AMD avukatları CUDA uyumluluk katmanı ZLUDA'yı geri alıyor

Analiz AMD'nin hukuk ekibi, ZLUDA projesinin kod tabanının çoğunun kontrolünü geri almış gibi görünüyor. House of Zen'in bu yılın başlarında desteğini çektiği açık kaynak projesi, derlenmiş CUDA kodunun Nvidia olmayan GPU'larda yerel olarak çalıştırılmasını sağladı.

ZLUDA, Intel GPU'larda saf CUDA ikili dosyalarını çalıştırmanın bir yolu olarak tanıtıldı. Proje lideri Andrzej Janik sonunda AMD ile GPU'larını da hedeflemek için bir geliştirme sözleşmesi imzaladı. CUDA, geliştiricilerin kodlarını çalıştırmak için GPU'lara dokunmalarına olanak tanıyan Nvidia araç setidir.

Projenin ZLUDA'ya yönelik taahhütleri, AMD'nin ZLUDA'nın geliştirilmesini finanse etmeyi bıraktığı bu yılın başlarına kadar netleşmeyen nedenlerden dolayı 2022'nin başlarında durduruldu. Phoronix'in çalışmaları açık alanda yeniden başladı saat hızına sahip Şubat ayında.

ZLUDA, derlenmiş CUDA programlarının, kaynağı taşımaya ve yeniden derlemeye gerek kalmadan doğrudan AMD donanımında (ve bir süreliğine Intel'de de) çalıştırılmasına olanak tanıyan bir çeviri katmanı olarak sunduğu için ilginç bir projedir. Örneğin biz daha önce baktım Windows altında AMD kartlarında Otomatik1111'de Kararlı Difüzyonu çalıştırmak için ZLUDA'yı kullanmanın bir yolu.

Janik, proje üzerindeki çalışmasını bu yılın başlarında yayınlayabildi çünkü geliştirme sözleşmesindeki bir maddenin, AMD'nin ilgisini kaybetmesi durumunda açıkta çalışmaya devam etmesine izin verdiği düşünülüyordu. README'de şunları yazdı: "AMD ile olan sözleşmemin şartlarından biri, AMD'nin daha fazla geliştirmeye uygun bulmaması halinde piyasaya sürebileceğim yönündeydi." sürümü 3.

Ancak görünen o ki AMD'nin hukuk ekibi farklı bir sonuca varmış. Projenin üstüne iliştirilen bir açıklamada GitHub sayfası Bu hafta Janik, AMD'nin başlangıçta kodu yayınlama izni verdikten sonra fikrini değiştirdiğini yazdı.

Daha önce burada bulunan kod AMD'nin isteği üzerine kaldırıldı

“Daha önce burada bulunan kod, AMD'nin isteği üzerine kaldırıldı. Kod, AMD'nin onayıyla bir e-posta yoluyla yayınlandı. AMD'nin hukuk departmanı artık bunun yasal olarak bağlayıcı olmadığını, dolayısıyla geri almanın gerekli olduğunu söylüyor” diye yazdı.

Janik, kaldırma işleminin AMD'den geldiğini ve "Nvidia'dan herhangi bir yasal tehdit veya herhangi bir iletişim almadığını" dikkatli bir şekilde belirtti.

İçinde reddit sonrası Bu hafta başında Janik, "bir avukata danıştığını: e-postaların yasallığı önemli değil" dedi. Seçim, yeniden yazmak (daha ucuz, garantili sonuç) ile muhtemelen mahkemede mücadele etmek (daha pahalı, istediğim sonucun garantisi yok) arasında.

AMD'ye bu hikayenin kendi tarafını sorduk ve temsilcileri talebimizi kabul etse de hâlâ bir yanıt bekliyoruz. Janik yorum yapmayı reddetti.

Bu ZLUDA projesinin sonu değil. Katkıda bulunanlar, projeyi "AMD öncesi" kod tabanından yeniden inşa etmeye kararlılar ve sürekli geliştirme için finansmanın beklendiğini belirtiyorlar. Değişebilecek olan şey projenin kapsamıdır; geliştiriciler "belirli özelliklerin geri gelmeyeceğini" belirtti ve şirketin geliştiricilere görsel efekt oluşturma gibi işleri hızlandırmak için sunduğu Nvidia GameWorks ara yazılımı desteğinden bahsetti.

ZLUDA'yı neden gömelim?

AMD'nin ZLUDA'ya karşı tutumunun neden değiştiğini bilmesek de, birkaç faktörün bu karara katkısı olmuş olabilir.

Bunlardan ilki ve en bariz olanı, AMD'nin, Nvidia CUDA hizmet şartlarını ihlal edebilecek bir projenin geliştirilmesini desteklemek için kendisini herhangi bir yasal yaptırımdan uzak tutmak istemesidir.

Nvidia'nın hizmet şartları açıkça var kısıtlı 2021 ortasından bu yana CUDA kodunu diğer donanım platformlarında çalıştırmak için çeviri katmanlarının kullanılması. EULA'da şöyle yazıyor: "Bu tür çıktı yapıtlarını Nvidia dışı bir platformu hedeflemek amacıyla dönüştürmek amacıyla SDK öğeleri kullanılarak oluşturulan çıktının herhangi bir kısmına ters mühendislik uygulayamaz, kaynak koda dönüştüremez veya parçalara ayıramazsınız."

Geliştiriciler hem Team Red hem de Team Green'in GPU'larını kodlamak için ZLUDA'ya bağımlı hale gelirse, Nvidia'nın ayrıntılı baskıyı zorunlu kılmayı seçmesi durumunda hızlı yeniden yazma ihtiyacı ortaya çıkabilir.

Benzer şekilde, Radeon uzmanı da ZLUDA'nın desteği olmasa bile ZLUDA'nın sürekli kullanılabilirliğinin AMD'nin kendi yazılım çalışmalarına zarar verebileceğinden endişe duymuş olabilir. CUDA kodunu yalnızca AMD GPU'larda çalıştırabilecekseniz neden uygulamaları ROCm veya HIP için optimize edesiniz? Her ne kadar AMD'nin kendi CUDA çeviri aracı olsa da - ki bunu birazdan tartışacağız - bu araç, hızlandırıcılarda halihazırda oluşturulmuş CUDA programlarını çalıştırmak yerine, büyük ölçüde kaynak kodunu taşımayı ve yeniden derlemeyi amaçlıyor.

Kaldırma bildiriminin AMD'nin hukuk ekibinden geldiğini göz önünde bulundurursak, ZLUDA ekibi tarafından oluşturulan hangi kodun yayınlanıp yayınlanamayacağı konusunda bir anlaşmazlık olasılığını da göz ardı edemeyiz.

Bir müvekkilinin fikri mülkiyet haklarını korumakla görevli aşırı hevesli avukatların işleri berbat etmesi kesinlikle ilk sefer olmayacaktı. Geçen yıl avukatların Arm'ın telif haklarını ve ticari markalarını uygulamak için sözleşme yaptığı ve sonunda bir montaj dili gurusunun alan adlarını aldığını hatırlarsınız. çekti çevrimdışı.

Sadece ZLUDA değil

Daha önce de belirttiğimiz gibi ZLUDA, CUDA uygulamalarının Nvidia olmayan GPU'lar üzerinde çalışmasını sağlamayı amaçlayan tek proje değil. Geçen ay SCALE adında bir derleyici araç seti piyasaya sürüldü çıktı betada.

LinkedIn'e göre Spectral Compute'un CEO'su olan Michael Søndergaard, projeyi duyuran bir blog yazısında SCALE'i "CUDA'yı derlerken Nvidia olmayan GPU'lar için ikili dosyalar üretme yeteneğine sahip, Nvidia'nın CUDA Araç Takımı'na benzer bir GPGPU araç takımı" olarak tanımladı. kod.”

Proje şimdilik AMD GPU'ları hedef alıyor ancak Søndergaard, ek sağlayıcılara yönelik desteğin de hazırlık aşamasında olduğunu yazdı.

AMD'nin kendisi sunuyor HIPIFYCUDA kaynak kodunu taşınabilir HIP C++ koduna "otomatik olarak" çevirmek için araçlar sağlayan araçlar sağlar. Ama kardeş sitemiz olarak Bir Sonraki Platform işaret Geçen yılın sonlarında HIPIFY'nin otomasyonu, AMD'nin açıklamasının düşündüğünüzden daha zayıftı.

Sorunlardan biri, HIPIFY'nin doku belleğindeki veya birden fazla CUDA başlık dosyasındaki cihaz tarafı şablon argümanlarını hesaba katmaması ve dolayısıyla geliştiricilerin manuel müdahalesini gerektirmesidir.

HIPIFY'nin, yerel, değiştirilmemiş CUDA ikili dosyalarını çalıştırmanın aksine, kaynaktan kaynağa çeviriye odaklanan bir tasarımla ZLUDA gibi çabalardan farklı olduğunu anlıyoruz.

Yaptığımız benzer bir proje baktım Intel'in oneAPI çerçevesinde bulunan SYCL araç takımıdır. Eğer aşina değilseniz, SYCL, CUDA kodunu Nvidia olmayan hızlandırıcılarda çalışabilecek bir formata taşımanın ağır yüklerinin çoğunu (sözde yüzde 95'e kadar) karşılaması açısından HIPIFY'ye benzer. HIPIFY'den farklı olarak SYCL, kodun AMD, Intel ve Nvidia GPU'larda çalıştırılmasını sağlayan çapraz platform olacak şekilde tasarlanmıştır.

Eğer ikisini de merak ediyorsanız göz atmanızı öneririz. Bir Sonraki Platform Bir için daha derin dalış CUDA'yı alternatif hızlandırıcılara taşımaya yönelik. ®

En Son İstihbarat