Back to Search
Start Over
NoT: a high-level no-threading parallel programming method for heterogeneous systems
- 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.
- Subjects :
- Intermediate language
Computer science
Parallel computing
Software_PROGRAMMINGTECHNIQUES
ComputerSystemsOrganization_PROCESSORARCHITECTURES
computer.software_genre
Theoretical Computer Science
CUDA
Runtime system
Hardware and Architecture
Multithreading
Threading (manufacturing)
Compiler
computer
Software
Information Systems
Subjects
Details
- ISSN :
- 15730484 and 09208542
- Volume :
- 75
- Database :
- OpenAIRE
- Journal :
- The Journal of Supercomputing
- Accession number :
- edsair.doi...........f685c28a57bb7b6dcef35e726c5b04d2