cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: FFTW 3.3.8: Installation and Supported Hardware/Software cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167:
cannam@167:

cannam@167: Next: , Previous: , Up: Multi-threaded FFTW   [Contents][Index]

cannam@167:
cannam@167:
cannam@167: cannam@167:

5.1 Installation and Supported Hardware/Software

cannam@167: cannam@167:

All of the FFTW threads code is located in the threads cannam@167: subdirectory of the FFTW package. On Unix systems, the FFTW threads cannam@167: libraries and header files can be automatically configured, compiled, cannam@167: and installed along with the uniprocessor FFTW libraries simply by cannam@167: including --enable-threads in the flags to the configure cannam@167: script (see Installation on Unix), or --enable-openmp to use cannam@167: OpenMP threads. cannam@167: cannam@167:

cannam@167: cannam@167: cannam@167: cannam@167:

The threads routines require your operating system to have some sort cannam@167: of shared-memory threads support. Specifically, the FFTW threads cannam@167: package works with POSIX threads (available on most Unix variants, cannam@167: from GNU/Linux to MacOS X) and Win32 threads. OpenMP threads, which cannam@167: are supported in many common compilers (e.g. gcc) are also supported, cannam@167: and may give better performance on some systems. (OpenMP threads are cannam@167: also useful if you are employing OpenMP in your own code, in order to cannam@167: minimize conflicts between threading models.) If you have a cannam@167: shared-memory machine that uses a different threads API, it should be cannam@167: a simple matter of programming to include support for it; see the file cannam@167: threads/threads.c for more detail. cannam@167:

cannam@167:

You can compile FFTW with both --enable-threads and cannam@167: --enable-openmp at the same time, since they install libraries cannam@167: with different names (‘fftw3_threads’ and ‘fftw3_omp’, as cannam@167: described below). However, your programs may only link to one cannam@167: of these two libraries at a time. cannam@167:

cannam@167:

Ideally, of course, you should also have multiple processors in order to cannam@167: get any benefit from the threaded transforms. cannam@167:

cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: