Last changed: 04-09-2007

intro_fftw2(3)

NAME

intro_fftw2 -- Introduction to the 2.1.5 release of the C subroutine library for computing the discrete Fourier transform (DFT) for arbitrary sizes, and of both real and complex data, among other related operations

IMPLEMENTATION

UNICOS/lc systems

DESCRIPTION

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 (as well as of even/odd data, i.e. the discrete cosine/sine transforms or DCT/DST). For

To use FFTW 2.1.5, load the module fftw/2.1.5.

In FFTW 2.1.5, the single and double precision routine names are not unique. Consequently, users must explicitly specify in their codes the include files to use and also specify the libraries to link against. In the default configuration of FFTW 2.1.5, the libraries (and include files) are named the same across the available precisions. Cray's installation of FFTW 2.1.5 is configured with --enable-type-prefix so that the include and library file names would be distinct.

At compile time, you must specify the include files. The files are:

Table 1. Include Files

FFT TypePrecisionInclude file name
complexsinglesfftw.h
realsinglesrfftw.h
complexdoubledfftw.h
realdoubledrfftw.h
complexsinglesfftw_mpi.h
realsinglesrfftw_mpi.h
complexdoubledfftw_mpi.h
realdoubledrfftw_mpi.h

Note: For Fortran, there is only one fftw_f77.i include file. It works independently of the prevailing default precision.

At link time, the user must specify which libraries to link against. The libraries are shown in Table 2.

Table 2. Libraries

FFT TypePrecisionLibrary NameLink With
complexsinglelibsfftw.a-lsfftw
realsinglelibsrfftw.a-lsrfftw
complexdoublelibdfftw.a-ldfftw
realdoublelibdrfftw.a-ldrfftw
complexsinglelibsfftw_mpi.a-lsfftw_mpi
realsinglelibsrfftw_mpi.a-lsrfftw_mpi
complexdoublelibdfftw_mpi.a-ldfftw_mpi
realdoublelibdrfftw_mpi.a-ldrfftw_mpi

NOTES

FFTW 2.1.5 and FFTW 3.1.1 cannot be loaded at the same time.

The user need not specify the load path because the fftw/2.1.5 module takes care of that by updating the LD_LIBRARY_PATH environment variable.

SEE ALSO

FFTW web site (http://www.fftw.org)