What is rocFFT?#
Introduction#
The rocFFT library is an implementation of the discrete Fast Fourier Transform (FFT) written in HIP for GPU devices. The code is open and hosted here: ROCmSoftwarePlatform/rocFFT
The rocFFT library provides a fast and accurate platform for calculating discrete FFTs. It supports the following features:
Half (FP16), single, and double precision floating point formats
1D, 2D, and 3D transforms
Computation of transforms in batches
Real and complex FFTs
Arbitrary lengths, with optimizations for combinations of powers of 2, 3, 5, 7, 11, 13, and 17
rocFFT also has experimental support for:
Distributing transforms across multiple GPU devices in a single process
Distributing transforms across multiple MPI (Message Passing Interface) processes
FFT Computation#
The FFT is an implementation of the Discrete Fourier Transform (DFT) that makes use of symmetries in the DFT definition to
reduce the mathematical complexity from
What is computed by the library? Here are the formulas:
For a 1D complex DFT:
Where,
For a 2D complex DFT:
For
For a 3D complex DFT:
For