Two header files are used to compile the C wrapper library: fftw2_mkl.h and fftw.h. The fftw2_mkl.h file is located in the .\interfaces\fftw2xc\wrappers subdirectory in the Intel MKL directory.
Three header files are used to compile the Fortran wrapper library: fftw2_mkl.h, fftw2_f77_mkl.h, and fftw.h. The fftw2_mkl.h and fftw2_f77_mkl.h files are located in the .\interfaces\fftw2xf\wrappers subdirectory in the Intel MKL directory.
The file fftw.h, used to compile libraries for both interfaces and located in the .\include\fftw subdirectory in the Intel MKL directory, slightly differs from the original FFTW (www.fftw.org) header file fftw.h.
The source code for the wrappers, makefiles, and function list files are located in subdirectories .\interfaces\fftw2xc and .\interfaces\fftw2xf in the Intel MKL directory for C and Fortran wrappers, respectively.
A wrapper library contains C or Fortran wrappers for complex and real transforms in a serial and multi-threaded mode for one of the two data types (double or float). A makefile parameter manages the data type.
The makefile parameters specify the platform (required), compiler, and data precision. Specifying the platform is required. The makefile comment heading provides the exact description of these parameters.
Because a C compiler builds the Fortran wrapper library, function names in the wrapper library and Fortran object module may be different. The file fftw2_f77_mkl.h in the .\interfaces\fftw2xf\source subdirectory in the Intel MKL directory defines function names according to the names in the Fortran module. If a required name is missing in the file, you can modify the file to add the name before building the library.
To build the library, run the make command on Linux* OS and Mac OS* X or the nmake command on Windows* OS with appropriate parameters.
For example, the command
make libintel64
builds on Linux OS a double-precision wrapper library for Intel® 64 architecture based applications using the Intel® C++ Compiler or the Intel® Fortran Compiler version 9.1 or higher (compilers and data precision are chosen by default.).
Each makefile creates the library in the directory with the Intel MKL libraries corresponding to the used platform. For example, ./lib/ia32 (on Linux OS and Mac OS X) or .\lib\ia32 (on Windows* OS).
In the wrapper library names, the suffix corresponds to the used compiler, the letter "f" precedes the underscore for Fortran, and the letter "c" precedes the underscore for C.
For example,
fftw2xf_intel.lib (on Windows OS); libfftw2xf_intel.a (on Linux OS and Mac OS X);
fftw2xc_intel.lib (on Windows OS); libfftw2xc_intel.a (on Linux OS and Mac OS X);
fftw2xc_ms.lib (on Windows OS); libfftw2xc_gnu.a (on Linux OS and Mac OS X).
Copyright © 1994 - 2011, Intel Corporation. All rights reserved.