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 Ruby, and Owens Clusters. The versions currently available at OSC are:
Version | Owens | Pitzer | Ascend | Cardinal |
---|---|---|---|---|
3.3.4 | X | |||
3.3.5 | X | |||
3.3.8 | X* | X* | ||
3.3.10 | X | X | X* | X |
You can use module spider fftw2
or module spider fftw3
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 on Owens
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 load name
. For example, use module load fftw3/3.3.4
to load FFTW3 version 3.3.4. You can use module spider fftw
to view available modules.
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. |
$FFTW3_LIBS_THREADS |
Use during your link step for the "threads" 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
Usage on Pitzer
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 load fftw3/
.
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
Usage on Ascend
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 fftw3
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 fftw3
to load the default 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