I have a large application that uses ippiFilterMedianBorder_8u_C1R() - with a 7x7 filter running on a Sapphire Rapids machine
The application originally uses an older IPP version (9.0) running on a Broadwell machine. As a part of migrating to Sapphire Rapids, we upgraded the IPP libraries to 10.7 - all dynamically linked. I had expected a performance improvement, upgrading from an older CPU and a library, but saw a performance drop overall and traced it to the filter median call.
From some of the earlier posts in the forum, I understand that filter median might not have a specific optimized implementation for a 7x7 kernel size. But the expected performance of a generic implementation should have been similar between both versions, if not better on the newer CPU.
Separately to track the performance slowdown we had a small program run filter median in a loop and check the performance between both versions, we were surprised to an almost 3x improvement in performance
Could you help us address the performance issues here?
Hey @Gennady_F_Intel ,
I had referred to the lib files / interface's extension numbers as the version numbers in the initial post. Please find the IPP versions below.
The old IPP has a version string :
The new IPP has a version string :
Thanks for posting in Intel communities.
Could you please isolate your issue and share with us a sample reproducer so that we can try reproducing the issue at our end and help you accordingly? In addition, it helps us a lot if you share with us the IPP version and the performance-related details that you have observed.
Generally, performance varies based on the target architecture, depending on the specific CPU features of Saphire rapids.
Hey @ShanmukhS_Intel ,
We have been trying recreating a simple example with similar compilation environments - flags and all, to observe this slowdown, but have been unable to do so yet.
As mentioned in the initial post, with a small program with only the median filter in a loop, we observe a 3x improvement between the older 2017.0.3 IPP vs the newer 2021.8.0 IPP - as expected with a newer processor and a library.
For now the issue seems to be in application we have though.
Thanks for the information, Based on your reply we assume that the real issue comes from your application. We would like to request you to correct us if there is any difference in our understanding.
As the real issue occurs within your application, and not with the program involving only IPP routines as mentioned by you, we are going ahead and closing the thread.
Thanks for posting on the community. Please raise a new thread in case you have any other queries and we would be glad to help you with that!