Building a domain-specific compiler for emerging processors with a reusable approach

被引:0
|
作者
Li, Mingzhen [1 ,2 ]
Liu, Yi [2 ]
Chen, Bangduo [2 ]
Yang, Hailong [1 ,2 ]
Luan, Zhongzhi [2 ]
Qian, Depei [2 ]
机构
[1] State Key Lab Software Dev Environm, Beijing 100191, Peoples R China
[2] Beihang Univ, Sch Comp Sci & Engn, Beijing 100191, Peoples R China
基金
中国国家自然科学基金;
关键词
domain-specific compiler; emerging processor; reusable dialect; performance optimization; MLIR;
D O I
10.1007/s11432-022-3727-6
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
High-performance computing and deep learning domains have been motivating the design of domain-specific processors. Although these processors can provide promising computation capability, they are notorious for exotic programming paradigms. To improve programming productivity and fully exploit the performance potential of these processors, domain-specific compilers (DSCs) have been proposed. However, building DSCs for emerging processors requires tremendous engineering efforts because the commonly used compilation stack is difficult to be reused. Owing to the advent of multilevel intermediate representation (MLIR), DSC developers can leverage reusable infrastructure to extend their customized functionalities without rebuilding the entire compilation stack. In this paper, we further demonstrate the effectiveness of MLIR by extending its reusable infrastructure to embrace a heterogeneous many-core processor (Sunway processor). In particular, we design a new Sunway dialect and corresponding backend for the Sunway processor, fully exploiting its architectural advantage and hiding its programming complexity. To show the ease of building a DSC, we leverage the Sunway dialect and existing MLIR dialects to build a stencil compiler for the Sunway processor. The experimental results show that our stencil compiler, built with a reusable approach, can even perform better than state-of-the-art stencil compilers.
引用
收藏
页数:19
相关论文
共 50 条
  • [1] Building a domain-specific compiler for emerging processors with a reusable approach
    Mingzhen Li
    Yi Liu
    Bangduo Chen
    Hailong Yang
    Zhongzhi Luan
    Depei Qian
    [J]. Science China Information Sciences, 2024, 67
  • [2] Building a domain-specific compiler for emerging processors with a reusable approach
    Mingzhen LI
    Yi LIU
    Bangduo CHEN
    Hailong YANG
    Zhongzhi LUAN
    Depei QIAN
    [J]. Science China(Information Sciences), 2024, 67 (01) : 20 - 38
  • [3] Designing domain-specific processors
    Arnold, M
    Corporaal, H
    [J]. PROCEEDINGS OF THE NINTH INTERNATIONAL SYMPOSIUM ON HARDWARE/SOFTWARE CODESIGN, 2001, : 61 - 66
  • [4] A framework for domain-specific reusable components
    Haddad, H
    Fortner, W
    [J]. SERP'03: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING RESEARCH AND PRACTICE, VOLS 1 AND 2, 2003, : 384 - 390
  • [5] A Domain-Specific Compiler for Linear Algebra Operations
    Fabregat-Traver, Diego
    Bientinesi, Paolo
    [J]. HIGH PERFORMANCE COMPUTING FOR COMPUTATIONAL SCIENCE - VECPAR 2012, 2013, 7851 : 346 - 361
  • [6] A New Approach for Building Domain-specific Corpus with Wikipedia
    Zhang, Xinye
    Li, Xiu
    Ruan, Zhijian
    [J]. MECHATRONICS AND INDUSTRIAL INFORMATICS, PTS 1-4, 2013, 321-324 : 2319 - 2325
  • [7] Including domain-specific reasoners with reusable ontologies
    Fikes, R
    Jenkins, J
    Zhou, Q
    [J]. IKE'03: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON INFORMATION AND KNOWLEDGE ENGINEERING, VOLS 1 AND 2, 2003, : 262 - 268
  • [8] Benchmarking domain-specific compiler optimizations for variational forms
    Kirby, Robert C.
    Logg, Anders
    [J]. ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2008, 35 (02): : 1 - 18
  • [9] A compiler architecture for domain-specific type error diagnosis
    Serrano, Alejandro
    Hage, Jurriaan
    [J]. OPEN COMPUTER SCIENCE, 2019, 9 (01) : 33 - 51
  • [10] HIPAcc : A Domain-Specific Language and Compiler for Image Processing
    Membarth, Richard
    Reiche, Oliver
    Hannig, Frank
    Teich, Juergen
    Koerner, Mario
    Eckert, Wieland
    [J]. IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2016, 27 (01) : 210 - 224