• DocumentCode
    3664236
  • Title

    Heterogeneous Habanero-C (H2C): A Portable Programming Model for Heterogeneous Processors

  • Author

    Deepak Majeti;Vivek Sarkar

  • fYear
    2015
  • fDate
    5/1/2015 12:00:00 AM
  • Firstpage
    708
  • Lastpage
    717
  • Abstract
    Heterogeneous architectures with their diverse architectural features impose significant programmability challenges. Existing programming systems involve non-trivial learning and are not productive, not portable, and are challenging to tune for performance. In this paper, we introduce Heterogeneous Habanero-C (H2C), which is an implementation of the Habanero execution model for modern heterogeneous (CPU + GPU) architectures. The H2C language provides high-level constructs to specify the computation, communication, and synchronization in a given application. H2C also implements novel constructs for task partitioning and locality. The H2C (source-to-source) compiler and runtime framework efficiently map these high-level constructs onto the underlying heterogeneous platform, which can include multiple CPU cores and multiple GPU devices, possibly from different vendors. Experimental evaluations of four applications show significant improvements in productivity, portability, and performance.
  • Keywords
    "Runtime","Graphics processing units","Computer architecture","Optimization","Kernel","Programming"
  • Publisher
    ieee
  • Conference_Titel
    Parallel and Distributed Processing Symposium Workshop (IPDPSW), 2015 IEEE International
  • Type

    conf

  • DOI
    10.1109/IPDPSW.2015.81
  • Filename
    7284378