Andrzej Janik a prezentat planul de dezvoltare a proiectului ZLUDA, care dezvoltă o implementare deschisă a tehnologiei CUDA. Dacă prima variantă ZLUDA a fost destinată creării unei implementări CUDA pentru GPU Intel, iar a doua pentru GPU AMD, varianta prezentată acum se va concentra pe dezvoltarea unei implementări universale CUDA pentru orice GPU, diferit de GPU NVIDIA. Scopul proiectului ZLUDA este declarat ca fiind furnizarea pe sistemele cu GPU, diferite de NVIDIA, a posibilității de a rula aplicații CUDA nealterate, cu performanțe apropiate de cele ale aplicațiilor care rulează fără straturi intermediare. Codul proiectului continuă să fie distribuit sub licențele MIT și Apache 2.0.
Inițial, proiectul ZLUDA a fost dezvoltat pentru GPU Intel, dar în 2021 această companie a considerat că oferirea posibilității de a rula aplicații CUDA pe GPU Intel nu este de interes pentru afaceri și nu a sprijinit dezvoltarea inițiativei. La începutul anului 2022, dezvoltatorul a părăsit Intel și a semnat un contract cu AMD pentru dezvoltarea unei soluții de compatibilitate CUDA pentru GPU-ul acestei companii. După doi ani, compania AMD și-a pierdut interesul față de posibilitatea de a rula aplicații CUDA pe GPU AMD.
Conform termenilor contractului și după obținerea permisiunii de publicare din partea reprezentantului AMD în timpul corespondenței prin e-mail, Andrzej a deschis codul realizărilor create în timpul lucrului la AMD, care permit rularea aplicațiilor CUDA peste stiva ROCm și runtime HIP (Heterogeneous-computing Interface for Portability) dezvoltată de AMD. La șase luni după publicare, avocații AMD au contactat-o pe Andrzej și i-au dat de înțeles că permisiunea acordată anterior în corespondență nu are valoare juridică. Prin urmare, Andrzej a fost nevoit să elimine de la accesul public codul ZLUDA, creat în timpul lucrului în AMD.
Noua variantă ZLUDA se va baza pe codul existent înainte de începerea lucrului lui Andrzej la AMD, nu va fi legată de GPU-uri specifice și se va concentra pe execuția aplicațiilor care utilizează CUDA pentru accelerarea sarcinilor legate de învățarea automată și inteligența artificială (anterior, ZLUDA s-a concentrat în principal pe aplicații de creare de conținut, precum Arnold Render, Blender și 3DF Zephyr). Printre altele, se preconizează că va oferi posibilitatea de a folosi cadrele Llama.cpp, PyTorch și TensorFlow deasupra ZLUDA, utilizând optimizările CUDA aplicate pentru GPU-urile NVIDIA.
La început, proiectul se va concentra pe lucrul cu GPU-uri AMD, dar ulterior va fi adaptat pentru GPU-uri Intel. Implementarea pentru GPU-uri AMD va fi creată de la zero, va suporta GPU-uri bazate pe arhitectura setului de instrucțiuni RDNA1 și va utiliza stiva ROCm 6.1+ în loc de stiva ROCm 5, utilizată în implementarea anterioară pentru AMD. Se preconizează că paritatea funcționalității cu implementarea anterioară, pe care Andrzej a fost nevoit să o elimine din accesul public, va fi atinsă în trimestrul III al anului 2025.
Sursa: opennet.ro
