This chapter describes the installation and customization of FFTW, the latest version of which may be downloaded from the FFTW home page.
In principle, FFTW should work on any system with an ANSI C compiler
(gcc
is fine). However, planner time is drastically reduced if
FFTW can exploit a hardware cycle counter; FFTW comes with cycle-counter
support for all modern general-purpose CPUs, but you may need to add a
couple of lines of code if your compiler is not yet supported
(see Cycle Counters). (On Unix, there will be a warning at the end
of the configure
output if no cycle counter is found.)
Installation of FFTW is simplest if you have a Unix or a GNU system, such as GNU/Linux, and we describe this case in the first section below, including the use of special configuration options to e.g. install different precisions or exploit optimizations for particular architectures (e.g. SIMD). Compilation on non-Unix systems is a more manual process, but we outline the procedure in the second section. It is also likely that pre-compiled binaries will be available for popular systems.
Finally, we describe how you can customize FFTW for particular needs by generating codelets for fast transforms of sizes not supported efficiently by the standard FFTW distribution.