Using Intel® IPP Threaded Static Libraries

Q: How to get Intel® Integrated Performance Primitives (Intel® IPP) Static threaded libraries?

Answer: while installing Intel Software suite product (Intel® Parallel Studio or Intel® System Studio), select customize installation showing all components to select Intel IPP threaded libraries.

To select right package of threaded libraries, right click and enable ‘Install’ option.

After selecting Intel IPP threaded libraries, the selected option will get highlighted with  mark and memory requirement for this multi- thread libraries will be displayed.

Q: Where I can find threaded static libraries in my installation?

Answer: After installing threaded libraries as mentioned in the above mentioned steps, internally threaded files will be in the following directory

<ipp directory>/lib/<arch>/threaded

Windows* OS: mt suffix in a library name (ipp<domain>mt.lib)

Linux* OS and OS X*: no suffix in a library name (libipp<domain>.a)

Q: Why I could not modify to add additional component (shown "No available source found")?

Answer: You could not install new components by installer design if you are going to modify IPS/ISS installation from Add/ Remove program (ARP) which is called by uninstall/ change program in control panel. When you execute installer from ARP, you could only see already installed components on component selection dialog. Please run setup.exe file to install/ modify additional components, for instance .

Q: How to set path to single threaded or multi-threaded library in system variable or in project?

Answer:

Windows* OS:

Single-threaded: SET LIB=<ipp directory>/lib/<arch>

Multi-threaded: SET LIB=<ipp directory>/lib/<arch>/threaded           

Linux* OS/OS X*

Single-threaded: gcc <options> -L <ipp directory>/lib/<arch>

Multi-threaded: gcc <options> -L <ipp directory>/lib/<arch>/threaded

Q: Is it recommended to use threaded static libraries?

Answer: It is strongly recommended to use the single-threaded version of the libraries for new development. Internally threaded (multi-threaded) versions of Intel IPP libraries are deprecated but made available for legacy applications

Q : How can I control threading behavior in the threaded static libraries?

Answer: Intel IPP implements multi-threading optimization with OpenMP* directives. Users can choose either OpenMP* environment variables (e.g OMP_NUM_THREADS) or Intel IPP threading APIs to control the threading behavior. Please refer to Intel IPP Threading/OpenMP* FAQ page for further information.

 

Please let us know if you have any feedback on deprecations via the feedback URL

For more complete information about compiler optimizations, see our Optimization Notice.

2 comments

Top
Sergey Kostrov's picture

Thank you for the article with examples!
Best regards,
Sergey

apolo74's picture

Hi there, I followed this guide to use a library I have created with IPP but I get a error: ipp.h: No such file or directory. I took the files from "advanced-usage > linkage > mergedlib" to create my own library. I just modified the file called funclist.h where I put those IPP functions that I'm using in my class.
I then included the file called ippmerged.h in the header of my class. (Before this, my class header included only the file ipp.h ). Finally I compiled my class linking with the following libraries: libippsemerged.a libippsmerged_t.a libippvmemerged.a libippvmmerged_t.a libippcore_t.a libiomp5.a
I got a flawless compilation, the library was created without any errors or warnings.
So, when creating my library I have no problems but when trying to use it in a computer where there is no IPP libraries I got the above mentioned error. Am I supposed to copy all the IPP headers into the rest of the computers together with my library???
PS: I'm working with Ubuntu 10.04, Intel Compiler 11.1 (073), the output of ippsGetLibVersion() is
ippspxt.a 6.1 build 137.56
Thanks for your help,
Boris

Add a Comment

Have a technical question? Visit our forums. Have site or software product issues? Contact support.