The reviewed record of science sign in
Pith

arxiv: 2005.13014 · v2 · pith:5PYAT4NN · submitted 2020-05-26 · cs.PL

Domain-Specific Multi-Level IR Rewriting for GPU

Reviewed by Pith T0 review T1 audit T2 compute T3 formal T4 kernel pith:5PYAT4NNrecord.jsonopen to challenge →

classification cs.PL
keywords dialectsdomain-specificmulti-levelrewritingcodecompilercompilersdesign
0
0 comments X
read the original abstract

Traditional compilers operate on a single generic intermediate representation (IR). These IRs are usually low-level and close to machine instructions. As a result, optimizations relying on domain-specific information are either not possible or require complex analysis to recover the missing information. In contrast, multi-level rewriting instantiates a hierarchy of dialects (IRs), lowers programs level-by-level, and performs code transformations at the most suitable level. We demonstrate the effectiveness of this approach for the weather and climate domain. In particular, we develop a prototype compiler and design stencil- and GPU-specific dialects based on a set of newly introduced design principles. We find that two domain-specific optimizations (500 lines of code) realized on top of LLVM's extensible MLIR compiler infrastructure suffice to outperform state-of-the-art solutions. In essence, multi-level rewriting promises to herald the age of specialized compilers composed from domain- and target-specific dialects implemented on top of a shared infrastructure.

This paper has not been read by Pith yet.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.