TL;DR
This paper introduces a multi-level IR rewriting approach tailored for GPU programming in the weather and climate domain, demonstrating significant performance improvements over existing solutions.
Contribution
It presents a novel multi-level IR rewriting framework with domain-specific dialects and optimizations, outperforming state-of-the-art compilers in the weather and climate domain.
Findings
Two domain-specific optimizations outperform existing solutions
Development of stencil- and GPU-specific dialects
Multi-level rewriting enhances compiler specialization
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
