FFTW

FFTW is a C subroutine library for computing the Discrete Fourier Transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data. It is portable and performs well on a wide variety of platforms.

Availability and Restrictions

Versions

FFTW is available on OSC Clusters. The versions currently available at OSC are:

Version Pitzer Ascend Cardinal
3.3.10 X X X

You can use module spider fftw  to view available modules for a given machine. Feel free to contact OSC Help if you need other versions for your work.

Access

FFTW is available to all OSC users. If you have any questions, please contact OSC Help.

Publisher/Vendor/Repository and License Type

www.fftw.org, Open source

Usage

Usage

Set-up

Initalizing the system for use of the FFTW library is dependent on the system you are using and the compiler you are using. A successful build of your program will depend on an understanding of what module fits your circumstances. To load a particular version, use  module spider fftw to check what other modules need to be loaded first. Use  module load [module name and version] to load the necessary modules. Then use  module load fftw/3.3.10 to load the 3.3.10 FFTW module version.

Building with FFTW

The following environment variables are setup when the FFTW library is loaded:

VARIABLE USE
$FFTW3_CFLAGS Use during your compilation step for C programs.
$FFTW3_FFLAGS Use during your compilation step for Fortran programs.
$FFTW3_LIBS Use during your link step for the sequential version of the library.
$FFTW3_LIBS_OMP Use during your link step for the OpenMP version of the library.
$FFTW3_LIBS_MPI Use during your link step for the MPI version of the library.

below is a set of example commands used to build a file called my-fftw.c .

module load fftw3
icc $FFTW3_CFLAGS my-fftw.c -o my-fftw $FFTW3_LIBS 
ifort $FFTW3_FFLAGS more-fftw.f -o more-fftw $FFTW3_LIBS

Further Reading

See Also

Supercomputer: 
Service: