Chris@10: Chris@10: Chris@10: Installation and Supported Hardware/Software - FFTW 3.3.3 Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10: Chris@10:
Chris@10: Chris@10: Chris@10:

Chris@10: Next: , Chris@10: Previous: Multi-threaded FFTW, Chris@10: Up: Multi-threaded FFTW Chris@10:


Chris@10:
Chris@10: Chris@10:

5.1 Installation and Supported Hardware/Software

Chris@10: Chris@10:

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

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

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

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