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

ippFilterRow runs slower when using static libraries

mikew123
Beginner
358 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
358 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

0 Kudos
4 Replies
pvonkaenel
New Contributor III
359 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
0 Kudos
mikew123
Beginner
358 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.
0 Kudos
igorastakhov
New Contributor II
358 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
0 Kudos
mikew123
Beginner
358 Views
Ah, thank you. That explains it.
0 Kudos
Reply