Parallel Programming using OpenCL on Modern Architectures
Technical University of Denmark
Technical University of Denmark, IMM Technical Report 2012-05, 2012
@techreport{nielsen2012parallel,
title={Parallel Programming using OpenCL on Modern Architectures},
author={Nielsen, A.S. and Engsig-Karup, A.P. and Dammann, B.},
year={2012},
institution={Technical University of Denmark}
}
This report is intended as a quick introduction to the OpenCL framework and the aim is to facilitate a smooth transfer into the use OpenCL C for developers with previous GPGPU experience. The purpose of OpenCL is to allow for developers to use all compute resources available on a heterogeneous hardware platform. As well as being an introduction to OpenCL, the report also presents an overview of AMD GPU hardware, covering both the VLIW5/4 architectures and the upcoming Graphics-Core-Next architecture which is to form the basis of AMDs future generation GPUs that are to be as capable at compute as they are at graphics. To conclude the presentation of OpenCL as a language for compute, a matrix-matrix multiplication example is devised and optimized for the VLIW4, Tesla and Fermi architectures. The performance is measured as a function of both matrix and work-group size and results are discussed. Where applicable, the equivalent CUDA implementation is tested for comparison.
October 15, 2012 by hgpu