Title | ||
---|---|---|
Domain-Specific Multi-Level IR Rewriting for GPU: The Open Earth Compiler for GPU-accelerated Climate Simulation |
Abstract | ||
---|---|---|
AbstractMost compilers have a single core intermediate representation (IR) (e.g., LLVM) sometimes complemented with vaguely defined IR-like data structures. This IR is commonly 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. |
Year | DOI | Venue |
---|---|---|
2021 | 10.1145/3469030 | ACM Transactions on Architecture and Code Optimization |
Keywords | DocType | Volume |
Weather and climate, stencil computations, intermediate representations | Journal | 18 |
Issue | ISSN | Citations |
4 | 1544-3566 | 2 |
PageRank | References | Authors |
0.42 | 0 | 9 |
Name | Order | Citations | PageRank |
---|---|---|---|
Tobias Gysi | 1 | 3 | 1.11 |
Christoph Müller | 2 | 2 | 0.42 |
Oleksandr Zinenko | 3 | 10 | 1.25 |
Stephan Herhut | 4 | 2 | 0.42 |
Eddie Davis | 5 | 2 | 0.42 |
Tobias Wicky | 6 | 2 | 0.42 |
Oliver Fuhrer | 7 | 2 | 0.42 |
Torsten Hoefler | 8 | 2 | 1.44 |
Tobias Grosser | 9 | 271 | 16.04 |