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 条
  • [41] High-level abstractions for message-passing parallel programming
    Chan, F
    Cao, JN
    Sun, YD
    [J]. PARALLEL COMPUTING, 2003, 29 (11-12) : 1589 - 1621
  • [42] Practical Aspects of High-Level Parallel Programming PAPP 2010
    Benoit, Anne
    Gava, Frederic
    [J]. ICCS 2010 - INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE, PROCEEDINGS, 2010, 1 (01): : 2047 - +
  • [43] OpenMP as a High-Level Specification Language for Parallelism And its use in Evaluating Parallel Programming Systems
    Grossman, Max
    Shirako, Jun
    Sarkar, Vivek
    [J]. OPENMP: MEMORY, DEVICES, AND TASKS, 2016, 9903 : 141 - 155
  • [44] NIL: A high-level language for distributed systems programming
    Parr, FN
    Strom, RE
    [J]. IBM SYSTEMS JOURNAL, 1999, 38 (2-3) : 181 - 197
  • [45] A High-Level Programming Approach for Distributed Systems with Accelerators
    Steuwer, Michel
    Kegel, Philipp
    Gorlatch, Sergei
    [J]. NEW TRENDS IN SOFTWARE METHODOLOGIES, TOOLS AND TECHNIQUES, 2012, 246 : 430 - 441
  • [46] NIL - A HIGH-LEVEL LANGUAGE FOR DISTRIBUTED SYSTEMS PROGRAMMING
    PARR, FN
    STROM, RE
    [J]. IBM SYSTEMS JOURNAL, 1983, 22 (1-2) : 111 - 127
  • [47] A Survey of High-Level Programming Languages in Control Systems
    Valles-Barajas, Fernando
    [J]. INTERNATIONAL ARAB JOURNAL OF INFORMATION TECHNOLOGY, 2011, 8 (02) : 178 - 187
  • [48] Towards High-Level Programming for Systems with Many Cores
    Gorlatch, Sergei
    Steuwer, Michel
    [J]. PERSPECTIVES OF SYSTEM INFORMATICS, PSI 2014, 2015, 8974 : 111 - 126
  • [49] UNDERSTANDING PORTABILITY OF A HIGH-LEVEL PROGRAMMING MODEL ON CONTEMPORARY HETEROGENEOUS ARCHITECTURES
    Sabne, Amit
    Sakdhnagool, Putt
    Lee, Seyong
    Vetter, Jeffrey S.
    [J]. IEEE MICRO, 2015, 35 (04) : 48 - 58
  • [50] INTRODUCTION TO THE SPECIAL ISSUE: PRACTICAL ASPECTS OF HIGH-LEVEL PARALLEL PROGRAMMING
    Benoit, Anne
    Loulergue, Frederic
    [J]. SCALABLE COMPUTING-PRACTICE AND EXPERIENCE, 2007, 8 (04): : V - V