前言
MLIR 社区充满活力。但由于它是一个新的且快速发展的项目,因此可用的教程和文档并不多。没有权威的MLIR书籍。大多数围绕事物的推理都来自民间传说和技术性很强的 RFC。而且由于 MLIR 构建在 LLVM(该缩写词以前的意思是“低级虚拟机”)之上,因此现有的许多文档都通过类比 LLVM 来解释概念,这对于像我这样不熟悉内部结构的人来说没有帮助LLVM 的工作原理。最后,在我看来,目前的教程水平太高,无法让人们真正了解如何在框架中编写程序。为此,我希望降低使用 MLIR 的准入门槛。因此,这一系列博客文章将详细介绍 MLIR 的总体情况。
MLIR 和 LLVM 简史
关于 MLIR,您首先会注意到的是,它位于LLVM 项目的 monorepo中名为mlir/
文件夹下。 LLVM 是一种抽象的汇编语言,编译器开发人员可以将其作为后端,然后 LLVM 本身打包了许多优化和可以编译