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

被引:1
|
作者
Wu, Shusen [1 ]
Dong, Xiaoshe [1 ]
Zhang, Xingjun [1 ]
Zhu, Zhengdong [1 ]
机构
[1] Xi An Jiao Tong Univ, Sch Elect & Informat Engn, Xian 710049, Shaanxi, Peoples R China
来源
JOURNAL OF SUPERCOMPUTING | 2019年 / 75卷 / 07期
基金
中国国家自然科学基金;
关键词
High-level parallel programming; Language construct; Association structure; Heterogeneous system; OpenCL; PERFORMANCE; LANGUAGE; GPUS;
D O I
10.1007/s11227-019-02749-1
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:3810 / 3841
页数:32
相关论文
共 50 条
  • [1] NoT: a high-level no-threading parallel programming method for heterogeneous systems
    Shusen Wu
    Xiaoshe Dong
    Xingjun Zhang
    Zhengdong Zhu
    [J]. The Journal of Supercomputing, 2019, 75 : 3810 - 3841
  • [2] High-level programming for heterogeneous and hierarchical parallel systems
    Garcia-Blas, Javier
    Brown, Christopher
    [J]. INTERNATIONAL JOURNAL OF HIGH PERFORMANCE COMPUTING APPLICATIONS, 2018, 32 (06): : 804 - 806
  • [3] High-level parallel programming in a heterogeneous world
    Daniel Garcia, J.
    Llanos, Diego R.
    [J]. CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2019, 31 (05):
  • [4] GUEST EDITORS NOTE: HIGH-LEVEL PROGRAMMING FOR HETEROGENEOUS AND HIERARCHICAL PARALLEL SYSTEMS
    Hains, Gaetan
    Gava, Frederic
    Hammond, Kevin
    [J]. PARALLEL PROCESSING LETTERS, 2012, 22 (02)
  • [5] Guest Editorial Special Issue: High-Level Programming for Heterogeneous Parallel Systems
    Christopher Brown
    [J]. International Journal of Parallel Programming, 2019, 47 : 1 - 2
  • [6] Guest Editorial Special Issue: High-Level Programming for Heterogeneous Parallel Systems
    Brown, Christopher
    [J]. INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2019, 47 (01) : 1 - 2
  • [7] High-level multi-threading programming in logtalk
    Moura, Paulo
    Crocker, Paul
    Nunes, Paulo
    [J]. PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES, PROCEEDINGS, 2008, 4902 : 265 - +
  • [9] Towards High-Level Parallel Programming Models for Multicore Systems
    Marowka, Ami
    [J]. PROCEEDINGS OF THE 2008 ADVANCED SOFTWARE ENGINEERING & ITS APPLICATIONS, 2008, : 226 - 229
  • [10] High-Level Heterogeneous and Hierarchical Parallel Systems (HLPGPU 2014)
    Christopher Brown
    [J]. International Journal of Parallel Programming, 2015, 43 : 892 - 893