Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
Announcements
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.
7782 Discussions

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

meldaproduction
Beginner
251 Views

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
251 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
251 Views

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

TimP
Black Belt
251 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
251 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