Fast Fourier Transforms

The NVIDIA CUDA Fast Fourier Transform library (cuFFT) provides GPU-accelerated FFT implementations that perform up to 10x faster than CPU-only alternatives. Using simple APIs, you can accelerate existing CPU-based FFT implementations in your applications with minimal code changes. As your application grows, you can use cuFFT to scale your image and signal processing applications efficiently across multiple GPUs.

cuFFT is a foundational library based on the well-known Cooley-Tukey and Bluestein algorithms. It is used for building commercial and academic applications across disciplines such as computational physics, molecular dynamics, quantum chemistry, seismic and medical imaging. With support for batched transforms and optimized precision arithmetic, it is widely used for building deep-learning based computer vision applications.

Download Now
Explore what’s new in the latest release...

High Performance

cuFFT performs faster than alternatives through new algorithms and optimizations. The latest version, in CUDA 8, runs up to 6x faster than the previous version. Your application automatically benefits from such regular platform improvements without any code changes.

Learn More...


The cuFFT library can distribute your application across multi-GPU configurations so that you can solve larger problems efficiently.

Key Features

  • 1D, 2D, 3D transforms of complex and real data types
  • 1D transform sizes up to 128 million elements
  • Flexible data layouts by allowing arbitrary strides between individual elements and array dimensions
  • FFT algorithms based on Cooley-Tukey and Bluestein
  • Familiar API similar to FFTW Advanced Interface
  • Streamed asynchronous execution
  • Single and double precision transforms
  • Batch execution for doing multiple transforms
  • In-place and out-of-place transforms
  • Flexible input & output data layouts, similar to FFTW "Advanced Interface"
  • Thread-safe & callable from multiple host threads

Product Resources


The cuFFT library is freely available as part of the CUDA Toolkit. Find additional examples in the cuFFT code samples section of the CUDA documentation..