已关闭
[Requirement|需求建议]: 降低 norm 系列 arch35 算子代码重复率(cleancode 去重) #4418
rk创建于  7月29日关闭于  7月30日
rk成员
7月29日 创建

Backgroud(背景信息)

ops-nn/norm 系列 arch35 算子多处存在可提取的重复实现(相同加载/计算/搬运片段跨函数、跨分支重复),推高 codecheck 代码重复率,增加维护成本。需在不改变任何计算逻辑前提下,通过抽取公共实现降低重复率。

Origin(信息来源)

代码质量治理专项(cleancode),norm 算子重复率优化。

Benefit / Necessity (价值/作用)

  • 提升可读性与可维护性,减少多处同源代码不一致风险
  • 不改变算子实现逻辑、计算顺序、内存分配顺序(逐操作等价)

Design(设计方案)

按"易提取、低风险、逻辑严格等价"原则对 4 算子实施:

  1. batch_norm_v3:TwoRowAddPartialMeanWithTail 复用 TwoRowAddPartialMean;三个 infer 变体 Compute 统一为 InferComputeImpl<Self,T>self.VFNormalize 静态派发)
  2. rms_norm_grad:抽取 ComputePreDgamma(队列握手 + VF 计算 + Free),3 处复用
  3. add_rms_norm:LoadForHandleRemainV1 三分支公共尾上提
  4. add_rms_norm_dynamic_quant:抽取 ComputeYAndAbsMaxVF(归一化 + running abs-max),两处复用

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

likedislike
Rrk成员
7月29日 添加了label:requirement
Rrk成员
7月29日 修改了issue 的描述
rk成员
7月29日 评论:

/assign

likedislike
CANN-robotCANN-robot成员
7月29日 将 wangpengbo26 设为负责人
CANN-robotCANN-robot成员
7月30日 关闭了 issue
CANN-robotCANN-robot成员
7月30日 添加了label:resolved