2D Image Convolution using Three Parallel Programming Models on the Xeon Phi
University of Glasgow
arXiv:1711.09791 [cs.DC], (27 Nov 2017)
@article{tousimojarad2017image,
title={2D Image Convolution using Three Parallel Programming Models on the Xeon Phi},
author={Tousimojarad, Ashkan and Vanderbauwhede, Wim and Cockshott, W Paul},
year={2017},
month={nov},
archivePrefix={"arXiv"},
primaryClass={cs.DC}
}
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.
November 30, 2017 by hgpu