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

Huge performance drop between 4.0 and 5.3

Rob_Ottenhoff
New Contributor I
237 Views
Hi,
When I compile and link my application with IPP4.0 and run it, I see a processor-load of 12-15% in the windows task manager. Using the 5.3 ( upgrade 4) version the load is sudddenly 63-70%. Can somebody explain this ? Is there a single function that has become much slower ? Is 5.3 slower in general ?

I use many ippi functions.

Thanks in advance,

Rob
0 Kudos
4 Replies
Rob_Ottenhoff
New Contributor I
237 Views
------------------------
0 Kudos
pvonkaenel
New Contributor III
237 Views

Are your calls running faster in 5 than they did in 4 and are you running on a multi-core machine? I think the OpenMP threading was introduced some time between version 4 and 5, so that might be what your seeing. Basically, about 20% of the IPP calls have been threaded using OpenMP to utilize multiple cores in the computer making them run much faster. The cost is the overall CPU load when run on multiple cores.

Peter
0 Kudos
Emmanuel_W_
New Contributor I
237 Views
Quoting - Rob Ottenhoff
Hi,
When I compile and link my application with IPP4.0 and run it, I see a processor-load of 12-15% in the windows task manager. Using the 5.3 ( upgrade 4) version the load is sudddenly 63-70%. Can somebody explain this ? Is there a single function that has become much slower ? Is 5.3 slower in general ?

I use many ippi functions.

Thanks in advance,

Rob

Make sure you are initizling IPP with the correct cpu architecture (are you linking statically or dynamically?).
If this is not the problem you can try to use check the perfsys folder in the IPP distribution that contains performance tests for the different API (altough I can't remember if it was available in IPP 4).

Emmanuel
0 Kudos
Rob_Ottenhoff
New Contributor I
237 Views
Quoting - pvonkaenel

Are your calls running faster in 5 than they did in 4 and are you running on a multi-core machine? I think the OpenMP threading was introduced some time between version 4 and 5, so that might be what your seeing. Basically, about 20% of the IPP calls have been threaded using OpenMP to utilize multiple cores in the computer making them run much faster. The cost is the overall CPU load when run on multiple cores.

Peter
Hi Peter and emmanuel,

Thank you for your reaction. You are right. I checked performance and the reported 'loss' in performance is virtual. Both version of my algorithm run equally fast. The windows task manager is probably confused. I would expect the overall performance to be equal because the parallel version will go idle sooner, but that is clearly not the case. Mysterious.

Regards,

Rob
0 Kudos
Reply