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

I have a question about "ippiFilterMedianBorder_8u_C1R"

take1
Beginner
911 Views

Thank you for your help.

In the median filter's "ippiFilterMedianBorder_8u_C1R" function

I am having trouble with a phenomenon where the speed becomes more than 10 times slower when updating the IPP version.

Prepare an 8-bit grayscale image of 1000 pixels horizontally and 1000 pixels vertically.
Run a median filter.

Briefly summarized below:
The environment is
CPU:14900K
MEM:64GB
OS:win11 (latest)

parameters
Image: 8bitGray 1000x1000
Mask size: X=201, Y=1
Border processing type: ippBorderInMem

*() shows the same image size with 24-bit color.

<IPP_ver2021.1.1> It's fast
Processing speed: 3.5ms (10.1ms)
Buffer size obtained with ippiFilterMedianBorderGetBufferSize:
503,904byte (900,000byte)

<IPP_ver2021.12> Slow speed
Processing speed: 40.0ms (11.3ms)
Buffer size obtained with ippiFilterMedianBorderGetBufferSize:
1,117,984byte (900,000byte)

In comparison, in the case of 8bitGray, the new IPP version takes more than 11 times the processing time.
I feel like something is wrong with the required buffer size, which is more than double.

What is interesting is that the new IPP version has a larger data size than 24bit color.
This means that 8bitGray, which is smaller in size, is slower in processing...

I would appreciate it if you could confirm whether this is a problem or not.

0 Kudos
4 Replies
take1
Beginner
805 Views

Thank you for your help.
What happened to this question?

0 Kudos
Fengrui
Moderator
776 Views

Hi,

 

Thank you for posting in the forum.

I built a test and ran it on my side, but didn't see this performance drop.

 

<IPP_ver2021.4.0> (not tested with 2021.1.1 version though)

status of ippiFilterMedianBorderGetBufferSize: 0
Buffer size: 503904
status of ippiFilterMedianBorder_8u_C1R: 0
elapsed time: 4.41866 ms
Exit status 0 (ippStsNoErr: No errors)

 

<IPP_ver2021.12>

status of ippiFilterMedianBorderGetBufferSize: 0
Buffer size: 1117984
status of ippiFilterMedianBorder_8u_C1R: 0
elapsed time: 4.37008 ms
Exit status 0 (ippStsNoErr: No errors)

 

Did you do warm up runs? I can see the elapsed time getting one order of magnitude higher (~10 ms) for the first run.

 

Thanks,

Fengrui

 

 

0 Kudos
take1
Beginner
675 Views

Hi.
Thank you for your reply.

I didn't explain enough, but with the software currently being developed,
I am using <IPP_ver2021.1.1>.

 

Therefore, if you use <IPP_ver2021.2.0> or later than <IPP_ver2021.1.1>,
I'm having trouble updating my IPP because the speed has become so slow.

 

Therefore, I would like you to compare it with <IPP_ver2021.1.1>.

There is another thing that caught my attention from the answers I received.

 

When compared with <IPP_ver2021.4.0>, <IPP_ver2021.12> has a smaller buffer size.
That's about twice as much.

<IPP_ver2021.4.0> Buffer size: 503904
<IPP_ver2021.12> Buffer size: 1117984

How does this phenomenon occur?

 

I would appreciate it if you could answer the above questions.
Thank you for your support.

0 Kudos
Ruqiu_C_Intel
Moderator
631 Views

Thank you for posting the issue. For better investigating the issue, please share out your simple reproducer.


0 Kudos
Reply