High Performance Code Generation in MLIR: An Early Case Study with GEMM
Uday Bondhugula

TL;DR
This paper presents an early case study demonstrating how MLIR, a new compiler infrastructure, can generate high-performance code for GEMM, comparable to manual libraries, with improved modularity and automation.
Contribution
It introduces MLIR's capabilities for high-performance code generation, focusing on memrefs, affine dialect, and polyhedral utilities, highlighting its potential for modular and automated code production.
Findings
MLIR can generate competitive GEMM code.
MLIR's infrastructure supports modular and reusable code.
Potential for automating high-performance code generation.
Abstract
This article is primarily meant to present an early case study on using MLIR, a new compiler intermediate representation infrastructure, for high-performance code generation. Aspects of MLIR covered in particular include memrefs, the affine dialect, and polyhedral utilities and pass infrastructure surrounding those. This article is also aimed at showing the role compiler infrastructure could play in generating code that is competitive with highly tuned manually developed libraries, albeit in a more modular, reusable, and automatable way.
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
TopicsAlgorithms and Data Compression · Parallel Computing and Optimization Techniques · Advanced Data Storage Technologies
