fftw
Software Description
FFTW is a free collection of fast C routines for computing the Discrete Fourier Transform in one or more dimensions. It includes complex, real, and parallel transforms, and can handle arbitrary array sizes efficiently. FFTW is typically faster than other publically-available FFT implementations, and is even competitive with vendor-tuned libraries. To achieve this performance, FFTW uses novel code-generation and runtime self-optimization techniques. The FFTW package was developed at MIT by Matteo Frigo and Steven G. Johnson. More information can be found at the web site: www.fftw.org .
Info
Module Name
fftw
Last Updated On
11/14/2023
Support Level
Primary Support
Software Access Level
Open Access
Home Page
Documentation
Software Description
FFTW is a free collection of fast C routines for computing the Discrete Fourier Transform in one or more dimensions. It includes complex, real, and parallel transforms, and can handle arbitrary array sizes efficiently. FFTW is typically faster than other publically-available FFT implementations, and is even competitive with vendor-tuned libraries. To achieve this performance, FFTW uses novel code-generation and runtime self-optimization techniques. The FFTW package was developed at MIT by Matteo Frigo and Steven G. Johnson. More information can be found at the web site: www.fftw.org .
General Linux
To initialize this software in a Linux environment run the command:
module load fftw
Linking with fftw during compilation is often done with the -lfftw3 flag like:
g++ source_code.cpp -lfftw3
A variety of versions and builds of FFTW, for both single and double precision, are available on MSI systems. Builds are organized in directories by compiler, MPI version, FFTW version, and single or double precision. Working examples of codes which use threaded and MPI parallel FFTW routines, along with build scripts, are available on high performance systems at:
/common/software/install/migrated/fftw/examples
To retrieve, compile, and run all the examples the following commands may be executed:
cp /soft/fftw/examples/* .
./runme
Agate Modules
Default
3.3.10-openmpi-4.1.5-gcc-8.2.0-hqsg6dp
Other Modules
3.3.10-intel-oneapi-mpi-2021.3.0-gcc-13.1.0-mvavls5, 3.3.10-openmpi-3.1.6-gcc-7.2.0-gziooqw, 3.3.10-openmpi-3.1.6-gcc-7.2.0-holwjem, 3.3.10-openmpi-4.1.5-gcc-7.2.0-m2hj5e7, 3.3.10-openmpi-4.1.5-gcc-8.2.0-6amq6fq, 3.3.10-openmpi-4.1.5-gcc-8.2.0-hqsg6dp, 3.3.10-double-nvhpc-21.1, 3.3.10-double-ompi-4.1.1-gnu-9.2.0, 3.3.10-single-ompi-4.1.1-gnu-9.2.0, 3.3.6-double-impi-intel-2018-release, 3.3.6-double-intel-2018-release, 3.3.6-double-ompi-3.0.0-gnu-7.2.0.CentOS7, 3.3.6-double-ompi-3.1.2-gnu-5.4.0.CentOS7, 3.3.6-double-ompi-3.1.2-gnu-7.2.0.CentOS7, 3.3.6-double-ompi-3.1.2-gnu-8.2.0, 3.3.6-single-ompi-3.1.2-gnu-5.4.0.CentOS7, 3.3.8-double-intel-2019-update1-avx2, 3.3.8-double-intel-2019-update1.CentOS7, 3.3.8-double-mvapich-2.3.5-gnu-8.2.0, 3.3.8-double-ompi-3.1.6-gnu-5.4.0, 3.3.8-double-ompi-3.1.6-gnu-8.2.0, 3.3.8-double-ompi-4.0.0-gnu-8.2.0.CentOS7, 3.3.8-double-ompi-4.0.0-intel-2019-update1-avx2, 3.3.8-double-ompi-4.0.0-intel-2019-update1.CentOS7, 3.3.8-single-mvapich-2.3.5-gnu-8.2.0, 3.3.8-single-ompi-3.1.6-gnu-5.4.0, 3.3.8-single-ompi-3.1.6-gnu-8.2.0, 3.3.8-single-ompi-4.0.0-gnu-8.2.0, 3.3.5-double-impi-5.1.3.223-intel-2016-update3, 3.3.5-double-intel-2016-update3, 3.3.6-double-gnu-7.2.0, 3.3.6-double-impi-5.1.3.223-intel-2016-update3, 3.3.6-double-impi-intel-2018-release, 3.3.6-double-intel-2016-update3, 3.3.6-double-intel-2018-release, 3.3.6-double-intel-2018-release-with-omp, 3.3.6-double-ompi-3.0.0-gnu-7.2.0
Mangi Modules
Default
3.3.10-openmpi-4.1.5-gcc-8.2.0-hqsg6dp
Other Modules
3.3.10-intel-oneapi-mpi-2021.3.0-gcc-13.1.0-mvavls5, 3.3.10-openmpi-3.1.6-gcc-7.2.0-gziooqw, 3.3.10-openmpi-3.1.6-gcc-7.2.0-holwjem, 3.3.10-openmpi-4.1.5-gcc-7.2.0-m2hj5e7, 3.3.10-openmpi-4.1.5-gcc-8.2.0-6amq6fq, 3.3.10-openmpi-4.1.5-gcc-8.2.0-hqsg6dp, 3.3.10-double-nvhpc-21.1, 3.3.10-double-ompi-4.1.1-gnu-9.2.0, 3.3.10-single-ompi-4.1.1-gnu-9.2.0, 3.3.6-double-impi-intel-2018-release, 3.3.6-double-intel-2018-release, 3.3.6-double-ompi-3.0.0-gnu-7.2.0.CentOS7, 3.3.6-double-ompi-3.1.2-gnu-5.4.0.CentOS7, 3.3.6-double-ompi-3.1.2-gnu-7.2.0.CentOS7, 3.3.6-double-ompi-3.1.2-gnu-8.2.0, 3.3.6-single-ompi-3.1.2-gnu-5.4.0.CentOS7, 3.3.8-double-intel-2019-update1-avx2, 3.3.8-double-intel-2019-update1.CentOS7, 3.3.8-double-mvapich-2.3.5-gnu-8.2.0, 3.3.8-double-ompi-3.1.6-gnu-5.4.0, 3.3.8-double-ompi-3.1.6-gnu-8.2.0, 3.3.8-double-ompi-4.0.0-gnu-8.2.0.CentOS7, 3.3.8-double-ompi-4.0.0-intel-2019-update1-avx2, 3.3.8-double-ompi-4.0.0-intel-2019-update1.CentOS7, 3.3.8-single-mvapich-2.3.5-gnu-8.2.0, 3.3.8-single-ompi-3.1.6-gnu-5.4.0, 3.3.8-single-ompi-3.1.6-gnu-8.2.0, 3.3.8-single-ompi-4.0.0-gnu-8.2.0, 3.3.5-double-impi-5.1.3.223-intel-2016-update3, 3.3.5-double-intel-2016-update3, 3.3.6-double-gnu-7.2.0, 3.3.6-double-impi-5.1.3.223-intel-2016-update3, 3.3.6-double-impi-intel-2018-release, 3.3.6-double-intel-2016-update3, 3.3.6-double-intel-2018-release, 3.3.6-double-intel-2018-release-with-omp, 3.3.6-double-ompi-3.0.0-gnu-7.2.0
Mesabi Modules
Default
3.3.10-openmpi-4.1.5-gcc-8.2.0-hqsg6dp
Other Modules
3.3.10-intel-oneapi-mpi-2021.3.0-gcc-13.1.0-mvavls5, 3.3.10-openmpi-3.1.6-gcc-7.2.0-gziooqw, 3.3.10-openmpi-3.1.6-gcc-7.2.0-holwjem, 3.3.10-openmpi-4.1.5-gcc-7.2.0-m2hj5e7, 3.3.10-openmpi-4.1.5-gcc-8.2.0-6amq6fq, 3.3.10-openmpi-4.1.5-gcc-8.2.0-hqsg6dp, 3.3.10-double-nvhpc-21.1, 3.3.10-double-ompi-4.1.1-gnu-9.2.0, 3.3.10-single-ompi-4.1.1-gnu-9.2.0, 3.3.6-double-impi-intel-2018-release, 3.3.6-double-intel-2018-release, 3.3.6-double-ompi-3.0.0-gnu-7.2.0.CentOS7, 3.3.6-double-ompi-3.1.2-gnu-5.4.0.CentOS7, 3.3.6-double-ompi-3.1.2-gnu-7.2.0.CentOS7, 3.3.6-double-ompi-3.1.2-gnu-8.2.0, 3.3.6-single-ompi-3.1.2-gnu-5.4.0.CentOS7, 3.3.8-double-intel-2019-update1-avx2, 3.3.8-double-intel-2019-update1.CentOS7, 3.3.8-double-mvapich-2.3.5-gnu-8.2.0, 3.3.8-double-ompi-3.1.6-gnu-5.4.0, 3.3.8-double-ompi-3.1.6-gnu-8.2.0, 3.3.8-double-ompi-4.0.0-gnu-8.2.0.CentOS7, 3.3.8-double-ompi-4.0.0-intel-2019-update1-avx2, 3.3.8-double-ompi-4.0.0-intel-2019-update1.CentOS7, 3.3.8-single-mvapich-2.3.5-gnu-8.2.0, 3.3.8-single-ompi-3.1.6-gnu-5.4.0, 3.3.8-single-ompi-3.1.6-gnu-8.2.0, 3.3.8-single-ompi-4.0.0-gnu-8.2.0, 3.3.5-double-impi-5.1.3.223-intel-2016-update3, 3.3.5-double-intel-2016-update3, 3.3.6-double-gnu-7.2.0, 3.3.6-double-impi-5.1.3.223-intel-2016-update3, 3.3.6-double-impi-intel-2018-release, 3.3.6-double-intel-2016-update3, 3.3.6-double-intel-2018-release, 3.3.6-double-intel-2018-release-with-omp, 3.3.6-double-ompi-3.0.0-gnu-7.2.0