Andrzej Janik predstavil plán ďalšieho vývoja projektu ZLUDA, ktorý rozvíja otvorenú implementáciu technológie CUDA. Kým prvá verzia ZLUDA bola zameraná na vytvorenie implementácie CUDA pre GPU Intel a druhá — pre GPU AMD, teraz predstavená tretia verzia sa sústredí na vývoj univerzálnej implementácie CUDA pre akékoľvek GPU, ktoré nie sú GPU NVIDIA. Cieľom projektu ZLUDA je poskytnúť na systémoch s GPU, odlišnými od NVIDIA, možnosť spúšťania nemodifikovaných aplikácií CUDA s výkonom blízkym výkonom aplikácií vykonávaných bez vrstiev. Kód projektu naďalej pokračuje v distribúcii pod licenciami MIT a Apache 2.0.
Pôvodne sa projekt ZLUDA vyvíjal pre GPU Intel, no v roku 2021 táto spoločnosť považovala poskytnutie možnosti spúšťania CUDA-aplikácií na GPU Intel za nezaujímavé pre biznis a prestala podporovať rozvoj iniciatívy. Začiatkom roka 2022 sa vývojár rozhodol opustiť Intel a uzavrel zmluvu s AMD na vývoj vrstvy pre kompatibilitu s CUDA pre GPU tejto spoločnosti. Po dvoch rokoch spoločnosť AMD stratila záujem o možnosť spúšťania CUDA-aplikácií na GPU AMD.
V súlade s podmienkami zmluvy a po získaní povolenia na publikáciu od zástupcu AMD počas e-mailovej komunikácie Andrzej otvoril kód prác, vytvorených počas obdobia jeho pôsobenia v AMD, ktorý umožňuje vykonávanie CUDA-aplikácií nad technológiou ROCm a runtime HIP (Heterogeneous-computing Interface for Portability), ktorú spoločnosť AMD vyvíja. Po šiestich mesiacoch od publikácie kontaktovali právnici AMD Andrzeja a dali mu najavo, že predtým poskytnuté povolenie v rámci komunikácie nemá právnu silu. Nakoniec bol Andrzej nútený odstrániť kód ZLUDA, vytvorený počas jeho pôsobenia v AMD, z verejného prístupu.
Nová verzia ZLUDA sa bude odvíjať od kódovej základne existujúcej pred začiatkom práce Andrzeja na AMD, nebude viazaná na konkrétne GPU a bude sa zameriavať na vykonávanie aplikácií využívajúcich CUDA na urýchlenie úloh súvisiacich s strojovým učením a umelou inteligenciou (predtým sa ZLUDA sústredila predovšetkým na aplikácie na vytváranie obsahu, ako sú Arnold Render, Blender a 3DF Zephyr). Okrem toho sa plánuje poskytnúť možnosť práce rámcov Llama.cpp, PyTorch a TensorFlow na vrchu ZLUDA s využitím CUDA optimalizácií aplikovaných na GPU NVIDIA.
Najskôr sa projekt zameria na prácu na GPU AMD, ale neskôr bude prispôsobený pre GPU Intel. Implementácia pre GPU AMD sa vytvorí od základov, bude podporovať GPU, minimálne na báze architektúry rozšírenej sady príkazov RDNA1, a využije stack ROCm 6.1+ namiesto stacku ROCm 5, ktorý bol použitý v predchádzajúcej implementácii pre AMD. Parity funkčnosti s predchádzajúcou implementáciou, ktorú bol Andrzej nútený odstrániť z verejného prístupu, sa plánuje dosiahnuť v treťom kvartáli 2025.
Zdroj: opennet.ru
