2D Image Convolution using Three Parallel Programming Models on the Xeon Phi
Ashkan Tousimojarad, Wim Vanderbauwhede, W Paul Cockshott

TL;DR
This paper compares the performance of three parallel programming models—OpenMP, OpenCL, and GPRM—for 2D image convolution on the Intel Xeon Phi, highlighting optimization effects and task agglomeration impacts.
Contribution
It evaluates and compares the performance and complexity of three parallel programming models for image convolution on Xeon Phi, including the impact of specific optimization techniques.
Findings
OpenMP, OpenCL, and GPRM show different performance profiles.
Optimization techniques significantly improve both sequential and parallel performance.
Task agglomeration in GPRM affects parallel efficiency.
Abstract
Image convolution is widely used for sharpening, blurring and edge detection. In this paper, we review two common algorithms for convolving a 2D image by a separable kernel (filter). After optimising the naive codes using loop unrolling and SIMD vectorisation, we choose the algorithm with better performance as the baseline for parallelisation. We then compare the parallel performance of the optimised code using OpenMP, OpenCL and GPRM implementations on the Intel Xeon Phi. We also measure the effects of optimisation techniques and demonstrate how they affect both sequential and parallel performance. Apart from comparing the code complexity as well as the performance of the chosen parallel programming models, we investigate the impact of a parallelisation technique, task agglomeration in GPRM.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Vision and Imaging · Image Processing Techniques and Applications · Advanced Image and Video Retrieval Techniques
