Avoiding Nested Parallelization
Nested parallelization may occur if you use a
threaded Intel IPP function in a multithreaded application. Nested
parallelization may cause performance degradation because of thread
oversubscription.
For applications that use OpenMP threading, nested
threading is disabled by default, so this is not an issue.
However, if your application uses threading created
by a tool other than OpenMP*, you must disable multi-threading in the threaded
Intel IPP function to avoid this issue.
Disabling Multi-threading
(Recommended)
The best option to disable multi-threading is to link your application
with the Intel® IPP single-threaded (non-threaded) libraries included in the
default package and discontinue use of the separately downloaded multi-threaded
versions.
You may also call the
ippSetNumThreads
function with parameter
1
, but this method may still incur some OpenMP*
overhead.
Product and Performance Information
|
---|
Performance varies by use, configuration and other factors. Learn more at
www.Intel.com/PerformanceIndex.
Notice revision #20201201
|