General Information
Home page | Versions | Module dependencies | |
---|---|---|---|
Compiler | MPI | ||
www.fftw.org | 3.3.4 | GCC/4.9.3-2.25 |
OpenMPI/1.10.2 |
3.3.4 | GCC/5.4.0-2.26 |
OpenMPI/1.10.3 |
|
3.3.6 | GCC/6.3.0-2.27 |
OpenMPI/2.0.2 |
FFTW is a library developed at Massachusetts Institute of Technology (MIT) for computing the Discrete Fourier Transform (DFT) in one or more dimensions, of both real and complex data. The library supports serial transforms, multi-threaded transforms, and distributed-memory parallel transforms using MPI. FFTW include interfaces for both C and Fortran.
Usage on Idun
Load one of the FFTW, and the corresponding GCC and OpenMPI modules to use FFTW on Idun, e.g.:
$ module load GCC/5.4.0-2.26 OpenMPI/1.10.3 FFTW/3.3.4
The FFTW installations include serial and parallel libraries in single, double, long double and quadruple precision, see the table below:
Precision | Serial | Threads (POSIX) | OpenMP | MPI |
---|---|---|---|---|
single |
|
|
|
|
double | libfftw3.a |
libfftw3_threads.a |
libfftw3_omp.a |
libfftw3_mpi.a |
long double | libfftw3l.a |
libfftw3l_threads.a |
libfftw3l_omp.a |
libfftw3l_mpi.a |
quadruple | libfftw3q.a |
libfftw3q_threads.a |
libfftw3q_omp.a |
libfftw3q_mpi.a |
The basic usage of FFTW is to link with the serial FFTW library, e.g. in double precision, add at the link stage -lfftw3
. When using one of the parallel versions of FFTW, in addition add the appropriate library from the table. For example, to link a C program using OpenMP transforms with the double precision FFTW version, using the Intel compiler and linking shared libraries, specify:
$ icc -openmp fft_test.c -lfftw3_omp -lfftw3
Further Information
- FFTW Frequently Asked Questions
- FFTW Manual (HTML / PDF)