Ask Your Question

Revision history [back]

how to accelerate filter2D with multi-core CPU?

I'm using filter2d to proceed a convolution with a 13x13 kernel. I found even I enabled Intel IPPICV, there is still only one core works. My cpu is intel E5 v4(54 cores) . Can filter2d with ipp work in a multi thread ways? Currently, my solution is using pthread to divide image into several blocks to accelerate the convolution(each block was proceeded by a thread). In order to make sure no tearing between the block and the block, each block overlaps 6 pixels. This leads to another problem. The problem is filter2D doesn't has any option to perform 'valid convolution' (the convolution reduce the image size), which when I create more threads, the efficiency drops dramatically. Does anyone can tell me a way to enable mutli core filter2D, or to do valid convolution using openCV?