【编译器工程与 MLIR】类型系统与属性
解析 MLIR 的类型体系:内建类型(Integer、Float、Tensor、MemRef)与自定义方言类型的注册机制;区分 Type 与 Attribute 的设计意图;通过 OpBuilder 理解类型和属性在 IR 构造中的实际角色。
发布来自土法炼钢兴趣小组的知识、笔记、进展和应用。主题包括数据结构和算法、编程语言、网络安全、密码学等。
共 4 篇文章 · 返回首页
解析 MLIR 的类型体系:内建类型(Integer、Float、Tensor、MemRef)与自定义方言类型的注册机制;区分 Type 与 Attribute 的设计意图;通过 OpBuilder 理解类型和属性在 IR 构造中的实际角色。
解析 AI 编译的核心抽象层:Tensor 方言的不可变语义与操作、Linalg 方言的结构化操作(逐元素、归约、收缩)及其通用表示 linalg.generic,以矩阵乘法为例展示从高层表示到底层循环的完整降阶路径。
手把手构建一个领域专用的微型 Tensor DSL:自定义方言、用 ODS 定义操作、写模式重写和方言转换 Pass、生成 LLVM IR 并 JIT 执行。在一个项目中走完 MLIR 编译链的完整闭环。
从传统三阶段编译器局限出发,系统讲解 MLIR 的方言设计、渐进降阶与编译器工程方法如何统一 AI 编译器、异构计算与领域专用架构的编译链,覆盖 Operation/Type/Pass/RewritePattern 核心机制到 Tensor/Linalg/Affine/GPU 方言实战。