Does Intel® IPP support multi-threading? Is it thread safe? Yes. Intel IPP supports multi-threading in the dynamic libraries. The static libraries do not support multi-threading. All the functions have been tested to be thread safe.
Which Intel IPP functions contain OpenMP* code? Intel IPP Threading Functions provide an a detailed list for IPP threading functions.
How can I determine the number of threads the Intel IPP creates? You can use the function ippGetNumThreads to find the number of threads created by the Intel IPP.
How do I control the number of threads the Intel IPP creates? Call the function ippSetNumThreads to set the number of threads created.
Is it possible to prevent Intel IPP from creating threads? The OpenMP* software responds to the environmental variable OMP_NUM_THREADS. By setting OMP_NUM_THREADS to 1, you are essentially turning off Intel IPP threading. Additionally, if you are calling the Intel IPP functions from multiple threads, it is best to have Intel IPP threading turned off. There are 2 ways to disable multi-threading:
- Use the part of non-threaaded static libraries,
OR
- Use ippSetNumThread(1) function
How can I obtain performance data for Intel IPP threaded functions? The Intel IPP Performance Tests measure the performance of Intel IPP functions. Find out the Intel IPP threaded API list and generate performance data for these Intel IPP functions that contain OpenMP code. Refer to "Using the Performance Tool in Intel IPP" for more information on using this tool.
How do I resolve issues with libguide.dll and my thread manager tool? It is not possible in all cases to determine the cause of incompatibility with thread manager software. The ippSetNumThreads function has been developed so that threading can be disabled in the dynamic libraries. Please also check the sections above for other ways to prevent Intel IPP functions from creating threads.
When my application calls Intel IPP functions from a separate thread, the application hangs; how do I resolve this? This issue occurs because the threading technology used in your application and in the Intel IPP (OpenMP) are incompatible. The ippSetNumThreads function has been developed so that threading can be disabled in the dynamic libraries. Please also check the sections above for other ways to prevent Intel IPP functions from creating threads.
Operating System:
| Windows Server* 2003 Enterprise x64 Edition, Mac OS*, Red Hat* Enterprise Linux 2.1, SUSE* Linux 9.1, SUSE* Linux Enterprise Server 8.0, SUSE* Linux Enterprise Server 9.0, Windows* XP Professional, Red Hat* Linux 7.3, Red Hat* Linux 8.0, Windows Server* 2003, Red Hat* Linux 9.0, Red Hat* Enterprise Linux 3.0, SUSE* Linux* 8.2, Windows* XP 64-Bit Edition Version 2003 |
This applies to:
|