• DocumentCode
    9405
  • Title

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

  • Author

    Sabne, Amit ; Sakdhnagool, Putt ; Seyong Lee ; Vetter, Jeffrey S.

  • Volume
    35
  • Issue
    4
  • fYear
    2015
  • fDate
    July-Aug. 2015
  • Firstpage
    48
  • Lastpage
    58
  • Abstract
    Accelerator-based heterogeneous computing is gaining momentum in the high-performance computing arena. However, the increased complexity of heterogeneous architectures demands more generic, high-level programming models. OpenACC is one such attempt to tackle this problem. Although the abstraction provided by OpenACC offers productivity, it raises questions concerning both functional and performance portability. In this article, the authors propose HeteroIR, a high-level, architecture-independent intermediate representation, to map high-level programming models, such as OpenACC, to heterogeneous architectures. They present a compiler approach that translates OpenACC programs into HeteroIR and accelerator kernels to obtain OpenACC functional portability. They then evaluate the performance portability obtained by OpenACC with their approach on 12 OpenACC programs on Nvidia CUDA, AMD GCN, and Intel Xeon Phi architectures. They study the effects of various compiler optimizations and OpenACC program settings on these architectures to provide insights into the achieved performance portability.
  • Keywords
    parallel programming; program compilers; software portability; AMD GCN; HeteroIR; Intel Xeon Phi architectures; Nvidia CUDA; OpenACC functional portability; OpenACC programs; accelerator kernels; compiler optimizations; heterogeneous architectures; high-level architecture-independent intermediate representation; high-level programming models; Computer architecture; Computer programs; Graphics processing units; Microwave integrated circuits; Optimization; Performance evaluation; HeteroIR; Remove Hybrid; compilers; heterogeneous (hybrid) systems; measurements; runtime environments;
  • fLanguage
    English
  • Journal_Title
    Micro, IEEE
  • Publisher
    ieee
  • ISSN
    0272-1732
  • Type

    jour

  • DOI
    10.1109/MM.2015.73
  • Filename
    7155420