Andrzej Janik hat die Veröffentlichung von ZLUDA 6, einer offenen Implementierung der CUDA-Technologie, vorgestellt. Das Ziel des Projekts ist es, die Ausführung nicht modifizierter CUDA-Anwendungen auf Systemen mit anderen GPUs als NVIDIA GPUs zu ermöglichen, mit einer Leistung, die der von Anwendungen ohne Abstraktionsschichten sehr nahekommt. Der Code des Projekts ist in Rust geschrieben und wird unter den Lizenzen MIT und Apache 2.0 veröffentlicht.
ZLUDA 6 ist die dritte bedeutende Veröffentlichung des Projekts, die nach
der Bereinigung des Codes von Elementen, die während Andrzejs Zeit bei AMD entwickelt wurden, entstanden ist. Seit 2022 arbeitete Andrzej bei AMD an einer Schicht zur Kompatibilität von AMD GPUs mit CUDA, aber im Jahr 2024 wurde das Projekt eingestellt. Entsprechend den Vertragsbedingungen und nach Erhalt der Genehmigung zur Veröffentlichung von einem Vertreter von AMD hat Andrzej den Code der während seiner Zeit bei AMD entwickelten Arbeiten geöffnet, die die Ausführung von CUDA-Anwendungen über den ROCm-Stack und die HIP-Laufzeit (Heterogeneous-computing Interface for Portability) ermöglichen.
Vor zwei Jahren sah sich Andrzej gezwungen, den Code aus dem öffentlich zugänglichen Bereich zu entfernen, nachdem er ein Schreiben von Anwälten erhalten hatte, das klarstellte, dass die Zustimmung, die während der E-Mail-Korrespondenz gegeben wurde, rechtlich nicht bindend ist. In der Folge begann Andrzej mit der Arbeit an einer neuen Version von ZLUDA, die auf dem Code basiert, der vor seinem Eintritt bei AMD existierte. Aktuell konzentriert sich die Entwicklung auf Anwendungen, die CUDA nutzen, um Aufgaben im Bereich des maschinellen Lernens zu beschleunigen. Derzeit ist das Projekt auf AMD-GPUs beschränkt, wird jedoch in Zukunft auch für Intel-GPUs angepasst.
Die neue Version beinhaltet grundlegende Unterstützung für die Ausführung der Physik-Simulationsengine PhysX und des 3D-Modellierungssystems Blender auf ZLUDA. Die Unterstützung für PhysX hat momentan den Status einer frühen Implementierung.
Die Alpha-Version ist mit der Möglichkeit zur Ausführung von 32-Bit-PhysX-Builds eingeschränkt, was es auf Systemen mit AMD-GPUs ermöglicht, einige ältere Spiele, die diese Engine nutzen, auszuführen. Zum Beispiel konnte in Mafia II nach der Aktivierung von ZLUDA die FPS von 26 auf 80 Bilder pro Sekunde gesteigert werden. Die Unterstützung von Texturen wurde implementiert, um Blender mit ZLUDA nutzen zu können. Die Unterstützung für die Windows-Plattform wurde erheblich verbessert. Es wurden erweiterte Möglichkeiten für die Ausführung von großen Sprachmodellen (wie PyTorch) über ZLUDA mit CUDA-Optimierungen für NVIDIA-GPUs geschaffen.
Quelle: opennet.ru
