Authors: Slo-Li Chu; Chih-Chieh Hsiao
Addresses: Department of Information and Computer Engineering, Chung Yuan Christian University, 200, Chung Pei Rd., Chung Li, 32023, Taiwan ' Department of Information and Computer Engineering, Chung Yuan Christian University, 200, Chung Pei Rd., Chung Li, 32023, Taiwan
Abstract: The growth of 3D rendering and gaming requirements makes integration of CPU and GPUs more popular. This heterogeneous integration also leads to difficulty in programming. Accordingly, an open standard parallel paradigm, OpenCL, is proposed to form a unified programming style for various GPU platforms. The overall performance of OpenCL programmes highly depends on their programming style and optimisation method. In this study, we discuss several optimising techniques for OpenCL, which includes massively multithreading, vectorisation, and data privatisation. Then the advantage and drawback of these methods are discussed later. The performance comparison of these mechanisms is also provided. Finally it adopts several benchmarks to illustrate the differences of optimisations. The experimental results show that the best optimising programme and the worst optimising programme have the speedup of 26 and 2,200, respectively.
Keywords: parallel computing; GPU computing; graphics processing unit; OpenCL; GPGPU; optimisation; multithreading; vectorisation; data privatisation.
International Journal of Computational Science and Engineering, 2014 Vol.9 No.1/2, pp.64 - 79
Received: 18 Jan 2012
Accepted: 17 Apr 2012
Published online: 16 Jan 2014 *