RISE & Shine: Language-Oriented Compiler Design
Michel Steuwer, Thomas Koehler, Bastian K\"opcke, Federico, Pizzuti

TL;DR
This paper introduces a language-oriented approach to compiler design, using formal IRs as programming languages with type systems to improve robustness, extensibility, and performance in domain-specific compiler frameworks.
Contribution
It proposes a novel compiler design paradigm that treats IRs as formal languages with type systems, demonstrated through the Shine compiler for data-parallel programming.
Findings
Shine compiler effectively generates high-performance GPU code.
Language-oriented IR design enhances robustness and predictability.
Compared to Lift IR, Shine offers better extensibility and formal reasoning.
Abstract
The trend towards specialization of software and hardware - fuelled by the end of Moore's law and the still accelerating interest in domain-specific computing, such as machine learning - forces us to radically rethink our compiler designs. The era of a universal compiler framework built around a single one-size-fits-all intermediate representation (IR) is over. This realization has sparked the creation of the MLIR compiler framework that empowers compiler engineers to design and integrate IRs capturing specific abstractions. MLIR provides a generic framework for SSA-based IRs, but it doesn't help us to decide how we should design IRs that are easy to develop, to work with and to combine into working compilers. To address the challenge of IR design, we advocate for a language-oriented compiler design that understands IRs as formal programming languages and enforces their correct use…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed and Parallel Computing Systems · Advanced Data Storage Technologies
