Intel® Integrated Performance Primitives
Community support and discussions relating to developing high-performance vision, signal, security, and storage applications.
6642 Discussions

ippFilterRow runs slower when using static libraries

mikew123
Beginner
167 Views
Hello,

During my testing of the Intel libraries I've noticed that some functions take significantly longer (up to 5x) when statically linking vs dynamic linking. One in particular is ippiFilterRow. When linking with merged static libraries, it takes about 5x longer to execute then it does when linking dynamically. This happens with IPP 3.0, 6.1, and 7.0. Is this normal?

Thanks,

Mike W
0 Kudos
1 Solution
pvonkaenel
New Contributor III
167 Views
Hi Mike,

By default the dynamic linked versions of IPP have OpenMP threading enabled - this allows certain routines to run in parallel across multiple cores. The static version can be configured for either threaded or non-threaded execution. Are you using the threaded static libs?

Peter

View solution in original post

4 Replies
pvonkaenel
New Contributor III
168 Views
Hi Mike,

By default the dynamic linked versions of IPP have OpenMP threading enabled - this allows certain routines to run in parallel across multiple cores. The static version can be configured for either threaded or non-threaded execution. Are you using the threaded static libs?

Peter
mikew123
Beginner
167 Views
I am using the non-threaded static libs. I understand that the dynamic linked versions use threading in version 7.0, but is this also the case for older versions? I have reproduced this issue using the static libs using IPP versions 3.0 and 6.1 as well.
igorastakhov
New Contributor II
167 Views
All ippiFilterXXX functions were threaded in Q1 2002, IPP 3.0 was released in 2003 - so all these IPP version have OMP code for 2D filtering functions.

Regards,
Igor
mikew123
Beginner
167 Views
Ah, thank you. That explains it.
Reply