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 条
  • [41] High-level mathematical modeling and programming
    Linkoping Univ
    IEEE Software, 4 (77-87):
  • [42] VERY HIGH-LEVEL CONCURRENT PROGRAMMING
    SHI, Y
    PRYWES, N
    SZYMANSKI, B
    PNUELI, A
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1987, 13 (09) : 1038 - 1046
  • [43] WHAT ARE HIGH-LEVEL PROGRAMMING LANGUAGES
    FORBES, JM
    INDUSTRIAL ELECTRONICS, 1967, 5 (07): : 312 - &
  • [44] High-level database programming in curry
    Brassel, Bernd
    Hanus, Michael
    Mueller, Marion
    PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES, PROCEEDINGS, 2008, 4902 : 316 - 332
  • [45] A high-level programming paradigm for SystemC
    Thompson, M
    Pimentel, AD
    COMPUTER SYSTEMS: ARCHITECTURES, MODELING, AND SIMULATION, 2004, 3133 : 530 - 539
  • [46] Efficient high-level parallel programming
    Botorog, GH
    Kuchen, H
    THEORETICAL COMPUTER SCIENCE, 1998, 196 (1-2) : 71 - 107
  • [47] OpenACC to FPGA: A Framework for Directive-based High-Performance Reconfigurable Computing
    Lee, Seyong
    Kim, Jungwon
    Vetter, Jeffrey S.
    2016 IEEE 30TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS 2016), 2016, : 544 - 554
  • [48] UNDERSTANDING PORTABILITY OF A HIGH-LEVEL PROGRAMMING MODEL ON CONTEMPORARY HETEROGENEOUS ARCHITECTURES
    Sabne, Amit
    Sakdhnagool, Putt
    Lee, Seyong
    Vetter, Jeffrey S.
    IEEE MICRO, 2015, 35 (04) : 48 - 58
  • [49] Darkroom: Compiling High-Level Image Processing Code into Hardware Pipelines
    Hegarty, James
    Brunhaver, John
    DeVito, Zachary
    Ragan-Kelley, Jonathan
    Cohen, Noy
    Bell, Steven
    Vasilyev, Artem
    Horowitz, Mark
    Hanrahan, Pat
    ACM TRANSACTIONS ON GRAPHICS, 2014, 33 (04):
  • [50] A KNOWLEDGE-BASED APPROACH FOR HIGH-LEVEL PROGRAMMING OF CONCURRENT SYSTEMS
    SHEU, PCY
    JOURNAL OF SYSTEMS AND SOFTWARE, 1990, 11 (01) : 21 - 29