|
||||||||||||||||
|
FFTW2
|
|
|
Note: This software, like all software in H:\Contrib, is user-contributed and is unsupported by CTC staff. The contributor may be willing to provide some assistance with this software. FFTW2 is an older collection of C subroutine libraries for computing the discrete Fourier transform (DFT) of real and/or complex data, of arbitrary input size, in one or more dimensions. The FFTW2 collection at CTC includes: the full set of C functions; wrappers for calling FFTW from Fortran; and MPI-parallel DFT routines based on FFTW.
At CTC, these libraries are made available to users in H:\Contrib\FFTW2. This folder contains version 2.1.5 of the "Fastest Fourier Transform in the West" (FFTW) libraries from http://www.fftw.org/. Note that the newer FFTW3 library is provided as well, in H:\Contrib\FFTW3, but no MPI-parallel version of that library is available because the FFTW project team has not yet parallelized it (according to fftw.org). Note also that the API of FFTW 3.x is incompatible with the API of FFTW 2.x. FFTW 2.1.5 was built with just a few minor modifications to the original source code as outlined in H:\Contrib\FFTW2\README.Win32. The routines were compiled with the Intel C/C++ compiler, version 8.1.0020, build 20041019Z. All routines use the cdecl (Intel default) linkage convention for x86 architecture processors. They were compiled with the multithreaded versions of the C runtime (/MT for release versions and /MTd for debug versions). In general, these FFTW2 libraries are suitable for use with either the Intel 8.1 or the Microsoft C/C++ compilers. However, it is possible that the libraries will link with code compiled with other vendors' compilers, provided that the cdecl linkage convention is used throughout. Both static (*st.lib) and dynamic (*dll.dll) libraries are provided. The static libraries and dlls, plus the import libraries and export files for the dlls (*dll.lib and *dll.exp), are found in the Install directory. Debug versions of the above are located in the Install_Debug directory, along with the relevant program database (*.pdb) files for debugging. Documentation can be found in the doc directory as well as at the fftw.org website. A separate static library, FFTW2_f77.lib, contains Fortran-callable wrappers to the C functions. The Fortran subroutine names appear in all-lowercase, so /Qlowercase should be used with the Intel Fortran 8.1 compiler, e.g.
An additional static library, FFTW2_mpi.lib, contains the MPI-parallel extensions to FFTW. It was built against MPI/Pro 1.7.0 from Verari Systems, Inc., implying that at runtime the MPI/Pro dlls must be in one's PATH in order for the MPI routines to work. At CTC this condition is typically satisfied automatically because the default path contains C:\Program Files\MPIPro\bin. During compilation, the calling program will also need to include the appropriate header (or Fortran 90 module) file from C:\Program Files\MPIPro\include.
There are several test executables present in the Install and Install_Debug directories. The FFTW distribution comes with source code for these executables along with the source for the libraries. The test programs can be used to verify that FFTW works on a given machine.
The FFTW2 libraries and executables were compiled and tested by Steve Lantz at CTC. |
|
![]() |
||