Andrzej Janik hat einen Plan zur weiteren Entwicklung des ZLUDA-Projekts vorgestellt, das eine Open-Source-Implementierung der CUDA-Technologie entwickelt. Während die erste Version von ZLUDA darauf abzielte, eine CUDA-Implementierung für Intel-GPUs zu erstellen und die zweite Version für AMD-GPUs, wird sich die jetzt vorgestellte dritte Version auf die Entwicklung einer universellen CUDA-Implementierung für beliebige GPUs konzentrieren, die nicht von NVIDIA stammen. Ziel des ZLUDA-Projekts ist es, auf Systemen mit GPUs, die nicht von NVIDIA stammen, die Ausführung von unmodifizierten CUDA-Anwendungen mit einer Leistung zu ermöglichen, die der von Anwendungen, die ohne Schichten ausgeführt werden, nahekommt. Der Code des Projekts wird weiterhin unter den Lizenzen MIT und Apache 2.0 verbreitet.
Ursprünglich wurde das ZLUDA-Projekt für Intel-GPUs entwickelt, aber im Jahr 2021 entschloss sich das Unternehmen, die Möglichkeit zur Ausführung von CUDA-Anwendungen auf Intel-GPUs als geschäftlich uninteressant zu betrachten und unterstützte die Entwicklung der Initiative nicht weiter. Zu Beginn des Jahres 2022 schied der Entwickler bei Intel aus und schloss einen Vertrag mit AMD zur Entwicklung einer Kompatibilitätsschicht für CUDA für die GPUs dieses Unternehmens ab. Nach zwei Jahren verlor AMD das Interesse an der Möglichkeit, CUDA-Anwendungen auf AMD-GPUs auszuführen.
Entsprechend den Vertragsbedingungen und nach Erhalt der Genehmigung zur Veröffentlichung von einem Vertreter von AMD im Rahmen der E-Mail-Korrespondenz hat Andrzej den Code der Arbeiten, die während seiner Zeit bei AMD erstellt wurden und die die Ausführung von CUDA-Anwendungen über den von AMD entwickelten ROCm-Stack und das HIP-Laufzeitsystem (Heterogeneous-computing Interface for Portability) ermöglichen, veröffentlicht. Sechs Monate nach der Veröffentlichung haben Anwälte von AMD Kontakt zu Andrzej aufgenommen und zu verstehen gegeben, dass die vorherige Genehmigung in der Korrespondenz keine rechtliche Gültigkeit hat. Infolgedessen war Andrzej gezwungen, den Code von ZLUDA, der während seiner Zeit bei AMD erstellt wurde, aus dem öffentlichen Zugang zu entfernen.
Die neue Version von ZLUDA wird auf der Codebasis basieren, die vor dem Beginn der Arbeit von Andrzej bei AMD existierte, wird nicht an bestimmte GPUs gebunden sein und wird sich auf die Ausführung von Anwendungen konzentrieren, die CUDA zur Beschleunigung von Aufgaben im Zusammenhang mit maschinellem Lernen und künstlicher Intelligenz verwenden (früher war ZLUDA hauptsächlich auf Anwendungen zum Erstellen von Inhalten wie Arnold Render, Blender und 3DF Zephyr ausgerichtet). Es ist unter anderem geplant, die Verwendung der Frameworks Llama.cpp, PyTorch und TensorFlow über ZLUDA mit CUDA-Optimierungen zu ermöglichen, die für NVIDIA-GPUs angewendet werden.
In der Anfangszeit wird das Projekt auf die Arbeit mit AMD-GPUs fokussiert sein, wird aber anschließend für Intel-GPUs angepasst. Die Implementierung für AMD-GPUs wird von Grund auf neu erstellt, wird GPUs unterstützen, die mindestens auf der RDNA1-Befehlssatzarchitektur basieren, und wird den ROCm 6.1+-Stack anstelle des zuvor für die AMD-Implementierung verwendeten ROCm 5-Stacks nutzen. Ein Funktionsparität mit der früheren Implementierung, die Andrzej aus dem offenen Zugang entfernen musste, wird für das dritte Quartal 2025 angestrebt.
Quelle: opennet.ru
