NEWS

CUDA on ROCm

Open-Source-API ermöglicht CUDA-Code auf AMD-Beschleunigern

Portrait des Authors


Open-Source-API ermöglicht CUDA-Code auf AMD-Beschleunigern
11

Werbung

Mit CUDA hat sich NVIDIA eine komplette Software-Umgebung geschaffen, die über lange Jahre quasi der Standard für das GPU-Computing war und es größtenteils noch immer ist. Intel und AMD mussten ihre Software-Strategie erst neu aufstellen, um eine Alternative am Markt entwickeln zu können, was mit oneAPI und ROCm teilweise gelungen ist. Hauptargument beider APIs ist, dass sie als Open-Source entwickelt werden.

Dabei haben sich immer wieder interessante Entwicklungen ergeben, mit deren Hilfe die Hardware des Konkurrenten auf der eigenen Softwareumgebung schneller sein sollte, als die native Lösung des Herstellers. Eine dieser Entwicklungen war ZLUDA von Andrzej Janik, der zwischenzeitlich im Rahmen des Projekts bei Intel angestellt war. ZLUDA (GitHub-Link) basierte auf oneAPI Level Zero und ermöglichte das Ausführen von CUDA-Code auf Intel-GPUs. Ab 2022 war er dann für AMD tätig und sollte ein ähnliches Projekt für CUDA auf ROCm durchführen, was wohl auch gelungen ist, aber nie das Licht der Welt erblickt hat.

Nun wurde ZLUDA als Open-Source freigegeben und unter anderem von Phoronix getestet. Eine Anpassung der CUDA-Software ist nicht notwendig. Die Binaries können einfach geladen und auf einer AMD-GPU ausgeführt werden.

Die Benchmarks von Phoronix sind erstaunlich: Teilweise sind die Ergebnisse mit ZLUDA deutlich schneller, als die nativen ROCm/HIP-Implementationen. Natürlich gibt es auch immer Ausnahmen von der Regel und die Leistung liegt hinter denen mit OpenCL zurück oder dergleichen.

Dennoch hat sich AMD an einem gewissen Punkt dazu entschieden, die Entwicklung nicht weiter fortzusetzen. Vermutlich wollte man sich komplett auf die eigenen ROCm-Plattform konzentrieren. Stand heute macht dies durchaus Sinn, denn neben CUDA etablieren sich ROCm (auf niedrigem Niveau) und vor allem oneAPI immer stärker. Die große Vormachtstellung von NVIDIA ist jedoch noch immer ungebrochen. Vor vier bis fünf Jahren hätte eine ZLUDA-API eine deutlich größere Kerbe hinterlassen können, davon ist nun nicht mehr zwingend auszugehen. Vielleicht aber kann die Weiterentwicklung von ROCm durch ZLUDA profitieren.

Auch Intel hatte bereits mehrfach vermeldet, dass Hardware mit NVIDIA-GPU auf der eigenen oneAPI teilweise schneller läuft, als nativ unter CUDA. Dennoch dürften eine Großteil der Anwendungs-Software auf der zur Hardware vorgesehenen API laufen.

Quellen und weitere Links KOMMENTARE (11)