A new pull request for ZLUDA, the open-source layer that runs NVIDIA CUDA software on AMD graphics cards, adds support for cuFFT. That is NVIDIA's library for fast Fourier transforms, a type of math used to pull frequency information out of a signal. The change merged into the project on September 22, 2026. Phoronix reports it lets Folding@Home's distributed-computing client run CUDA-based work on AMD Radeon GPUs with no changes to the software itself.
A Fourier transform turns a signal, such as an image or a stretch of audio, into a list of the frequencies it contains. Scientific software, some machine-learning pipelines, and Folding@Home's protein-folding client all lean on cuFFT for that math. Until now, that code path only ran on NVIDIA hardware.
How the translation works
ZLUDA catches the calls a program makes to NVIDIA's CUDA libraries and reroutes them to matching AMD tools instead. For cuFFT, the merged pull request forwards those calls to hipFFT, AMD's own FFT library.
One detail needed extra care. CUDA identifies each FFT plan with a 32-bit number, called a handle. hipFFT instead uses a raw memory pointer for the same job. Truncating or reinterpreting that pointer directly could crash the program or quietly return wrong results. So the pull request builds a synchronized registry that maps CUDA's numeric handles to hipFFT's pointers instead. hipFFT itself loads at runtime, with separate setup code for Windows and Linux.
The port covers only the cuFFT functions that have a direct hipFFT match, not the whole library. The pull request lists what was tested before the merge:
| Area tested | Result |
|---|---|
| Handle lifecycle management | Passed |
| Workspace configuration | Passed |
| 64-bit transform planning | Passed |
| 3D real-to-complex transforms | Passed |
| Folding@Home Core24 and Core27 work units | Ran successfully |
What still needs work
ZLUDA maintainer vosen flagged three issues while reviewing the change, according to the pull request. Handle IDs could in theory overflow. A global lock could serialize FFT operations more than needed. And some error codes coming back from hipFFT are not yet mapped to the matching CUDA error, a gap the review marked medium-to-high severity.
Testing is also uneven across platforms. Windows builds and AMD hardware tests both passed, and the code compiles cleanly on Linux. But the pull request's author, AmosKito1, wrote that they had "limited Linux testing capacity." The Linux path has seen less real-world use than the Windows one so far.
What this means for developers
If your software calls cuFFT and you want to try it on AMD hardware through ZLUDA, check first that every function you use has a direct hipFFT match. The port does not cover the full API yet. Expect the Windows path to be better tested than Linux for now. Hold off on anything long-running or safety-critical until the handle-overflow and error-mapping gaps that vosen flagged get closed.
Folding@Home users get the clearest benefit today. Their AMD cards can now pick up CUDA work units that need cuFFT, work that previously went only to NVIDIA GPUs. Anyone maintaining GPU-accelerated scientific or signal-processing code built on cuFFT now has a second hardware target to test against, without rewriting for a native AMD library.
This article was first published on Tech AI Wire.
Also available in
Deutsch · 日本語 · Français · Español · Português
Sources
- ZLUDA Now Implements Some NVIDIA cuFFT APIs With hipFFT - Phoronix
- Implement core cuFFT APIs with hipFFT (#672) - GitHub (vosen/ZLUDA)
Top comments (0)