MLIR 中的 Linalg Dialect
MLIR 中的 Linalg
Dialect 主要包括:
- 方言定义
- Op 定义
- Rewrite / Canonicalization 规则
- 优化 Pass 的实现
1. Dialect 定义
MLIR 的每个方言(Dialect)都是一组操作(Op)、类型(Type)、属性(Attribute)的集合。
比如 Linalg
Dialect:
- 主要用于表达高层的张量/缓冲算子(如
linalg.matmul
、linalg.conv
、linalg.fill
等)。 - 目标是提供一种 语义明确且易于转换/优化 的抽象。
在 MLIR 代码中,方言一般继承自 mlir::Dialect
:
class LinalgDialect : <