Compiling a High-level Directive-Based Programming Model for GPGPUs
Department of Computer Science, University of Houston, Houston TX, 77004 USA
The 26th International Workshop on Languages and Compilers for High Performance Computing (LCPC 2013), 2013
@article{tian2013compiling,
title={Compiling a High-level Directive-Based Programming Model for GPGPUs},
author={Tian, Xiaonan and Xu, Rengan and Yan, Yonghong and Yun, Zhifeng and Chandrasekaran, Sunita and Chapman, Barbara},
year={2013}
}
OpenACC is an emerging directive-based programming model for programming accelerators that typically enable non-expert programmers to achieve portable and productive performance of their applications. In this paper, we present the research and development challenges, and our solutions to create an open-source OpenACC compiler in a main stream compiler framework (OpenUH of a branch of Open64). We discuss in details our loop mapping techniques, i.e. how to distribute loop iterations over the GPGPU’s threading architectures, as well as their impacts on performance. The runtime support of this programming model are also presented. The compiler was evaluated with several commonly used benchmarks, and delivered similar performance to those obtained using a commercial compiler. We hope this implementation to serve as compiler infrastructure for researchers to explore advanced compiler techniques, to extend OpenACC to other programming languages, or to build performance tools used with OpenACC programs.
September 30, 2013 by hgpu