Andrzej Janik představil plán dalšího vývoje projektu ZLUDA, který se zaměřuje na otevřenou implementaci technologie CUDA. Zatímco první verze ZLUDA byla cílená na vytvoření implementace CUDA pro GPU Intel a druhá pro GPU AMD, nyní představená třetí verze se soustředí na rozvoj univerzální implementace CUDA pro jakákoli GPU kromě GPU NVIDIA. Cílem projektu ZLUDA je poskytnout na systémech s GPU odlišnými od NVIDIA možnost spouštět nemodifikované aplikace CUDA s výkonem blízkým výkonu aplikací běžícím bez vrstev. Kód projektu je nadále distribuován pod licencemi MIT a Apache 2.0.
Původně byl projekt ZLUDA vyvíjen pro GPU Intel, ale v roce 2021 tato společnost dospěla k závěru, že možnost spouštět CUDA aplikace na GPU Intel není pro podnikání zajímavá, a nepodporovala další rozvoj iniciativy. Na počátku roku 2022 se vývojář vzdálil od Intelu a podepsal smlouvu s AMD na vývoj vrstvy pro kompatibilitu s CUDA pro GPU této společnosti. Po dvou letech ztratila společnost AMD zájem o možnost spouštění CUDA aplikací na GPU AMD.
V souladu s podmínkami smlouvy a po obdržení povolení k publikování od zástupce AMD během e-mailové korespondence Andrzej zveřejnil kód prací vyvinutých během svého působení v AMD, které umožňují spouštění CUDA aplikací nad vyvíjenou technologií ROCm a runtime HIP (Heterogeneous-computing Interface for Portability) od AMD. Šest měsíců po publikaci kontaktovali právníci AMD Andrzeje a dali najevo, že dříve poskytnuté povolení v průběhu korespondence nemá právní sílu. V důsledku toho byl Andrzej nucen stáhnout z veřejného přístupu kód ZLUDA, který byl vytvořen během jeho práce v AMD.
Nová verze ZLUDA bude vycházet z kódové základny, která existovala před začátkem práce Andrzeje na AMD, nebude vázána na žádné konkrétní GPU a zaměří se na provádění aplikací využívajících CUDA pro zrychlení úloh souvisejících s strojovým učením a umělou inteligencí (dříve byl ZLUDA zaměřen především na aplikace pro tvorbu obsahu, jako jsou Arnold Render, Blender a 3DF Zephyr). Mezi jinými se plánuje poskytnout možnost fungování frameworků Llama.cpp, PyTorch a TensorFlow nad ZLUDA s využitím CUDA optimalizací aplikovaných na GPU NVIDIA.
Zpočátku se projekt zaměří na práci na GPU AMD, ale poté bude přizpůsoben pro GPU Intel. Implementace pro GPU AMD bude vytvořena od základů, podpoří GPU minimálně na základě architektury sady instrukcí RDNA1, a bude používat stack ROCm 6.1+ místo stacku ROCm 5, který byl používán v dříve vytvořené implementaci pro AMD. Parity funkcí s předchozí implementací, kterou byl Andrzej nucen stáhnout z veřejného přístupu, by mělo být dosaženo ve třetím čtvrtletí 2025.
Zdroj: opennet.ru
