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
来源
LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, LCPC 2013 | 2014年 / 8664卷
关键词
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 条
  • [21] A domain-specific high-level programming model
    Mansouri, Farouk
    Huet, Sylvain
    Houzet, Dominque
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2016, 28 (03): : 750 - 767
  • [22] Satin: A High-Level and Efficient Grid Programming Model
    Van Nieuwpoort, Rob V.
    Wrzesinska, Gosia
    Jacobs, Ceriel J. H.
    Bal, Henri E.
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2010, 32 (03):
  • [23] A THEORETICAL-MODEL OF A HIGH-LEVEL PROGRAMMING LANGUAGE
    FALK, VN
    PROGRAMMING AND COMPUTER SOFTWARE, 1987, 13 (04) : 139 - 146
  • [24] An Abstraction Model for High-Level Application Programming on the Cloud
    Binh Minh Nguyen
    Viet Tran
    Hluchy, Ladislav
    ADVANCED COMPUTATIONAL METHODS FOR KNOWLEDGE ENGINEERING, 2013, 479 : 295 - 306
  • [25] Evaluation of a Directive-Based GPU Programming Approach for High-Order Unstructured Mesh Computational Fluid Dynamics
    Puri, Kunal
    Singh, Vikram
    Frankel, Steven
    PROCEEDINGS OF THE PLATFORM FOR ADVANCED SCIENTIFIC COMPUTING CONFERENCE (PASC17), 2017,
  • [26] Exploring the interoperability of remote GPGPU virtualization using rCUDA and directive-based programming models
    Adrián Castelló
    Antonio J. Peña
    Rafael Mayo
    Judit Planas
    Enrique S. Quintana-Ortí
    Pavan Balaji
    The Journal of Supercomputing, 2018, 74 : 5628 - 5642
  • [27] High-level programming in MPI
    Gropp, WD
    Lusk, E
    RECENT ADVANCES IN PARALLEL VIRTUAL MACHINE AND MESSAGE PASSING INTERFACE, 2003, 2840 : 27 - 27
  • [28] High-Level Logic Programming
    Osorio, M
    Zacarias, F
    FOUNDATIONS OF INFORMATION AND KNOWLEDGE SYSTEMS, 2000, 1762 : 226 - 240
  • [29] HIGH-LEVEL PROGRAMMING LANGUAGES
    BARNETT, GO
    GREENES, RA
    COMPUTERS AND BIOMEDICAL RESEARCH, 1970, 3 (05): : 488 - &
  • [30] Exploring the interoperability of remote GPGPU virtualization using rCUDA and directive-based programming models
    Castello, Adrian
    Pena, Antonio J.
    Mayo, Rafael
    Planas, Judit
    Quintana-Orti, Enrique S.
    Balaji, Pavan
    JOURNAL OF SUPERCOMPUTING, 2018, 74 (11): : 5628 - 5642