Makale
zh
【MLIR】Transform Dialect【3】Transform 操作进阶
Kaynak: 暮冬Z羡慕的博客 ·
# 前言 本篇是学习 MLIR 中的 Transform Dialect 的第四篇,本章主要讲的是 MLIR Transform Dialect 的进阶用法,核心围绕如何用更规范、更类型安全的方式编写 transform 操作,以及如何定义自己的 transform 类型。内容来自 MLIR 官方教程 《Chapter 3: More than Simple Transform Operations》 。 相关链接: LLVM Project , MLIR 官方文档 , MLIR 官网教程 , 《Chapter 0: A Primer on “Structured” Linalg Operations》 。 作为初学者,错误在所难免,还望不吝赐教。 # 简介 Transform 操作中的重复模式。 在 Transform Dialect 中,很多 transform 操作都有这样的特点:对 handle 关联的每一个 payload 操作单独应用同一个变换,并且要求这些 payload 操作必须是某种特定类型。例如:把每个 func.call 的被调用者改成另一个符号;给每个 scf.for 加上某个属性;把每个 linalg.matmul 替换成自定义实现。如果每个这样的操作都手写完整的 apply 方法,就会出现大量重复代码: // 伪代码:每个操作都要写一遍 Diagnose
Benzer keşifler
-
失去了太阳。
Makale · 夜旅者
-
百事可乐上的冰块。
Makale · 夜旅者
-
回忆里那道木门插销后面,是深深的恐惧。
Makale · 夜旅者
-
操场上的冰坑和被口水涂亮的指甲。
Makale · 夜旅者
-
秋日小记。
Makale · 夜旅者
-
人类无法预料自己会为什么流泪。
Makale · 夜旅者