Intel® oneAPI Math Kernel Library Developer Reference - Fortran

Limitations of the FFTW2 Interface to Intel® oneAPI Math Kernel Library

The FFTW2 wrappers implement the functionality of only those FFTW functions that Intel® oneAPI Math Kernel Library can reasonably support. Other functions are provided as no-operation functions, whose only purpose is to satisfy link-time symbol resolution. Specifically, no-operation functions include:

Because the Intel® oneAPI Math Kernel Library implementation of FFTW2 wrappers does not use plan and plan node structures declared infftw.h, the behavior of an application that relies on the internals of the plan structures defined in that header file is undefined.

FFTW2 wrappers define plan as a set of attributes, such as strides, used to commit the Intel® oneAPI Math Kernel Library FFT descriptor structure. If an FFTW2 computational function is called with attributes different from those recorded in the plan, the function attempts to adjust the attributes of the plan and recommit the descriptor. So, repeated calls of a computational function with the same plan but different strides, distances, and other parameters may be performance inefficient.

Plan creation functions disregard most planner flags passed through the flags parameter. These functions take into account only the following values of flags:

FFTW wrappers are generally not thread safe. Therefore, do not use the same plan in parallel user threads simultaneously.