Visible to Intel only — GUID: GUID-4B411FDD-CDFE-48FB-9E0A-39F6C7427527
Visible to Intel only — GUID: GUID-4B411FDD-CDFE-48FB-9E0A-39F6C7427527
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 (oneMKL), 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 (oneMKL) FFT functions. See "Techniques to Set the Number of Threads" in the Intel® oneAPI Math Kernel Library (oneMKL) 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 (oneMKL) runs in the sequential mode
- Depends of the commit status of the descriptor if Intel® oneAPI Math Kernel Library (oneMKL) 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 usage of the DFTI_THREAD_LIMIT configuration parameter, see this example in your Intel® oneAPI Math Kernel Library (oneMKL) directory:
./examples/dftf/source/config_thread_limit.f90