MLIR: A Compiler Infrastructure for the End of Moore's Law

  • 2020-02-25 17:24:50
  • Chris Lattner, Jacques Pienaar, Mehdi Amini, Uday Bondhugula, River Riddle, Albert Cohen, Tatiana Shpeisman, Andy Davis, Nicolas Vasilache, Oleksandr Zinenko
  • 174

Abstract

This work presents MLIR, a novel approach to building reusable and extensiblecompiler infrastructure. MLIR aims to address software fragmentation, improvecompilation for heterogeneous hardware, significantly reduce the cost ofbuilding domain specific compilers, and aid in connecting existing compilerstogether. MLIR facilitates the design and implementation of code generators,translators and optimizers at different levels of abstraction and also acrossapplication domains, hardware targets and execution environments. Thecontribution of this work includes (1) discussion of MLIR as a researchartifact, built for extension and evolution, and identifying the challenges andopportunities posed by this novel design point in design, semantics,optimization specification, system, and engineering. (2) evaluation of MLIR asa generalized infrastructure that reduces the cost of buildingcompilers-describing diverse use-cases to show research and educationalopportunities for future programming languages, compilers, executionenvironments, and computer architecture. The paper also presents the rationalefor MLIR, its original design principles, structures and semantics.

 

Quick Read (beta)

loading the full paper ...