Andrzej Janik präsentierte die Veröffentlichung von ZLUDA 6, einer offenen Implementierung der CUDA-Technologie. Ziel des Projekts ist es, die Ausführung von nicht modifizierten CUDA-Anwendungen auf Systemen mit GPUs, die von NVIDIA abweichen, zu ermöglichen, mit einer Leistung, die nahe an der von Anwendungen liegt, die ohne Schichten ausgeführt werden. Der Code des Projekts ist in Rust geschrieben und wird unter den Lizenzen MIT und Apache 2.0 verbreitet.
ZLUDA 6 ist die dritte bedeutende Veröffentlichung des Projekts, die nach
der Bereinigung des Codes, der während von Andrzej bei AMD erstellt wurde, entstanden ist. Seit 2022 arbeitete Andrzej bei AMD an der Entwicklung einer Schicht zur Kompatibilität von AMD GPUs mit CUDA, aber im Jahr 2024 wurde das Projekt eingestellt. In Übereinstimmung mit den Bedingungen des Vertrags und nach Erhalt der Genehmigung zur Veröffentlichung von einem Vertreter von AMD öffnete Andrzej den Code seiner Arbeiten, die während seiner Zeit bei AMD erstellt wurden und die Ausführung von CUDA-Anwendungen über den ROCm-Stack und das HIP-Laufzeitumfeld (Heterogeneous-computing Interface for Portability) ermöglichen.
Im vorletzten Jahr sah sich Andrzej gezwungen, den Code aus dem öffentlichen Zugriff zu entfernen, nachdem er ein Schreiben von Anwälten erhalten hatte, das klarstellte, dass die im Email-Verkehr gegebene Genehmigung rechtlich nicht bindend ist. Danach begann Andrzej mit der Arbeit an einer neuen Version von ZLUDA, die auf der Code-Basis basiert, die vor Beginn von Andrzejs Arbeit bei AMD existierte. Der aktuelle Entwicklungsstand konzentriert sich auf die Ausführung von Anwendungen, die CUDA zur Beschleunigung von Aufgaben im Bereich des maschinellen Lernens verwenden. Das Projekt beschränkt sich derzeit auf die Verwendung von AMD GPUs, wird jedoch zukünftig auch für Intel GPUs angepasst.
In der neuen Version wurde eine erste Unterstützung für den Betrieb des Physik-Simulations-Engines PhysX und des 3D-Modellierungs-Systems Blender über ZLUDA hinzugefügt. Die Unterstützung für PhysX hat derzeit den Status einer frühen
Alpha-Version und ist auf die Ausführung von 32-Bit-Bauversionen von PhysX beschränkt, was es ermöglicht, auf Systemen mit AMD GPUs einige ältere Spiele, die diese Engine verwenden, auszuführen. Zum Beispiel konnte in dem Spiel Mafia II nach der Aktivierung von ZLUDA die FPS von 26 auf 80 Bilder pro Sekunde gesteigert werden. Die Unterstützung für Texturen, die für die Ausführung von Blender mit ZLUDA ausreichend ist, wurde implementiert. Die Unterstützung für die Windows-Plattform wurde erheblich verbessert. Die Möglichkeiten zur Ausführung von Frameworks zur Durchführung großer Sprachmodelle (zum Beispiel PyTorch) unter Einbeziehung von CUDA-Optimierungen, die für NVIDIA GPUs verwendet werden, wurden erweitert.
Quelle: opennet.ru
