NVIDIA cuFFTDx¶
The cuFFT Device Extensions (cuFFTDx) library enables you to perform Fast Fourier Transform (FFT) calculations inside your CUDA kernel. Fusing FFT with other operations can decrease the latency and improve the performance of your application.
cuFFTDx is a part of the MathDx package which also includes the cuBLASDx library providing selected linear algebra functions like General Matrix Multiplication (GEMM). Both libraries are designed to work together. Examples of kernels with both libraries are included in the package as cuBLASDx samples. When using multiple device extensions libraries in a single project they should all come from the same MathDx release.
The documentation consists of three main components:
A quick start guide, First FFT Using cuFFTDx.
An cuFFTDx API Reference for a comprehensive overview of the provided functionality.
Highlights¶
The cuFFTDx library provides:
Fast Fourier Transform (FFT) CUDA functions embeddable into a CUDA kernel.
High performance, no unnecessary data movement from and to global memory.
Customizability, options to adjust selection of FFT routine for different needs (size, precision, number of batches, etc.).
Ability to fuse FFT kernels with other operations in order to save global memory trips.
Compatibility with future versions of the CUDA Toolkit.