Limitations of the FFTW2 Interface to Intel MKL

The FFTW2 wrappers implement the functionality of only those FFTW functions that Intel MKL 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 MKL implementation of FFTW2 wrappers does not use plan and plan node structures declared in fftw.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 MKL 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. Thus, 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.


Submit feedback on this help topic

Copyright © 1994 - 2011, Intel Corporation. All rights reserved.