The FFTW library
This page was translated by an AI (LLM) with a cursory human check and is awaiting full review.
Description
The FFTW library is a set of subroutines written in C, allowing the calculation of the discrete Fourier transform in one or more dimensions, for real and complex data.
Installed Versions
FFTW is available in parallel, sequential and GPU versions.
The versions available on Jean Zay in February 2026 are as follows:
Sequential Versions
fftw/3.3.8: version 3.3.8fftw/3.3.10: version 3.3.10
Parallel Versions
-
fftw/2.1.5-mpi: version 2.1.5 compiled with Intel MPI -
fftw/3.3.8-mpi: version 3.3.8 compiled with Intel MPI -
fftw/3.3.10-mpi: version 3.3.10 compiled with Intel MPI
GPU Versions
fftw/3.3.8-mpi-cuda: version 3.3.8 compiled with OpenMPI, OpenMP and CUDAfftw/3.3.10-mpi-cuda: version 3.3.10 compiled with OpenMPI, OpenMP and CUDA
The versions installed on Jean Zay can be found using the following command:
module avail fftw
Environment
The versions of FFTW are available in different environments. To list them, use the following command:
module show fftw
To use this library in other environments, please contact the User Support team.
To obtain information on the library access paths, it will be necessary to load the chosen environment first. For example:
module load intel-compilers/19.0.4 openmpi/3.1.4-cudamodule show fftwUsage
The library is accessible via the module command.
To load the default version in the current environment (or in the default environment if no environment is previously loaded):
module load fftw
or to load a specific version in a specific environment (GCC in this example):
module load gcc/9.1.0module load fftw/3.3.8-mpi
Link Editing
During compilation, it is necessary to add options referencing the libraries used.
For example, for version 2.1.5:
module load fftw/2.1.5-mpimpiifort appel_fftw.f90 ldrfftw_mpi -ldfftw_mpi -ldrfftw_threads
-ldfftw_threads -ldrfftw -ldfftw -lpthread -lm
For example, for version 3.3.8:
module load fftw/3.3.8mpiifort appel_fftw.f90 -lfftw3_threads -lfftw3 -lfftw3f_threads
-lfftw3f -lpthread -lm
For example, for version 3.3.8-mpi:
module load fftw/3.3.8-mpimpiifort appel_fftw.f90 -lfftw3_mpi -lfftw3_threads -lfftw3
-lfftw3f_mpi -lfftw3f_threads -lfftw3f -lpthread -lm
For example, for version 3.3.8-mpi-cuda:
module load fftw/3.3.8-mpi-cudampiifort appel_fftw.f90 -qopenmp -lfftw3_mpi -lfftw3_omp -lfftw3
-lfftw3f_mpi -lfftw3f_omp -lfftw3f -lm