Andrzej Janik a présenté un plan pour le développement ultérieur du projet ZLUDA, qui développe une implémentation ouverte de la technologie CUDA. Alors que la première version de ZLUDA visait à créer une implémentation CUDA pour les GPU Intel et la seconde pour les GPU AMD, la troisième option présentée maintenant se concentrera sur le développement d'une implémentation universelle CUDA pour tous les GPU autres que les GPU NVIDIA. L'objectif du projet ZLUDA est de fournir aux systèmes équipés de GPU non NVIDIA la possibilité d'exécuter des applications CUDA non modifiées avec des performances proches de celles des applications exécutées sans couches. Le code du projet continue d'être distribué sous les licences MIT et Apache 2.0.
Initialement, le projet ZLUDA a été développé pour les GPU Intel, mais en 2021, cette société a considéré que la possibilité d'exécuter des applications CUDA sur des GPU Intel ne présentait aucun intérêt commercial et n'a pas soutenu le développement de l'initiative. Début 2022, le développeur a quitté Intel et a signé un contrat avec AMD pour développer une couche de compatibilité CUDA pour les GPU de l'entreprise. Après deux ans, AMD a perdu tout intérêt pour l'exécution d'applications CUDA sur les GPU AMD.
Conformément aux termes du contrat et après avoir reçu l'autorisation de publication d'un représentant d'AMD, lors d'une correspondance par courrier électronique, Andrzej a ouvert le code des développements créés alors qu'il travaillait chez AMD et permettant d'exécuter des applications CUDA au-dessus de la pile ROCm et du runtime HIP. (Heterogeneous-computing) développé par AMD Interface for Portability). Six mois après la publication, les avocats d'AMD ont contacté Andrzej et lui ont clairement indiqué que l'autorisation précédemment fournie lors de la correspondance n'avait aucune force juridique. En conséquence, Andrzej a été contraint de supprimer du domaine public le code ZLUDA créé alors qu'il travaillait chez AMD.
La nouvelle version de ZLUDA s'appuiera sur la base de code qui existait avant qu'Andrzej ne commence à travailler sur AMD, ne sera liée à aucun GPU spécifique et se concentrera sur l'exécution d'applications utilisant CUDA pour accélérer les tâches liées à l'apprentissage automatique et à l'intelligence artificielle (auparavant ZLUDA se concentrait principalement sur les applications de création de contenu telles que Arnold Render, Blender et 3DF Zephyr). Entre autres choses, il est prévu d'offrir la possibilité d'exécuter les frameworks Llama.cpp, PyTorch et TensorFlow sur ZLUDA en utilisant les optimisations CUDA utilisées pour les GPU NVIDIA.
Dans un premier temps, le projet se concentrera sur les GPU AMD, mais il sera ensuite adapté aux GPU Intel. L'implémentation du GPU AMD sera créée à partir de zéro, prendra en charge les GPU basés au moins sur l'architecture du jeu d'instructions RDNA1 et utilisera la pile ROCm 6.1+ au lieu de la pile ROCm 5 utilisée dans l'implémentation AMD créée précédemment. La parité des fonctionnalités avec la mise en œuvre précédente, qu'Andrzej a été contraint de retirer de l'accès public, devrait être atteinte au troisième trimestre 2025.
Source: opennet.ru
