FFTW is a free collection of fast C routines for computing the Discrete
Fourier Transform in one or more dimensions. It includes complex, real,
symmetric, and parallel transforms, and can handle arbitrary array sizes
efficiently. FFTW is typically faster than other publically-available FFT
implementations, and is even competitive with vendor-tuned libraries.
By default non-portable binaries will be created. If you need to create
a package that is shared among various machines, pass PORTABLE=yes to the
script.
To enable SSE or SSE2 SIMD optimizations pass SSE=yes or SSE2=yes respectively
to the script. Enabling these will still create a portable package as fftw falls
back to the standard code, if the optimized one isn't supported on the cpu.
However, to be able to build them your cpu has to actually support those
extensions.