Title
NoT: a high-level no-threading parallel programming method for heterogeneous systems
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.
Year
DOI
Venue
2019
10.1007/s11227-019-02749-1
The Journal of Supercomputing
Keywords
Field
DocType
High-level parallel programming, Language construct, Association structure, Heterogeneous system, OpenCL
Multithreading,Computer science,CUDA,Language construct,Threading (manufacturing),Parallel computing,Compiler,Constructed language,Serial code,Runtime system
Journal
Volume
Issue
ISSN
75
7
1573-0484
Citations 
PageRank 
References 
1
0.40
28
Authors
4
Name
Order
Citations
PageRank
Shusen Wu110.40
Xiaoshe Dong252.48
Zhang Xingjun392.93
Zhu Zhengdong472.90