Skip to main content

The FFTW library

⚠ INFORMATION
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.8
  • fftw/3.3.10: version 3.3.10

Parallel Versions

  • fftw/2.1.5-mpi: version 2.1.5 compiled with Intel MPI

    warning

    This old version (over 10 years old) is not compatible with newer versions and cannot be used on the GPU partitions A100 gpu_p5 and H100 gpu_p6!

  • 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 CUDA
  • fftw/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.

Note

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 fftw

Usage

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

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

Documentation

📝 FFTW Homepage

Your opinion matters!

To give your feedback, report an error, or suggest an improvement, click here:

quick anonymous questionnaire

This questionnaire is temporary and will take less than a minute, so take the opportunity!