Towards a high-performance AI compiler with upstream MLIR

Renato Golin, Lorenzo Chelini, Adam Siemieniuk, Kavitha Madhu, Niranjan Hasabnis +3 more
4/15/2024
cs.PLcs.AIcs.AR

No official code found. Best implementation: libxsmm/tpp-mlir (154 stars, last commit 2026-04-23).

Abstract

This work proposes a compilation flow using open-source compiler passes to build a framework to achieve ninja performance from a generic linear algebra high-level abstraction. We demonstrate this flow with a proof-of-concept MLIR project that uses input IR in Linalg-on-Tensor from TensorFlow and PyTorch, performs cache-level optimizations and lowering to micro-kernels for efficient vectorization, achieving over 90% of the performance of ninja-written equivalent programs. The contributions of this work include: (1) Packing primitives on the tensor dialect and passes for cache-aware distribution of tensors (single and multi-core) and type-aware instructions (VNNI, BFDOT, BFMMLA), including propagation of shapes across the entire function; (2) A linear algebra pipeline, including tile, fuse and bufferization strategies to get model-level IR into hardware friendly tile calls; (3) A mechanism for micro-kernel lowering to an open source library that supports various CPUs.

View on arXivView PDF

Code Implementations(1)

libxsmm/tpp-mlirCommunity100%

TPP experimentation on MLIR for linear algebra

15439C, C++Jun 6, 20226 months agoNOASSERTION
compilerlibraryllvmmachine-learningmicro-kernel

Similar Papers

Cite this paper

@article{golin2024towards,
  title  = {Towards a high-performance AI compiler with upstream MLIR},
  author = {Renato Golin and Lorenzo Chelini and Adam Siemieniuk and Kavitha Madhu and Niranjan Hasabnis and Hans Pabst and Evangelos Georganas and Alexander Heinecke},
  year   = {2024},
  eprint = {2404.15204},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2404.15204v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2404.15204.svg)](https://codeofpaper.com/paper/2404.15204)

Discussion