Developer Reference

  • 0.9
  • 09/09/2020
  • Public Content
Contents

DFTI_THREAD_LIMIT

In some situations you may need to limit the number of threads that the
DftiComputeForward
and
DftiComputeBackward
functions use. For example, if more than one thread calls
Intel® oneAPI Math Kernel Library
, it might be important that the thread calling these functions does not oversubscribe computing resources (CPU cores). Similarly, a known limit of the maximum number of threads to be used in computations might help the
DftiCommitDescriptor
function to select a more optimal computation method.
Set the parameter
DFTI_THREAD_LIMIT
as follows:
  • To a positive number, to specify the maximum number of threads to be used by the compute functions.
  • To zero (the default value), to use the maximum number of threads permitted in
    Intel® oneAPI Math Kernel Library
    FFT functions. See "Techniques to Set the Number of Threads" in the
    Intel® oneAPI Math Kernel Library
    Developer Guide
    for more information.
On an attempt to set a negative value, the
DftiSetValue
function returns an error and does not update the descriptor.
The value of the
DFTI_THREAD_LIMIT
configuration parameter returned by the
DftiGetValue
function is defined as follows:
  • 1 if
    Intel® oneAPI Math Kernel Library
    runs in the sequential mode
  • Depends of the commit status of the descriptor if
    Intel® oneAPI Math Kernel Library
    runs in a threaded mode:
    Commit Status
    Value
    Not committed
    The value of
    DFTI_THREAD_LIMIT
    set in a previous call to the
    DftiSetValue
    function or the default value
    Committed
    The upper limit on the number of threads used by the
    DftiComputeForward
    and
    DftiComputeBackward
    functions
To better understand the use of the
DFTI_THREAD_LIMIT
configuration parameter, see this example in your
Intel® oneAPI Math Kernel Library
directory:
./examples/dftc/source/config_thread_limit.c

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804