已关闭
fix: 修复 Broadcast 后 Reduce source reuse 导致精度错误 #282
wei_shi创建于 22 天前关闭于 21 天前
22 天前 关联了pull request:fix: 修复 Broadcast 后 Reduce source reuse 判断, 避免修改复用的broadcast数据导致精度失败
wei_shi
22 天前 评论:
22 天前 评论:
已分析处理


22 天前 将 wei_shi 设为负责人
22 天前 添加了label:bug
22 天前 issue类型由 任务 改变为 缺陷
21 天前 issue状态由 待办的 改变为 已完成
21 天前 关闭了 issue
21 天前 添加了label:resolved
问题描述
Autofuse 在处理
Broadcast -> Reduce计算链时,Reduce 的 source reuse 判断可能错误地复用输入 source。当上游 Broadcast 的 B 轴与 Reduce 的 R 轴具有相同的vectorized_axis,且该轴在 Broadcast 中发生扩展、在 Reduce 中参与归约时,生成的 Reduce 计算可能改写仍被 Broadcast 语义依赖的数据,最终导致输出精度错误。问题原因
当前 Reduce source reuse 逻辑主要依据输入节点的出度判断是否可以复用 source,未进一步检查 Reduce 上游数据链中是否存在位于 Reduce 轴上的 Broadcast。Broadcast 改变了该轴的数据访问语义,直接复用 Reduce 输入 source 可能造成数据依赖冲突和结果精度异常。
修改方向
vectorized_axis上的 Broadcast/Reduce 语义冲突。验证要求