Go to the first, previous, next, last section, table of contents.

Introduction

This manual documents version 1.3 of FFTW, a collection of fast C routines for computing the Discrete Fourier Transform (DFT) in one or more dimensions. (We assume herein that the reader is already familiar with the properties and uses of the DFT that are relevant to her application.)

FFTW is unique in two respects. First, it is not just optimized for arrays whose sizes are powers of 2, 3, or other small numbers. Instead, FFTW comes with a code generator that can produce C programs for any particular array size you may care about. Second, it doesn't use a fixed strategy for performing the transform. There are usually many ways to decompose a big problem into small problems, and the optimal way often depends on many unpredictable factors. Unlike other programs, FFTW can find the optimal decomposition at runtime for the machine it is running on.

FFTW is usually faster (and sometimes much faster) than all other public-domain Fourier Transform programs found on The Net. For transforms whose size is a power of two, it compares favorably with the FFT codes in Sun's Performance Library and IBM's ESSL library. Moreover, FFTW's performance is portable, because FFTW automatically adapts itself to your machine, your cache, the size of your memory, the number of registers, and all the other factors that normally make it impossible to optimize a program for more than one machine. Even if you want to run the same program on two binary-compatible machines that have completely different performance characteristics, FFTW will run optimally on both, without requiring recompilation of the program.

Hence the name, "FFTW," which is an acronym for "Fastest Fourier Transform in the West." This claim is not completely true. No single program is fastest for every machine and transform size. However, FFTW's performance seems to be the best most of the time, and is rarely far behind that of the fastest code in other cases. We are continuing to update and improve FFTW, and are incorporating many algorithms in the hope of further increasing its performance.

An extensive comparison of FFTW's performance with that of other Fourier transform codes has been made. The results are available on the Web at:

http://theory.lcs.mit.edu/~benchfft

For more information regarding FFTW, see the paper, "The Fastest Fourier Transform in the West," by M. Frigo and S. G. Johnson, which is the technical report MIT-LCS-TR-728 (Sep. '97). See also, "FFTW: An Adaptive Software Architecture for the FFT," by M. Frigo and S. G. Johnson, which will appear in the 23rd International Conference on Acoustics, Speech, and Signal Processing (ICASSP '98). These papers, along with the latest version of FFTW, the FAQ, benchmarks, and other links, are available at the FFTW Home Page:

http://theory.lcs.mit.edu/~fftw


Go to the first, previous, next, last section, table of contents.