本文へスキップ
onsuggest
ログイン
記事 zh

【MLIR】Transform Dialect【3】Transform 操作进阶

情報源: 暮冬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

キーボードショートカット

前の発見
←P
次の発見
→N
いいね
L
合わない
X
保存
S
このヘルプを表示
?
閉じる
Esc

ショートカットは発見ページで使えます。