已合并
【fix】针对各轴repeat均为1的brodcast算子获取broadcast轴失败的场景进行兼容处理 #2364
nisong创建于 3 天前
【fix】针对各轴repeat均为1的brodcast算子获取broadcast轴失败的场景进行兼容处理 #2364
已合并
Pull Request已成功合入, 合并人@CANN-robot
(感谢 nisong 的贡献)3 天前 添加了label:enhancement
atomgit-bot
3 天前 评论:
3 天前 评论:
变更摘要
本次变更主要涉及 autofuse 模块中 broadcast_backward_pass 的广播轴推导逻辑与 node.cc 中的日志文本调整。核心改动是在 GetBroAxisFromNode 中新增对输出 repeats 全为 1 的“空操作”广播节点的提前判断,将其广播轴直接置为 -1 并返回成功,从而避免后续逐维遍历产生无意义的广播轴推导;同时修正了 NodeAnchorIsEqual 中一条错误日志的多余空格。
主要改动
- 新增全 1 repeats 的短路处理: 在
autofuse/optimize/graph_pass/broadcast_backward_pass.cpp的GetBroAxisFromNode中,使用std::all_of判断bro_repeats是否全部满足IsEqOne,若全部为 1 则将bro_axis设为-1并记录GELOGI日志后直接返回SUCCESS。 - 空操作广播节点语义调整: 上述改动将输出
repeats全为 1 的节点视为无广播轴(bro_axis = -1),使这类节点不再进入后续按维度遍历bro_attr_axis的流程。 - 错误日志文本修正: 在
autofuse/graph_metadef/graph/normal_graph/node.cc的NodeAnchorIsEqual中,将GELOGE日志里anchor_peer_size [%zu] is different from的多余空格修正为单个空格,格式化参数与逻辑保持不变。


不准确?
atomgit-bot
3 天前 评论:
3 天前 评论:
3 天前 添加了label:stat/needs-squash
此处折叠了46条消息 查看更多
3 天前 修改标题为 “【fix】针对各轴repeat均为1的brodcast算子获取brocast轴失败的场景进行兼容处理”,原标题为“【fix】针对各轴repeat均为1的brodcast算子获取broc失败的场景进行兼容处理”
3 天前 修改标题为 “【fix】针对各轴repeat均为1的brodcast算子获取brocast轴失败的场景进行兼容处理”,原标题为“【fix】针对各轴repeat均为1的brodcast算子获取broc失败的场景进行兼容处理”
3 天前 修改标题为 “【fix】针对各轴repeat均为1的brodcast算子获取broadcast轴失败的场景进行兼容处理”,原标题为“【fix】针对各轴repeat均为1的brodcast算子获取brocast轴失败的场景进行兼容处理”
3 天前 修改标题为 “【fix】针对各轴repeat均为1的brodcast算子获取broadcast轴失败的场景进行兼容处理”,原标题为“【fix】针对各轴repeat均为1的brodcast算子获取brocast轴失败的场景进行兼容处理”
yangyongqiang
3 天前 评论:
3 天前 评论:
/approve


3 天前 添加了label:approved
3 天前 合入了pull request
Pull Request
描述
bugfix:针对各轴repeat均为1的broc算子获取broc失败的场景进行兼容处理
原先问题点:
前端传入的hintGraph中存在这类broadcast节点其Output的repeat在各轴上均为1;虽然其在后端语义上为scalar但当前不兼容会使得直接faill
修改点:针对该场景兼容修改,全1的broadcast做兼容,不报错而是不返回broc轴
变更类型
请选择本次引入的变更类型:
关联的Issue
如何测试
原用例运行失败;修改后用例执行成功,且broadcast后移逻辑正常生效
核对清单
其他信息
在此添加任何其他关于本次 PR 的说明。