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 handoptimized 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 “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

CompilerComputer scienceSIMDImplementationSineDiscrete cosine transformPrime (order theory)Trigonometric functionsSoftwareDiscrete Fourier transform (general)Sine and cosine transformsFast Fourier transformSoftware implementationAlgorithmParallel computingComputer engineeringFourier transformProgramming languageFourier analysisMathematicsArtificial intelligence

Affiliated Institutions

Related Publications

Optuna

The purpose of this study is to introduce new design-criteria for next-generation hyperparameter optimization software. The criteria we propose include (1) define-by-run API tha...

2019 Proceedings of the 25th ACM SIGKDD In... 5681 citations

Publication Info

Year
2005
Type
article
Volume
93
Issue
2
Pages
216-231
Citations
4992
Access
Closed

External Links

Social Impact

Altmetric

Social media, news, blog, policy document mentions

Citation Metrics

4992
OpenAlex

Cite This

Matteo Frigo, Steven G. Johnson (2005). The Design and Implementation of FFTW3. Proceedings of the IEEE , 93 (2) , 216-231. https://doi.org/10.1109/jproc.2004.840301

Identifiers

DOI
10.1109/jproc.2004.840301