• DocumentCode
    1217928
  • Title

    The Design and Implementation of FFTW3

  • Author

    Frigo, Matteo ; Johnson, Steven G.

  • Author_Institution
    IBM Austin Res. Lab., TX, USA
  • Volume
    93
  • Issue
    2
  • fYear
    2005
  • Firstpage
    216
  • Lastpage
    231
  • Abstract
    FFTW is an implementation of the discrete Fourier transform (DFT) that adapts to the hardware in order to maximize performance. This paper shows that such an approach can yield an implementation that is competitive with hand-optimized libraries, and describes the software structure that makes our current FFTW3 version flexible and adaptive. We further discuss a new algorithm for real-data DFTs of prime size, a new way of implementing DFTs by means of machine-specific single-instruction, multiple-data (SIMD) instructions, and how a special-purpose compiler can derive optimized implementations of the discrete cosine and sine transforms automatically from a DFT algorithm.
  • Keywords
    discrete Fourier transforms; discrete cosine transforms; mathematics computing; optimising compilers; parallel programming; software libraries; DFT algorithm; FFTW3 design; FFTW3 version; cosine transforms; discrete Fourier transform; hand optimized libraries; machine specific single instruction; multiple data instructions; sine transforms; software structure; Data structures; Discrete Fourier transforms; Discrete cosine transforms; Discrete transforms; Fast Fourier transforms; Fourier transforms; Hardware; Multidimensional systems; Optimizing compilers; Software libraries; Adaptive software; Fourier transform; Hartley transform; I/O tensor; cosine transform; fast Fourier transform (FFT);
  • fLanguage
    English
  • Journal_Title
    Proceedings of the IEEE
  • Publisher
    ieee
  • ISSN
    0018-9219
  • Type

    jour

  • DOI
    10.1109/JPROC.2004.840301
  • Filename
    1386650