I've been testing the performance of version 7.0 against our current version of IPP, 3.0. While most of the functions we use don't have anynoticeable improvement, some have actually improved. However, theippiFilterMedianappears to take about 25% longer to process the image. I'm surprised by this because ippiFilterMedianCross does not show the same performance hit.
I've tested this with both ippiFilterMedian_8u_C1R andippiFilterMedian_8u_AC4R. Both take about 25% longer to run. Is this expected with the new version or is there something wrong?
As you may know that the IPP has been adding a lot of optimizations for new CPU instructions through releases.In the meantime, we start to deprecate some very oldprocessors in recent releases, please go to IPP 7.0 release note and What's new to find more details.
Look forward to hearing from you.
IPP 7.0 update 3 has got fix to performance issue of ippiFilterMedian_8u_C1R on Intel 64 platform.
Please refer to bug fix (DPD200203121) list of IPP 7.0 - http://software.intel.com/en-us/articles/intel-ipp-70-library-bug-fixes/
Basic issue could be with unaligned loads from internal buffer (algorithm specific).
We are currently ussingIPP 7.0 update 5 (build 233) and still have the issue.Do you knowif IPP version 6.1 has the same performance issues with the median filter?
Hi Mike Walsh,
I want to make sure that you are linking with right library for particular platform.
Also, Is it possible to share a test case to reproduce this issue, you can use Private option while sending test case.
first of all we need more info regarding this issue:
1) mask size for which you see perf degradation as well as image size
2) linking model (threaded dynamic/static or non-threaded static)
3) full library version (first of all I need "letter" - px/w7/v8/p8/g9 or mx/m7/u8/y8/e9), ia32 or x64, win or lin
4) perf numbers you got (in cpe) for both versions you've compared
5) your measurement code (a reproducer) will be appreciated
PS you can use "Private" as Naveen suggested and send test case to me or to him
1) We see degradation for all mask sizes that use FilterMedian, although it is much more apparent as mask size increases. We use FilterMedianCross when we can which doesn't seem to have the issue.
2) We use a non-threaded custom DLL.
3) The DLL uses the dispatcher to determine the library. I assume it is using the p8 library because my current test setup is using a T9400. It is running on XP 32-bit. Full IPP version is 126.96.36.199.
4) I've written a quick test application. The test image with a 23x23 kernel runs about 115ms with the 7.0 library and about 96ms with the 3.0 library.
5) I will attach shortly.
I just tested version 188.8.131.525 and found that while it does improve performance of the FilterMedian function over verstion 6.1, it is not up to par with version 3.0. In my test application the function completed in 54ms on 3.0, 69ms on 6.1, and 66ms on 184.108.40.2065. Is it just a problem with my testing or is there something else missing? I will attach the updated test app in a private post.