Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Rob_Ottenhoff
New Contributor I
77 Views

Huge performance drop between 4.0 and 5.3

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

------------------------
pvonkaenel
New Contributor III
77 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
Emmanuel_W_
New Contributor I
77 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
Rob_Ottenhoff
New Contributor I
77 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
Reply