Compiling a High-Level Directive-Based Programming Model for GPGPUs

被引:11
|
作者
Tian, Xiaonan [1 ]
Xu, Rengan [1 ]
Yan, Yonghong [1 ]
Yun, Zhifeng [1 ]
Chandrasekaran, Sunita [1 ]
Chapman, Barbara [1 ]
机构
[1] Univ Houston, Dept Comp Sci, Houston, TX 77004 USA
关键词
D O I
10.1007/978-3-319-09967-5_6
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
OpenACC is an emerging directive-based programming model for programming accelerators that typically enable non-expert programmers to achieve portable and productive performance of their applications. In this paper, we present the research and development challenges, and our solutions to create an open-source OpenACC compiler in a main stream compiler framework (OpenUH of a branch of Open64). We discuss in details our loop mapping techniques, i.e. how to distribute loop iterations over the GPGPU's threading architectures, as well as their impacts on performance. The runtime support of this programming model are also presented. The compiler was evaluated with several commonly used benchmarks, and delivered similar performance to those obtained using a commercial compiler. We hope this implementation to serve as compiler infrastructure for researchers to explore advanced compiler techniques, to extend OpenACC to other programming languages, or to build performance tools used with OpenACC programs.
引用
收藏
页码:105 / 120
页数:16
相关论文
共 50 条
  • [31] Programming the Web with high-level programming languages
    Graunke, P
    Krishnamurthi, S
    Van der Hoeven, S
    Felleisen, M
    PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2001, 2028 : 122 - 136
  • [32] Exploring heterogeneous mobile architectures with a high-level programming model
    de Carvalho, Wilson
    Andrade, Guilherme
    Caldeira, Pedro
    Utsch, Renato
    Ferreira, Renato
    Rocha, Leonardo
    Carvalho, Renan
    Nasser, Millas
    2017 29TH INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING (SBAC-PAD), 2017, : 25 - 32
  • [33] Olympus: A high-level programming model for pervasive computing environments
    Ranganathan, A
    Chetan, S
    Al-Muhtadi, J
    Campbell, RH
    Mickunas, MD
    Third IEEE International Conference on Pervasive Computing and Communications, Proceedings, 2005, : 7 - 16
  • [34] Using high-level performance prediction in compiling for distributed systems
    van Gemund, AJC
    PROCEEDINGS OF THE THIRTY-FIRST HAWAII INTERNATIONAL CONFERENCE ON SYSTEM SCIENCES, VOL VII: SOFTWARE TECHNOLOGY TRACK, 1998, : 554 - 563
  • [35] A high-level cellular programming model for massively parallel processing
    Spezzano, G
    Talia, D
    SECOND INTERNATIONAL WORKSHOP ON HIGH-LEVEL PARALLEL PROGRAMMING MODELS AND SUPPORTIVE ENVIRONMENTS, PROCEEDINGS, 1997, : 55 - 63
  • [36] HIGH-LEVEL OPTIMIZATIONS IN COMPILING PROCESS DESCRIPTIONS TO ASYNCHRONOUS CIRCUITS
    GOPALAKRISHNAN, G
    AKELLA, V
    JOURNAL OF VLSI SIGNAL PROCESSING, 1994, 7 (1-2): : 33 - 45
  • [37] Evaluation of Directive-Based GPU Programming Models on a Block Eigensolver with Consideration of Large Sparse Matrices
    Rabbi, Fazlay
    Daley, Christopher S.
    Aktulga, Hasan Metin
    Wright, Nicholas J.
    ACCELERATOR PROGRAMMING USING DIRECTIVES, WACCPD 2019, 2020, 12017 : 66 - 88
  • [38] HIGH-LEVEL PROGRAMMING FOR DISTRIBUTED COMPUTING
    FELDMAN, JA
    COMMUNICATIONS OF THE ACM, 1979, 22 (06) : 353 - 368
  • [39] A HIGH-LEVEL APPROACH TO PROGRAMMING A ROBOT
    WANG, NS
    DAVIES, BJ
    INTERNATIONAL JOURNAL OF MACHINE TOOLS & MANUFACTURE, 1987, 27 (01): : 57 - 63
  • [40] hiCUDA: High-Level GPGPU Programming
    Han, Tianyi David
    Abdelrahman, Tarek S.
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2011, 22 (01) : 78 - 90