Kokkos-FFT v1.0 release
Kokkos-FFT key features
We are pleased to announce that Kokkos-FFT v1.0 has just been released, and has reached the production level. Let us recap its key features [1]:
-
Integrated naturally in the Kokkos ecosystem on top of Kokkos Views and Kokkos ExecutionSpace.
-
A simple interface like
numpy.fftwith in-place and out-of-place transforms:
Only acceptsKokkos Viewsto make APIs simple and safe. -
1D, 2D, 3D standard and real FFT functions (similar to
numpy.fft) over 1D to 8D Kokkos Views:
Batched plans are automatically used ifViewdimension is larger than FFT dimension. -
A reusable FFT plan which wraps the vendor libraries for various Kokkos backends: FFTW for Host Backends (
Serial,OpenMP, andThreads), cuFFT forCudabackend, hipFFT (rocFFT) forHIPbackend, and oneMKL forSYCLbackend are automatically enabled based on the enabled Kokkos backends. -
Compile-time and run-time checks for invalid usage (e.g.
Viewextents mismatch).
Major changes in release v1.0
By releasing Kokkos-FFT v1.0, we consider KokkosFFT production-ready and the experimental warning has been suppressed. Here are the major changes:
-
To align with
Kokkos5.0, we have set C++20 as a minimal requirement (minimum requirement ofKokkosis still 4.6, but recommended to useKokkos5.0 or later). -
We have improved the documentations.
-
You can expect the APIs to remain stable; we follow semantic versioning and will not break current APIs under
KokkosFFTnamespace, until the next major release. -
We have created a
Spackrecipe to ease installation. -
You can join us in the #kokkos-fft channel for support on the Kokkos Slack Workspace.
Future developments
We are planning to add the following functionalities. Contributions to the project are highly welcomed (see developer guide).
-
Multi-GPU support with MPI. We have started the integration of a prototype [2] into the Kokkos-FFT repository (see the thumbnail for the x component of vorticity plot from a distributed Taylor–Green vortex simulation).
-
Device callable batched capability of FFTs like
Kokkos Kernels -
Supporting callbacks if backend library supports that
References
[1] Y. Asahi, T. Padioleau, P. Zehner, J. Bigot and D Lebrun-Grandie, kokkos-fft: A shared-memory FFT for the Kokkos ecosystem, Journal of Open Source Software (JOSS), 10(111), 8391, https://doi.org/10.21105/joss.08391
[2] Yuuichi Asahi, Trévis Morvany, Thomas Padioleau, and Julien Bigot. 2025. Development of a performance portable distributed FFT interface on top of the Kokkos ecosystem. In Proceedings of the SC ’25 Workshops of the International Conference for High Performance Computing, Networking, Storage and Analysis (SC Workshops ’25). Association for Computing Machinery, New York, NY, USA, 1233–1242. doi:10.1145/3731599.3767494