已关闭
遍历Reduce 上游 Broadcast BR共轴场景下输入复用禁用范围过大 #305
wei_shi创建于  9月8日关闭于  9月11日
wei_shi
wei_shi成员
9月8日 创建

问题描述

当前 Reduce 上游 Broadcast 判定在多分支场景下会过度禁用输入复用:只要上游任意一条路径满足 Broadcast on Reduce Axis,就会把整个 Reduce 节点判为不可复用,导致正常场景下也失去输入复用机会。

在典型的多上游分支图里,只有某一条分支存在 Reduce 轴上的 Broadcast,并不意味着所有输入分支都存在同类风险;但现有判定会将整体复用关闭,范围过大,造成不必要的性能损失。

影响

  • 正常多分支 Reduce 场景下,输入复用被过度禁用
  • 导致本可复用的数据搬运被拆分或额外保留
  • 在不涉及真实风险的分支上引入不必要的性能退化

解决方案

调整 Reduce 上游 Broadcast 的判定范围:

  • 从“任意上游分支命中即禁用”改为“仅当所有上游分支都满足风险条件时才禁用”
  • 递归检查每条上游路径,只有当每条分支都存在 Reduce 轴上的 Broadcast 风险时,才关闭输入复用
  • 对于不存在相关风险的普通分支,保留输入复用能力,避免误伤正常场景性能

复现场景

在包含多个上游分支的 Reduce 图中,其中一条分支经过 Broadcast,另一条分支为普通数据传递或 Gather 时,现有逻辑仍会禁用整个节点的输入复用。

期望行为

仅在所有上游分支都存在 Broadcast on Reduce Axis 风险时,才禁用输入复用;否则应保留输入复用,避免正常场景性能退化。

likedislike
wei_shiwei_shi成员
9月8日 关联了pull request:fix: 修正Reduce上游Broadcast多分支判定,缩减禁止Reduce复用的范围
wei_shiwei_shi成员
9月8日 修改标题为 “判断Reduce 上游 Broadcast 多分支场景下输入复用禁用范围过大”,原标题为“Reduce 上游 Broadcast 多分支场景下输入复用禁用范围过大”
wei_shiwei_shi成员
9月8日 修改标题为 “遍历Reduce 上游 Broadcast BR共轴场景下输入复用禁用范围过大”,原标题为“判断Reduce 上游 Broadcast 多分支场景下输入复用禁用范围过大”
wei_shiwei_shi成员
9月8日 将 wei_shi 设为负责人
wei_shiwei_shi成员
9月8日 issue类型由 任务 改变为 缺陷
wei_shiwei_shi成员
9月8日 添加了label:bug
wei_shi
wei_shi成员
9月10日 评论:

已分析处理

likedislike
wei_shiwei_shi成员
9月11日 issue状态由 待办的 改变为 已完成
wei_shiwei_shi成员
9月11日 关闭了 issue
CANN-robotCANN-robot成员
9月11日 添加了label:resolved
eieieieieiei
10 天前 关联了pull request:[L1] fix: 注释与日志字符串内 16 处拼写错误(14 个词形),不改任何标识符