Optimizing the exploitation of multicore processors and GPUs with OpenMP and OpenCL
Barcelona Supercomputing Center, Barcelona, Spain
Languages and Compilers for Parallel Computing, Lecture Notes in Computer Science, 2011, Volume 6548/2011, 215-229
@article{ferrer2011optimizing,
title={Optimizing the exploitation of multicore processors and GPUs with OpenMP and OpenCL},
author={Ferrer, R. and Planas, J. and Bellens, P. and Duran, A. and Gonzalez, M. and Martorell, X. and Badia, R. and Ayguade, E. and Labarta, J.},
journal={Languages and Compilers for Parallel Computing},
pages={215–229},
year={2011},
publisher={Springer}
}
In this paper, we present OMPSs, a programming model based on OpenMP and StarSs, that can also incorporate the use of OpenCL or CUDA kernels. We evaluate the proposal on three different architectures, SMP, Cell/B.E. and GPUs, showing the wide usefulness of the approach. The evaluation is done with four different benchmarks, Matrix Multiply, BlackScholes, Perlin Noise, and Julia Set. We compare the results obtained with the execution of the same benchmarks written in OpenCL, in the same architectures. The results show that OMPSs greatly outperforms the OpenCL environment. It is more flexible to exploit multiple accelerators. And due to the simplicity of the annotations, it increases programmer’s productivity.
August 18, 2011 by hgpu