OpenMPC: Extended OpenMP for Efficient Programming and Tuning on GPUs

Seyong Lee, Rudolf Eigenmann
Computer Science and Mathematics Division, Oak Ridge National Laboratory, Oak Ridge, TN 37831, USA
International Journal of Computational Science and Engineering, Vol. 7, No. 1, 2012


   title={OpenMPC: Extended OpenMP for Efficient Programming and Tuning on GPUs},

   author={Lee, S. and Eigenmann, R.},

   journal={Int. J. Computational Science and Engineering},






Download Download (PDF)   View View   Source Source   



General-Purpose Graphics Processing Units (GPGPUs) provide inexpensive, high performance platforms for compute-intensive applications. However, their programming complexity poses a significant challenge to developers. Even though the CUDA (Compute Unified Device Architecture) programming model offers better abstraction, developing efficient GPGPU code is still complex and error-prone. This paper proposes a directive-based, high-level programming model, called OpenMPC, which addresses both programmability and tunability issues on GPGPUs. We have developed a fully automatic compilation and user-assisted tuning system supporting OpenMPC. In addition to a range of compiler transformations and optimizations, the system includes tuning capabilities for generating, pruning, and navigating the search space of compilation variants. Evaluation using fourteen applications shows that our system achieves 75% of the performance of the hand-coded CUDA programs (92% if excluding one exceptional case).
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2017 hgpu.org

All rights belong to the respective authors

Contact us: