Abstract
This paper describes a shared-source programming model and compiler for Heterogeneous System Architecture, based on C++14.
Heterogeneous System Architecture provides hardware specifications, a runtime API and a virtual instruction set to enable heterogeneous processors to interoperate through a unified virtual address space. However, it does not define a high-level kernel language such as OpenCL C or CUDA. This lack of a high-level kernel language presents a barrier to the exploitation of the capabilities of these heterogeneous systems.
Through the use of automatic call-graph duplication in the compiler, we enable code reuse and sharing of data structures between host processor and accelerator devices with fewer annotations than CUDA or C++AMP. We utilize the unified virtual address space to enable sharing data between devices via pointers, rather than requiring copies. We show that through the use of address space inference, existing standard C++ code such as the standard template library can be utilized with minimal modifications on accelerators.
Heterogeneous System Architecture provides hardware specifications, a runtime API and a virtual instruction set to enable heterogeneous processors to interoperate through a unified virtual address space. However, it does not define a high-level kernel language such as OpenCL C or CUDA. This lack of a high-level kernel language presents a barrier to the exploitation of the capabilities of these heterogeneous systems.
Through the use of automatic call-graph duplication in the compiler, we enable code reuse and sharing of data structures between host processor and accelerator devices with fewer annotations than CUDA or C++AMP. We utilize the unified virtual address space to enable sharing data between devices via pointers, rather than requiring copies. We show that through the use of address space inference, existing standard C++ code such as the standard template library can be utilized with minimal modifications on accelerators.
Original language | English |
---|---|
Title of host publication | High Performance Computing |
Subtitle of host publication | ISC High Performance 2016 International Workshops, ExaComm, E-MuCoCoS, HPC-IODC, IXPUG, IWOPH, P^3MA, VHPC, WOPSSS, Frankfurt, Germany, June 19–23, 2016, Revised Selected Papers |
Editors | M. Taufer, B. Mohr, J. M. Kunkel |
Publisher | Springer International Publishing |
Pages | 433-450 |
Number of pages | 17 |
ISBN (Print) | 9783319460789 |
DOIs | |
Publication status | Published - 6 Oct 2016 |
Publication series
Name | Lecture Notes in Computer Science |
---|---|
Volume | 9945 |