ZLUDA unterstützt jetzt cuFFT auf AMD-GPUs über hipFFT
Ein zusammengeführter Pull Request bringt NVIDIAs cuFFT-Bibliothek zu ZLUDA. AMD-GPUs können CUDA-basierte Folding@Home-Einheiten ohne Codeänderungen ausführen.
2 Min. Lesezeit

Ein neuer Pull Request für ZLUDA, die Open-Source-Schicht, die NVIDIA-CUDA-Software auf AMD-Grafikkarten ausführt, bringt Unterstützung für cuFFT. Das ist NVIDIAs Bibliothek für schnelle Fourier-Transformationen, eine Art Mathematik, mit der Frequenzinformationen aus einem Signal gewonnen werden. Die Änderung wurde am 22. September 2026 in das Projekt übernommen. Phoronix berichtet, dass Folding@Homes Client für verteiltes Rechnen dadurch CUDA-basierte Arbeit auf AMD-Radeon-GPUs ausführen kann, ohne die Software selbst zu ändern.
Eine Fourier-Transformation wandelt ein Signal, etwa ein Bild oder einen Ausschnitt Audio, in eine Liste der enthaltenen Frequenzen um. Wissenschaftliche Software, manche Machine-Learning-Pipelines und Folding@Homes Client für Proteinfaltung setzen für diese Mathematik auf cuFFT. Bisher lief dieser Codepfad nur auf NVIDIA-Hardware.
Wie die Übersetzung funktioniert
ZLUDA fängt die Aufrufe ab, die ein Programm an NVIDIAs CUDA-Bibliotheken richtet, und leitet sie stattdessen an passende AMD-Werkzeuge um. Für cuFFT leitet der zusammengeführte Pull Request diese Aufrufe an hipFFT weiter, AMDs eigene FFT-Bibliothek.
Ein Detail brauchte besondere Sorgfalt. CUDA kennzeichnet jeden FFT-Plan mit einer 32-Bit-Zahl, einem sogenannten Handle. hipFFT verwendet dafür stattdessen einen rohen Speicherzeiger. Diesen Zeiger direkt abzuschneiden oder umzudeuten hätte das Programm abstürzen lassen oder leise falsche Ergebnisse liefern können. Deshalb baut der Pull Request eine synchronisierte Registrierung auf, die CUDAs numerische Handles auf hipFFTs Zeiger abbildet. hipFFT selbst lädt erst zur Laufzeit, mit getrenntem Einrichtungscode für Windows und Linux.
Der Port deckt nur die cuFFT-Funktionen ab, die eine direkte hipFFT-Entsprechung haben, nicht die gesamte Bibliothek. Der Pull Request listet auf, was vor der Zusammenführung getestet wurde:
| Getesteter Bereich | Ergebnis |
|---|---|
| Verwaltung des Handle-Lebenszyklus | Bestanden |
| Konfiguration des Arbeitsspeichers | Bestanden |
| 64-Bit-Transformationsplanung | Bestanden |
| 3D-Real-zu-komplex-Transformationen | Bestanden |
| Folding@Home-Arbeitseinheiten Core24 und Core27 | Erfolgreich gelaufen |
Was noch fehlt
ZLUDA-Maintainer vosen wies bei der Durchsicht der Änderung laut Pull Request auf drei Punkte hin. Handle-IDs könnten theoretisch überlaufen. Eine globale Sperre könnte FFT-Operationen stärker als nötig serialisieren. Und manche Fehlercodes aus hipFFT sind noch nicht auf den passenden CUDA-Fehler abgebildet, eine Lücke, die die Durchsicht als mittelschwer bis schwer einstufte.
Auch die Testabdeckung ist zwischen den Plattformen ungleich. Windows-Builds und Tests auf AMD-Hardware bestanden beide, und der Code lässt sich unter Linux sauber kompilieren. Doch der Autor des Pull Requests, AmosKito1, schrieb, er habe "begrenzte Testkapazität unter Linux". Der Linux-Pfad hat bisher weniger reale Nutzung gesehen als der Windows-Pfad.
Was das für Entwickler bedeutet
Wenn Ihre Software cuFFT aufruft und Sie sie über ZLUDA auf AMD-Hardware testen wollen, prüfen Sie zuerst, ob jede verwendete Funktion eine direkte hipFFT-Entsprechung hat. Der Port deckt noch nicht die gesamte API ab. Rechnen Sie damit, dass der Windows-Pfad derzeit besser getestet ist als der Linux-Pfad. Warten Sie mit langlaufenden oder sicherheitskritischen Aufgaben, bis die von vosen genannten Lücken bei Handle-Überlauf und Fehlerabbildung geschlossen sind.
Folding@Home-Nutzer profitieren heute am deutlichsten. Ihre AMD-Karten können jetzt CUDA-Arbeitseinheiten übernehmen, die cuFFT benötigen und bisher nur an NVIDIA-GPUs gingen. Wer GPU-beschleunigten wissenschaftlichen oder signalverarbeitenden Code pflegt, der auf cuFFT aufbaut, hat jetzt ein zweites Hardware-Ziel zum Testen, ohne für eine native AMD-Bibliothek umzuschreiben.
Quellen
- ZLUDA Now Implements Some NVIDIA cuFFT APIs With hipFFT - Phoronix
- Implement core cuFFT APIs with hipFFT (#672) - GitHub (vosen/ZLUDA)
Ähnliche Artikel

Nouveau bootet inoffiziell auf Nvidias DGX Spark GB10
Ein Red-Hat-Ingenieur hat den quelloffenen Nouveau-Treiber und NVK auf Nvidias DGX Spark GB10 zum Laufen gebracht. Dafür brauchte es rund 100 Patches, und der Weg ins Upstream ist noch offen.

Snapdragon X2 bekommt eine frühe Linux-Entwicklervorschau
Qualcomms Linux-Vorschau für Snapdragon X2 kam am 23. September 2026, mit offizieller Kernel-Unterstützung ab etwa November 2026.

FEX-Emu erklärt die Kosten von x86-TSO auf Arm
Die Nachbildung der x86-Speicherregeln auf Arm senkt den Durchsatz bei unausgerichteten Zugriffen auf 8,5% des Ausgangswerts. Write-Combine-Speicherungen sollen 816-mal schlechter sein.