已合并
【feat】: 支持norm融合R轴分tile #1626
【feat】: 支持norm融合R轴分tile #1626
已合并
WangYanMale创建于 8月3日
WangYanMale成员
8月3日

Pull Request

描述

1、norm类也生成双切分模板;
2、增加重复sub消除pass;
3、后移softmax pattern pass。

变更类型

请选择本次引入的变更类型:

关联的Issue

如何测试

1、inductor的norm算子开启自动融合,观察生成模板;
2、layernorm算子开启自动融合,观察pass前后是否存在重复的sub节点(输入一样);
3、softmax开启自动融合,观察是否是全载模板,模板里直接调用softmax api。

核对清单

其他信息

NA

likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 WangYanMale 的贡献)
WWangYanMale成员
8月3日 添加了label:enhancement
WWangYanMale成员
8月3日 创建了 pull request,commit 817bcb7b
atomgit-bot
atomgit-bot
8月3日 评论:

变更摘要

该 PR 主要移除了 ReducePartitionCaseGenerator 中对 Softmax 和 Norm 循环的强制全量加载(AllLoad)逻辑,并注释掉了 SoftmaxPatternFusionPass 的注册,从而支持 Norm 融合时对 R 轴进行分 tile 优化。

主要改动

  • 移除 ShouldForceAllLoad 中的 Softmax/Norm 强制 AllLoad 逻辑: 在 autofuse/optimize/task_generator/reduce_schedule_case_generator.cpp 中,删除了 ShouldForceAllLoad 函数内检测 Softmax 节点、判断图合法性以及查找 Norm 循环后强制返回 true 的代码块,使该函数直接返回 false,不再因 Norm 相关节点而强制全量加载。
  • 禁用 SoftmaxPatternFusionPass: 在 autofuse/v35/optimize/pass_runner_v2.h 中,将 this->RegisterPass<SoftmaxPatternFusionPass>() 注释掉,表明当前流程中不再主动执行 Softmax 模式融合 Pass。
likedislike
不准确?
atomgit-bot
atomgit-bot
8月3日 评论:

代码审查

✅ 未发现问题

likedislike
不准确?
CANN-robotCANN-robot成员
8月3日 添加了label:cann-cla/yes
此处折叠了374条消息 查看更多
wangxiaotian995成员
27 天前 评论:

/lgtm

likedislike
CANN-robotCANN-robot成员
27 天前 添加了label:lgtm
张德鹏成员
27 天前 评论:

/approve

likedislike
CANN-robotCANN-robot成员
27 天前 添加了label:approved
CANN-robotCANN-robot成员
27 天前 合入了pull request