## 5 Parallel FFTW

In this chapter we discuss the use of FFTW in a parallel environment.

Currently, FFTW 3 includes parallel transforms for shared-memory machines with some flavor of threads (e.g. POSIX threads); any program using FFTW can be trivially modified to use these transforms, which are documented in Multi-threaded FFTW.

Users calling FFTW from a multi-threaded program should also consult Thread safety. This section tells you which routines of FFTW it is safe to call in parallel from different shared-memory threads.

FFTW 2 also contains distributed-memory parallel transforms using the MPI message-passing standard. MPI transforms are not yet available in FFTW 3, so users requiring that capability must use FFTW 2 for now.