12,000 IPP Functions! Where to begin? (part 1)

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.)

The folks in marketing aren't kidding, there really are something like 12,000 functions in the IPP library. That's a lot of functions. But there's not really 12,000 unique functions in the IPP library, it's more like 3000 unique functions. Variations on a theme get you from around 3000 unique base functions to approximately 12,000 total functions in the library.

Okay, so 3000 isn't exactly a small number, either. Those 3000 IPP functions are spread over 16 domains (logically related groups of functions). If we divided them equally between those 16 domains that would mean we're averaging just under 200 functions per domain. A little more reasonable bite to swallow. In fact, there's a seventeenth collection called the "core" functions. Divide 3000 by 17 and we're down to about 175 per logical group.

Averages are great, but they rarely tell us what we really need to know. What's really in the library? Which functions do I actually care about? And, where do I begin?

With so many functions in the library you probably don't want to just pick up the user's manual one evening and read it from start to end. You might go a little crazy and you'll probably fall asleep before you make much headway. Instead, you need to start with an overview, a guide, a way to understand how the library is structured and where to look when you've got questions. Find a copy of one of Stewart Taylor's books on the IPP library. Stewart is one of the original architects of the Intel IPP library, so the books have been written by a true expert on the IPP library. There are two editions, and either is as an excellent overview and introduction to the IPP library:

One thing to keep in mind is that the books were written for a prior version of the library. However, that should not stop you from using these excellent resources as an introduction and guide to the library. The overall organization of the library and the concepts described in how to successfully apply the functions in even the latest version of the Intel IPP library are still very relevant and useful.

Next up: 12,000 IPP Functions! How many functions are there? (part 2)

p.s. Don't forget to check out the IPP forum and knowledge base. You can find links to them on the IPP product page.

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