FFTW Library

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

libfftw3f.a

libfftw3f_threads.a

libfftw3f_omp.a

libfftw3f_mpi.a

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

Scroll to Top