Fast Fourier Transform (FFT) on GPUs

  • Yash Ukidave
  • Gunar Schirner
  • David KaeliEmail author


The Fast Fourier Transform (FFT) is pre-dominantly used in the signal processing community to perform time-frequency domain transforms. This chapter describes tradeoffs when mapping the FFT to a GPUs. It presents different implementations of the algorithm for computing the FFT. The chapter includes a design strategy for mapping the FFT computation to a GPU. It also provides example code showing how to develop OpenCL code to compute the 1D and 2D FFT, and includes the host code written in C. The chapter provides the performance results of the execution of the FFT code as run on AMD and Nvidia GPUs.


Fast Fourier Transform Discrete Fourier Transform Fast Fourier Transform Algorithm Twiddle Factor Kernel Code 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    AMD: clAmdfft, OpenCL FFT library from AMD (2013)Google Scholar
  2. 2.
    Cooley, J., Tukey, J.: An algorithm for the machine calculation of complex Fourier series. Math. Comput. 19, 297–301 (1965)CrossRefzbMATHMathSciNetGoogle Scholar
  3. 3.
    Moreland, K., Angel, E.: The FFT on a GPU. In: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Conference on Graphics Hardware, pp. 112–120 (2003)Google Scholar
  4. 4.
    Munshi, A.: The OpenCL 1.2 Specification. Khronos OpenCL Working Group, Beaverton (2012)Google Scholar
  5. 5.
    Nvidia: Cufft library (2010)Google Scholar
  6. 6.
    NVIDIA: CUDA Programming Guide, Version 5 (2012)Google Scholar
  7. 7.
    Van Loan, C.: Computational Frameworks for the Fast Fourier Transform. Society for Industrial and Applied Mathematics (1992). doi:10.1137/1.9781611970999.

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  1. 1.Northeastern UniversityMAUSA

Personalised recommendations