Your first encounter with the Intel® IPP library can be overwhelming, due to the number of functions contained within. At Intel we sometimes even "proudly" make statements like "over 12,000 functions in 16 domains" in our marketing literature!
Don't be overwhelmed by such chest-beating marketing statements! (Not that many engineers ever would take them seriously.)
OpenMP Threading and Intel IPP
The low-level primitives within the IPP library generally represent basic atomic operations. This limits threading within the library to ~15-20% of the primitives. Intel OpenMP is used to implement internal threading and is enabled, by default, when you use one of the multi-threaded variants of the library. Multi-threaded versions of the library are only supported on Linux, Windows, and Mac OS X.
Threading Choices for Your Intel IPP Application
Source code for some multi-threaded IPP application examples are included in the free sample downloads. Several of these examples implement threading at the application level, and some use the OpenMP* threading that is built into the Intel IPP library. In most cases the performance gains due to multi-threading is substantial.
Introduction to Threading in IPP
Thanks to Wen-Mei for a delightful chat. I found your site, http://courses.ece.illinois.edu/ece498/al/, with the curricula for your Programming Massively Parallel Processors course. This curricula fosters students acquiring practical experience, typically learned toiling hours to days in trenches with little sleep, and less coffee. I plan to look over his mathematically prodigious mini-case studies to seek ones more accessible to undergraduate students, and not surprisingly I seek your help with this effort.
I told myself that all my posts here would be crosstaggable to both academic and multi-core, but Henry Neeman has got me all riled up.
Half this blog will NOT be about multi-core, but half will; it is thus a semi-multi-core post.
Henry is Director of the OU Supercomputing Center for Education & Research (OSCER) at the University of Oklahoma; Henry has a highly regarded effective multi-format lecture series called Supercomputing in Plain English; and Henry is usually always right.