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

IPP functions and data alignment

Adam5
Beginner
634 Views

Hi,

 

I have recently vectorized a mathematical algorithm by replacing all scalar math with calls to ipp functions. I have them read some about the importance of allocating aligned data and the mechanisms for letting the compiler know data is properly aligned as to generate optimal code. When I use precompiled libraries like IPP, the library cannot assume data it receives is properly aligned.

My questions is whether indeed the performance gain when using IPP functions is smaller than if I allowed my compiler to vectorize my loops on its own, and if so, how significant would this effect be.

Thank you,

Adam

 

  

0 Kudos
3 Replies
GouthamK_Intel
Moderator
601 Views

Hi,

Thanks for reaching out to us!

We are forwarding this thread to the concerned internal team.

Have a Good day!


Thanks & Regards

Goutham


0 Kudos
Abhinav_S_Intel
Moderator
589 Views

Hi Adam,

Our general recommendation is to align the working inputs by using our memory allocators ipp[s,i]Malloc_*. You may try to vectorize the loops in your code by compiler and compare it with IPP's implementation. You may compare the system perf results from IPP and your own optimized code.

Please file a ticket at https://supporttickets.intel.com/ under IPP product.

Abhinav

0 Kudos
Adam5
Beginner
570 Views

Thank you for this response. I have since discussed this issue with an Intel engineer and instead try to let the Intel compiler vectorize my code. I will try and test this alternative approach. 

0 Kudos
Reply