Pittsburgh Supercomputing Center 

Advancing the state-of-the-art in high-performance computing,
communications and data analytics.

FFTW

FFTW is a subroutine library written in C for computing the Discrete Fourier Transform in one or more dimensions, of both real and complex data, of arbitrary input size.  FFTW can be called from Fortran and C++ as well as from C codes.

FFTW is free software as defined by the Free Software Foundation and is distributed under the terms of the GNU General Public License. It is callable from Fortran, and works on any platform with a C compiler.

FFTW was developed at MIT by Matteo Frigo and Steven G. Johnson.

Please note: FFTW version 3 is not compatible with version 2, but versions 3.1.1 and 3.0.1 are compatible.

Installed on : blacklight and salk.

Blacklight Usage

To use FFTW, prepare a batch job containing commands to do the following:

  1. Set up the module command.
  2. Load the appropriate fftw module. Both fftw 2 and fftw 3 are installed on blacklight. You can see what versions are available by typing
    module avail fftw
    One of the versions will be marked as the default.
    module load fftw   loads the default version
    
    If you want a version other than the default, be sure to use the entire module name when loading it:
    module load fftw/2.1.5
  3. Compile with a command like:
    ifort -o prog  -I${FFTW_INC} prog.f -L${FFTW_LIB} -lfftw3
    This uses the double precision v.3 library.

Submit the job with the qsub command.

Salk Usage

To use FFTW, prepare a batch job containing commands to do the following:

  1. Set up the module command.
  2. Load the appropriate fftw module. Both fftw 2 and fftw 3 are installed on salk. You can see what versions are available by typing
    module avail fftw
    Then type, for example
    module load fftw/2.1.5   to load version.2.1.5
    
  3. Compile with a command like:
    ifort -o prog  -I${FFTW_INC} prog.f -L${FFTW_LIB} -lfftw3
    This uses the double precision v.3 library. Single and double precision libraries are available for both versions 2 and 3.

Submit the job with the qsub command.