Creating the Wrapper Library
Two header files are used to compile the C wrapper library:
directory.
fftw2_mkl.h
and
fftw.h
. The
fftw2_mkl.h
file is located in the
.\interfaces\fftw2xc\wrappers
subdirectory in the
Intel® oneAPI Math Kernel Library
The file
directory, slightly differs from the original FFTW (www.fftw.org) header file
fftw.h
, used to compile libraries
and located in the
.\include\fftw
subdirectory in the
Intel® oneAPI Math Kernel Library
fftw.h
.
The source code for the wrappers, makefiles, and files with lists of functions are located in the
directory.
.\interfaces\fftw2xc
subdirectory in the
Intel® oneAPI Math Kernel Library
A wrapper library contains
wrappers for complex and real transforms in a serial and multi-threaded mode for double- or single-precision floating-point data types. A makefile parameter manages the data type.
Parameters of a makefile also specify the platform (required), compiler, and data precision. The makefile comment heading provides the exact description of these parameters.
To build the library, run the
make
command on Linux* OS and macOS* or the
nmake
command on Windows* OS with appropriate parameters.
For example, on Linux OS the command
make libintel64
builds a double-precision wrapper library for Intel® 64 architecture based applications using the
Intel® oneAPI
or the Intel® Fortran Compiler (Compilers and data precision are chosen by default.)
DPC++/C++
CompilerEach makefile creates the library in the directory with
libraries corresponding to the platform used. For example,
Intel® oneAPI Math Kernel Library
./lib/ia32
(on Linux OS and macOS) or
.\lib\ia32
(on Windows* OS).
In the names of a wrapper library, the suffix corresponds to the compiler used and the letter preceding the underscore is
programming language.
"c"
for the CFor example,
fftw2xc_intel.lib
(on Windows OS);
libfftw2xc_intel.a
(on Linux OS and macOS);
fftw2xc_ms.lib
(on Windows OS);
libfftw2xc_gnu.a
(on Linux OS and macOS).