Efficient Parallel Selective Separable-kernel Convolution on Heterogeneous Processors
Abstract
Separable kernel convolution is a fundamental operation for image processing and computer vision applications. Existing parallel implementations of convolution operation convolve a whole image with a separable kernel. While such algorithms are efficient, not all the computed convolutions are necessarily utilized by the underlying application. In this paper we introduce an integrated parallel selective separable-kernel convolution method with adaptive load balancing, for both homogeneous and heterogeneous multi-core processors.. The method allows for only computing convolutions at selected points efficiently, making use of partial convolution results computed previously. The method also automatically load-balances the convolution computation among core/processors with different processing speeds. The load-balancing is a hybrid dynamic/static one that adapts load-balancing for sequences of video frames, allowing for fast convolution operation on video streams. Our method is studied on the computation of the Difference of Gaussian operation. Performance assessment results show a remarkable load-balancing reaching 80% of optimum load balance for both heterogeneous and homogeneous processor systems.