Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

Building Your Own FFTW3 Interface Wrapper Library

The FFTW3 wrappers to Intel® oneAPI Math Kernel Library (oneMKL) are delivered both integrated in Intel® oneAPI Math Kernel Library (oneMKL) and as source code, which can be compiled to build a standalone wrapper library with exactly the same functionality. Normally you do not need to build the wrappers yourself.

The source code for the wrappers, makefiles, and files with lists of functions are located in the .\interfaces\fftw3xc subdirectory in the Intel® oneAPI Math Kernel Library (oneMKL) directory.

To build the wrappers,

  1. Change the current directory to the wrapper directory

  2. Run the make command on Linux* OS and macOS* or the nmake command on Windows* OS with a required target and optionally several parameters.

The target libia32 or libintel64 defines the platform architecture, and the other parameters specify the compiler, size of the default integer type, and placement of the resulting wrapper library. You can find a detailed and up-to-date description of the parameters in the makefile.

In the following example, the make command is used to build the FFTW3 C wrappers to Intel® oneAPI Math Kernel Library (oneMKL) for use from the GNU gcc* compiler on Linux OS based on Intel® 64 architecture:

cd interfaces/fftw3xc
make libintel64 compiler=gnu INSTALL_DIR=/my/path
 

This command builds the wrapper library and places the result, named libfftw3xc_gnu.a, into the /my/path directory. The name of the resulting library is composed of the name of the compiler used and may be changed by an optional parameter INSTALL_LIBNAME.