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

19Citations
Citations of this article
40Readers
Mendeley users who have this article in their library.
Get full text

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, 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.

Cite

CITATION STYLE

APA

Gysi, T., Müller, C., Zinenko, O., Herhut, S., Davis, E., Wicky, T., … Grosser, T. (2021). Domain-Specific Multi-Level IR Rewriting for GPU: The Open Earth Compiler for GPU-Accelerated Climate Simulation. ACM Transactions on Architecture and Code Optimization, 18(4). https://doi.org/10.1145/3469030

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free