Community
cancel
Showing results for 
Search instead for 
Did you mean: 
meldaproduction
Beginner
52 Views

Is it better to use IPP or ICL's vectorizer?

The ICL's vectorizer seems to be very good, which makes me think whether it makes sense to use IPP (performance primitives) for simple tasks such as

for (int i=0; i<cnt; i++) dst = src1 * src2;

I assume to use SSE2 as base architecture and AVX for dispatching.

 

0 Kudos
4 Replies
TimP
Black Belt
52 Views

Performance library functions incur more startup overhead so might be expected to be most competitive for long vectors.

In cases big enough to use threaded parallel, if parallel compilation isn't practical, performance library may be useful.

meldaproduction
Beginner
52 Views

Are you saying that IPP also employs multithreaded processing for these operations?

TimP
Black Belt
52 Views

You have an install option for the parallel IPP which should decide at run time whether to engage multiple threads.  

Kittur_G_Intel
Employee
52 Views

Using IPP is different in that the code written with IPP will automatically take advantage of the cpu capabilities available (including vectorization) which can save time and maintenance cost as well with one optimized path instead of the need to create multiple paths for different streaming extensions for performance for scaling opportunities as well.  

_Kittur

Reply