Back to Search Start Over

NoT: a high-level no-threading parallel programming method for heterogeneous systems

Authors :
Zhengdong Zhu
Shusen Wu
Xiaoshe Dong
Xingjun Zhang
Source :
The Journal of Supercomputing. 75:3810-3841
Publication Year :
2019
Publisher :
Springer Science and Business Media LLC, 2019.

Abstract

Multithreading is the core of mainstream heterogeneous programming methods such as CUDA and OpenCL. However, multithreaded parallel programming requires programmers to handle low-level runtime details, making the programming process complex and error prone. This paper presents no-threading (NoT), a high-level no-threading programming method. It introduces the association structure, a new language construct, to provide a declarative runtime-free expression of different data parallelisms and avoid the use of multithreading. The NoT method designs C-like syntax for the association structure and implements a compiler and runtime system using OpenCL as an intermediate language. We demonstrate the effectiveness of our techniques with multiple benchmarks. The size of the NoT code is comparable to that of the serial code and is far less than that of the benchmark OpenCL code. The compiler generates efficient OpenCL code, yielding a performance competitive with or equivalent to that of the manually optimized benchmark OpenCL code on both a GPU platform and an MIC platform.

Details

ISSN :
15730484 and 09208542
Volume :
75
Database :
OpenAIRE
Journal :
The Journal of Supercomputing
Accession number :
edsair.doi...........f685c28a57bb7b6dcef35e726c5b04d2