已关闭
[Bug-Report|缺陷反馈]: mhc_pre_sinkhorn_backward算子,ComputeGradX1 Add前缺少PipeBarrier #3525
kdy18482276080创建于  7月2日关闭于  7月6日
kdy18482276080成员
7月2日 创建

问题描述

MhcPreGradKernel::ComputeGradX1 中,MulAddDst 循环写入 gradXCastLocal_ 后,紧接着执行 Add(gradXCastLocal_, gradXCubeLocal_, gradXCastLocal_, ...) 累加 gradXCubeLocal_ 结果,缺少向量流水线同步,可能导致读写冲突。

环境信息

  • 算子:mhc_pre_sinkhorn_backward
  • 文件:
    • master: op_kernel/arch22/mhc_pre_grad_kernel.h
    • 9.1.0: op_kernel/mhc_pre_grad_kernel.h

修复方法

在 MulAddDst 循环结束与 Add 之间补充 PipeBarrier<PIPE_V>()

预期结果

Add 前完成向量单元同步,避免 gradX 累加路径的流水线 hazard。

likedislike
Kkdy18482276080成员
7月2日 关联了pull request:mhc_pre_sinkhorn_backward: ComputeGradX1 Add前补充PipeBarrier同步
Kkdy18482276080成员
7月2日 关联了pull request:mhc_pre_sinkhorn_backward: ComputeGradX1 Add前补充PipeBarrier同步
Kkdy18482276080成员
7月2日 将 kdy18482276080 设为负责人
CANN-robotCANN-robot成员
7月6日 关闭了 issue
CANN-robotCANN-robot成员
7月6日 添加了label:resolved