Back to Search Start Over

Language Constructs and Semantics for Runtime-independent Parallelism Expression on Heterogeneous Systems

Authors :
Xiaoshe Dong
Weiduo Chen
Shusen Wu
Yufei Wang
Source :
2019 IEEE 5th International Conference on Computer and Communications (ICCC).
Publication Year :
2019
Publisher :
IEEE, 2019.

Abstract

The emergence of heterogeneous processors such as GPUs provide massively parallel computing power but also exacerbate the difficulties of parallel programming. Although low-level programming methods such as CUDA and OpenCL can yield good performance, the programming productivity is poor and applications lack portability. In this paper, we present a core language Ruler, which extends C with high-level parallel constructs. These constructs enable programmers to express parallelism in programs without concerning runtime details, thus ease user programming. We present the operational semantics of the language and show how these constructs reserve parallel patterns and parallelism degree of high-level applications. Those information could inform the compiler to generate efficient code and maintain the performance on different platforms. We have implemented a compiler and runtime system for Ruler on the top of OpenCL. Multiple benchmarks are rebuilt with Ruler and evaluated on both a NVIDIA GPU and an Intel MIC platform to demonstrate the effectiveness of our techniques. The size of Ruler code is only 13%-64% to that of the OpenCL code. The rebuilt benchmarks execute smoothly on both platforms after compilation, yielding a competitive performance to that of handcrafted benchmark OpenCL code on both platforms.

Details

Database :
OpenAIRE
Journal :
2019 IEEE 5th International Conference on Computer and Communications (ICCC)
Accession number :
edsair.doi...........473f340ab2404749d23d0795a6bdf3b2
Full Text :
https://doi.org/10.1109/iccc47050.2019.9064451