AMD zażądało usunięcia części kodu ZLUDA z domeny publicznej

ZLUDA działa na stosie ROCm firmy AMD

Kilka miesięcy temu podzieliłem się na naszym siostrzanym blogu „Linux Addicts” wiadomością o decyzji AMD o zaprzestaniu finansowania rozwoju ZLUDY, ponieważ w tamtym czasie AMD wspomniało, że nie leży to w jej interesie komercyjnym, co pozwoliło deweloperowi otworzyć jego rozwój zgodnie z ustaleniami zawartymi w umowie.

ZLUDA została początkowo opracowana dla procesorów graficznych Intel. Jednak w 2022 roku twórca projektu opuścił Intela i podpisał kontrakt z AMD na opracowanie warstwy kompatybilnej z CUDA dla jego procesorów graficznych.

Po tym na początku tego roku 2024, AMD stwierdziło, że nie ma to strategicznego znaczenia dla jej działalności zezwolić na uruchamianie aplikacji CUDA na swoich procesorach graficznych (prawdopodobnie w obawie przed problemami prawnymi z NVIDIA). Zgodnie z warunkami umowy umożliwiło to Andrzejowi (znanemu z pracy przy tworzeniu wdrożeń technologii CUDA dla procesorów graficznych Intel i AMD) upublicznienie swoich osiągnięć, a podczas wymiany e-maili przedstawiciel AMD również udzielił mu zgody na publikację tych osiągnięć.

Wywołało to ogromne zainteresowanie społeczności, ponieważ ZLUDA obiecała zaoferować binarną kompatybilność z aplikacjami CUDA już skompilowany za pomocą kompilatora CUDA dla procesorów graficznych NVIDIA, bez konieczności modyfikowania kodu źródłowego. Ta zdolność umożliwi programistom i użytkownikom uruchamianie aplikacji zaprojektowanych dla NVIDIA na sprzęcie AMD i Intel żadnych komplikacji. Dzięki temu ZLUDA umożliwia uruchamianie aplikacji CUDA bez modyfikacji na systemach z procesorami graficznymi AMD, wykorzystując stos ROCm i środowisko wykonawcze HIP.

Ale teraz to się zmieniło, od niedawna AMD poprosiło Andrzeja Janika o usunięcie części kodu z domeny publicznej z projektu. To powiadomienie przychodzi po pół roku od upublicznienia kodeksu, prawnicy AMD skontaktowali się z Andrzejem, informując go, że zezwolenie udzielone w trakcie korespondencji nie ma mocy prawnej.

Ze względu na umowę o zachowaniu poufności, szczegółów komunikacji z prawnikami nie może zostać ujawniona od AMD. W wyniku tej sytuacji Andrzej został zmuszony do usunięcia z domeny publicznej całego kodu, który opracował pracując dla AMD.

O sprawie Andrzej Janik wspomniał, że nie ma zamiaru rezygnować z projektu ZLUDA i planuje go odbudować przy użyciu kodu, który opracował przed rozpoczęciem współpracy z AMD (kod ten był pierwotnie zaprojektowany do współpracy z procesorami graficznymi Intel).

Kod, który był tutaj wcześniej, został usunięty na prośbę AMD.
Kod został udostępniony za zgodą AMD pocztą elektroniczną. Dział prawny AMD twierdzi obecnie, że nie jest to prawnie wiążące, dlatego też unieważniono.
Zanim ktokolwiek zapyta: nie otrzymałem żadnych gróźb prawnych ani żadnych wiadomości od firmy NVIDIA.

A teraz to?
W tym momencie jeszcze jedna wrogia korporacja nie robi dużej różnicy. Planuję odbudować ZLUDĘ z bazy kodu sprzed AMD. Fundusze na projekt już napływają i mam nadzieję, że w nadchodzących tygodniach będę mógł podzielić się szczegółami. Będzie miał inny zakres i niektóre funkcje nie zostaną powrócone.
Chciałem, żeby to była niespodzianka, ale jedną z tych funkcji była obsługa NVIDIA GameWorks. Udało mi się to uruchomić w Batman: Arkham Knight, ale nigdy go nie ukończyłem i teraz ten kod nigdy nie ujrzy światła dziennego:

Ponadto wspomina, że ​​w nadchodzących tygodniach m.in. Więcej szczegółów na temat przyszłości projektu zostanie podanych. Jednak już zapowiedziano, że część funkcjonalności zostanie utracona, a niektóre projekty, które były równolegle rozwijane, nie zostaną upublicznione.

Przykładem tego jest praca wykonana w celu wsparcia technologii NVIDIA GameWorks, która miała na celu zaimplementowanie efektów opartych na GameWorks w grze „Batman: Arkham Knight”.

Ciekawie, NVIDIA, właściciel technologii CUDA, nie przedstawiła żadnych żądań związane z projektem ZLUDA, więc możliwe, że AMD przemyślało sprawę i planuje wykorzystać rozwój w jakimś projekcie lub ma zamiar kontynuować rozwój od miejsca, w którym zostało przerwane.