MLIR: Scaling Compiler Infrastructure for Domain Specific Computation
Citations Over TimeTop 1% of 2021 papers
Abstract
This work presents MLIR, a novel approach to building reusable and extensible compiler infrastructure. MLIR addresses software fragmentation, compilation for heterogeneous hardware, significantly reducing the cost of building domain specific compilers, and connecting existing compilers together. MLIR facilitates the design and implementation of code generators, translators and optimizers at different levels of abstraction and across application domains, hardware targets and execution environments. The contribution of this work includes (1) discussion of MLIR as a research artifact, built for extension and evolution, while identifying the challenges and opportunities posed by this novel design, semantics, optimization specification, system, and engineering. (2) evaluation of MLIR as a generalized infrastructure that reduces the cost of building compilers-describing diverse use-cases to show research and educational opportunities for future programming languages, compilers, execution environments, and computer architecture. The paper also presents the rationale for MLIR, its original design principles, structures and semantics.
Related Papers
- → Of JavaScript AOT compilation performance(2021)14 cited
- → IRDL: an IR definition language for SSA compilers(2022)12 cited
- → Automated bug localization in JIT compilers(2021)11 cited
- → A Multi-target, Multi-paradigm DSL Compiler for Algorithmic Graph Processing(2022)5 cited
- → Extending open compilers(2005)1 cited