【编译器工程与 MLIR】MLIR 全景图与设计哲学
从 Module-Operation-Region-Block 四层结构出发,系统讲解 MLIR 的三条核心设计原则:渐进降阶、方言可组合性、基础设施复用,配合 IREE、CIRCT、Torch-MLIR 等实际案例建立心智模型。
发布来自土法炼钢兴趣小组的知识、笔记、进展和应用。主题包括数据结构和算法、编程语言、网络安全、密码学等。
共 5 篇文章 · 返回首页
从 Module-Operation-Region-Block 四层结构出发,系统讲解 MLIR 的三条核心设计原则:渐进降阶、方言可组合性、基础设施复用,配合 IREE、CIRCT、Torch-MLIR 等实际案例建立心智模型。
解析 MLIR 的类型体系:内建类型(Integer、Float、Tensor、MemRef)与自定义方言类型的注册机制;区分 Type 与 Attribute 的设计意图;通过 OpBuilder 理解类型和属性在 IR 构造中的实际角色。
深入 MLIR 的 Operation Definition Specification (ODS) 和 TableGen 工具链:从 .td 定义到自动生成的构建器、验证器、解析/打印器代码,理解声明式 IR 定义如何减少 80% 样板代码。
手把手构建一个领域专用的微型 Tensor DSL:自定义方言、用 ODS 定义操作、写模式重写和方言转换 Pass、生成 LLVM IR 并 JIT 执行。在一个项目中走完 MLIR 编译链的完整闭环。
从传统三阶段编译器局限出发,系统讲解 MLIR 的方言设计、渐进降阶与编译器工程方法如何统一 AI 编译器、异构计算与领域专用架构的编译链,覆盖 Operation/Type/Pass/RewritePattern 核心机制到 Tensor/Linalg/Affine/GPU 方言实战。