Understanding Portability of a High-level Programming Model on Contemporary Heterogeneous Architectures

TitleUnderstanding Portability of a High-level Programming Model on Contemporary Heterogeneous Architectures
Publication TypeConference Paper
Year of Publication2015
AuthorsSabne, Amit, Sakdhnagool Putt, Lee Seyong, and Vetter Jeffrey S.
Conference NameIEEE Micro
PublisherIEEE
Abstract

Accelerator-based heterogeneous computing is gaining momentum in the High-Performance Computing arena. However, the increased complexity of the heterogeneous architectures demands more generic, high-level programming models. OpenACC is one such attempt to tackle this problem. While the abstraction provided by OpenACC offers productivity, it raises questions on both functional and performance portability. In this article, we propose HeteroIR, a high-level, architecture-independent intermediate representation, to map high-level programming models, such as OpenACC, to heterogeneous architectures. We present a compiler approach that translates OpenACC programs into HeteroIR and accelerator kernels, in order to obtain OpenACC functional portability. Then, we evaluate the performance portability obtained by OpenACC with our approach on twelve OpenACC programs on NVIDIA CUDA, AMD GCN, and Intel Xeon Phi architectures. We study the effects of various compiler optimizations and OpenACC program settings on these architectures to provide insights into the achieved performance portability.

DOI10.1109/MM.2015.73