All of the FFTW threads code is located in the threads
subdirectory of the FFTW package. On Unix systems, the FFTW threads
libraries and header files can be automatically configured, compiled,
and installed along with the uniprocessor FFTW libraries simply by
including --enable-threads
in the flags to the configure
script (see Installation on Unix).
The threads routines require your operating system to have some sort
of shared-memory threads support. Specifically, the FFTW threads
package works with POSIX threads (available on most Unix variants,
from GNU/Linux to MacOS X) and Win32 threads. We also support using
OpenMP, enabled by using
--enable-openmp
(instead of --enable-threads
).
(This may be useful if you are employing that sort of directive in
your own code, in order to minimize conflicts.) If you have a
shared-memory machine that uses a different threads API, it should be
a simple matter of programming to include support for it; see the file
threads/threads.c
for more detail.
Ideally, of course, you should also have multiple processors in order to get any benefit from the threaded transforms.