已关闭
[Requirement|需求建议]: 还原 batch_norm_v3/rms_norm_grad infer/dgamma 计算的内联写法 #4444
rk创建于  7月30日关闭于  7月31日
rk成员
7月30日 创建

Backgroud(背景信息)

batch_norm_v3 的三个 infer 变体(InferLastChannelContinuousA、InferLastChannelSmallA、InferSmallAB1)的 Compute 方法通过 InferComputeImpl 模板 helper 间接调用 VFNormalize;rms_norm_grad 的 dgamma 计算通过 ComputePreDgamma 间接组装数据搬运与计算流程。这些间接层增加了 arch35 设备侧代码的阅读成本,调用点无法直接看到实际的数据搬运与计算顺序。

Origin(信息来源)

CANN 算子开发团队(代码可读性优化)。

Benefit / Necessity (价值/作用)

  • 去除间接层后,设备侧计算路径一目了然,降低维护与审查成本
  • 减少 helper 跨文件跳转,提升 infer/dgamma 计算流程的可读性
  • 为后续性能调优提供更直观的代码基线

Design(设计方案)

将 InferComputeImpl、ComputePreDgamma 两个 helper 的逻辑内联回各自调用点:

  • infer 变体 Compute 直接内联 DeQue/AllocTensor/GetPhyAddr/VFNormalize/EnQue/FreeTensor
  • CalcDgamma 及循环调用点直接内联 EnQue/DeQue/VFCalcPreDgamma/FreeTensor,dgammaOutAddr 改为局部变量
  • 删除不再被引用的 InferComputeImpl、ComputePreDgamma
  • 不改变计算逻辑、计算顺序与内存分配顺序

关联 PR:https://gitcode.com/cann/ops-nn/pull/8107

likedislike
Rrk成员
7月30日 添加了label:requirement
Rrk成员
7月30日 修改了issue 的描述
yuning_chenyuning_chen成员
7月30日 将 wangpengbo26 设为负责人
CANN-robotCANN-robot成员
7月31日 关闭了 issue
CANN-robotCANN-robot成员
7月31日 添加了label:resolved