Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
6704 Discussions

IPP library optimization based on CPU type

ChulWook_M_
Beginner
256 Views

Hello,

I saw the ippGetCpuFeatures()  regarding IPP library as below but I'm wondering about IPP optimization.

ippGetCpuFeatures() (*) that can be used to detect your processor features. It is declared in ippcore.h…..

 

The Intel(R)  IPP library contains a collection of functionally identical processor-specific optimized libraries that are “dispatched” at run-time. The “dispatcher” chooses which of these processor-specific optimized libraries to use when your application makes a call into the IPP library. This is done to maximize each function’s use of the underlying SIMD instructions and other architecture-specific features….

 

Question:

1. IPP library fetches and runs optimized set at runtime the processing after detecting CPU feature(CPU/APU)  automatically? Especailly APU..

2. There are some ways to optimize for maximizing the capability of IPP libraries?

 

 

0 Kudos
1 Reply
Chao_Y_Intel
Moderator
256 Views

HI chulwook,

IPP has different optimization code,  for example I9 for AVX2 optimization code,  e9 for AVX code, etc.   When the code run, Intel IPP will choose one type of CPU code according to your the CPU.  Here is a few detail to learn the code dispacthing in IPP: 
https://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-understanding-cpu-optimized-code-used-in-intel-ipp

For the performance question,  there is some notes in the "Programming Considerations" part of the user guide. 
https://software.intel.com/en-us/node/503936

Which kind of functions are you interested in?  That may help to provide more relevant information.

Thanks,
Chao

0 Kudos
Reply