Litcius/Paper detail

Domain-Specific Multi-Level IR Rewriting for GPU: The Open Earth Compiler for GPU-accelerated Climate Simulation

Tobias Gysi, Christoph Müller, Oleksandr Zinenko, Stephan Herhut, Eddie C. Davis, Tobias Wicky, Oliver Fuhrer, Torsten Hoefler, Tobias Grosser

2021Repository for Publications and Research Data (ETH Zurich)60 citationsDOIOpen Access PDF

Abstract

Most 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, multilevel rewriting promises to herald the age of specialized compilers composed from domain- and target-specific dialects implemented on top of a shared infrastructure.

Topics & Concepts

Computer scienceCompilerRewritingDomain (mathematical analysis)Domain-specific languageProgramming languageIntermediate languageSet (abstract data type)StencilRepresentation (politics)Parallel computingTheoretical computer scienceComputational scienceLawPolitical scienceMathematicsPoliticsMathematical analysisParallel Computing and Optimization TechniquesAdvanced Data Storage TechnologiesDistributed and Parallel Computing Systems