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 条
  • [1] NAS Parallel Benchmarks for GPGPUs Using a Directive-Based Programming Model
    Xu, Rengan
    Tian, Xiaonan
    Chandrasekaran, Sunita
    Yan, Yonghong
    Chapman, Barbara
    LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING (LCPC 2014), 2015, 8967 : 67 - 81
  • [2] Directive-Based, High-Level Programming and Optimizations for High-Performance Computing with FPGAs
    Lambert, Jacob
    Lee, Seyong
    Kim, Jungwon
    Vetter, Jeffrey S.
    Malony, Allen D.
    INTERNATIONAL CONFERENCE ON SUPERCOMPUTING (ICS 2018), 2018, : 160 - 171
  • [3] Programming for GPUs: the Directive-Based Approach
    Grillo, Lucas
    de Sande, Francisco
    Fumero, Juan J.
    Reyes, Ruyman
    2013 EIGHTH INTERNATIONAL CONFERENCE ON P2P, PARALLEL, GRID, CLOUD AND INTERNET COMPUTING (3PGCIC 2013), 2013, : 612 - 617
  • [4] OpenGR: A directive-based grid programming environment
    Hirano, M
    Sato, M
    Tanaka, Y
    HIGH PERFORMANCE COMPUTING, 2003, 2858 : 552 - 563
  • [5] Directive-based Programming for GPUs: A Comparative Study
    Reyes, Ruyman
    Lopez, Ivan
    Fumero, Juan J.
    de Sande, Francisco
    2012 IEEE 14TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS & 2012 IEEE 9TH INTERNATIONAL CONFERENCE ON EMBEDDED SOFTWARE AND SYSTEMS (HPCC-ICESS), 2012, : 410 - 417
  • [6] OpenGR: A directive-based grid programming environment
    Hirano, M
    Sato, M
    Tanaka, Y
    PARALLEL COMPUTING, 2005, 31 (10-12) : 1140 - 1154
  • [7] Directive-based GPU programming for computational fluid dynamics
    Pickering, Brent P.
    Jackson, Charles W.
    Scogland, Thomas R. W.
    Feng, Wu-Chun
    Roy, Christopher J.
    COMPUTERS & FLUIDS, 2015, 114 : 242 - 253
  • [8] Multi-GPU Support on Single Node Using Directive-Based Programming Model
    Xu, Rengan
    Tian, Xiaonan
    Chandrasekaran, Sunita
    Chapman, Barbara
    SCIENTIFIC PROGRAMMING, 2015, 2015
  • [9] HeteroPP: A directive-based heterogeneous cooperative parallel programming framework
    Wan, Lanjun
    Cui, Xueyan
    Li, Yuanyuan
    Zheng, Weihua
    Yuan, Xinpan
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2024, 36 (11):
  • [10] Exploring performance improvement opportunities in directive-based GPU programming
    Diarra, Rokiatou
    Merigot, Alain
    Vincke, Bastien
    2018 CONFERENCE ON DESIGN AND ARCHITECTURES FOR SIGNAL AND IMAGE PROCESSING (DASIP), 2018, : 82 - 87