ops-nn/norm 系列 arch35 算子多处存在可提取的重复实现(相同加载/计算/搬运片段跨函数、跨分支重复),推高 codecheck 代码重复率,增加维护成本。需在不改变任何计算逻辑前提下,通过抽取公共实现降低重复率。
代码质量治理专项(cleancode),norm 算子重复率优化。
按"易提取、低风险、逻辑严格等价"原则对 4 算子实施:
TwoRowAddPartialMeanWithTail
TwoRowAddPartialMean
Compute
InferComputeImpl<Self,T>
self.VFNormalize
ComputePreDgamma
LoadForHandleRemainV1
ComputeYAndAbsMaxVF
关联 PR:https://gitcode.com/cann/ops-nn/pull/7977
/assign
Backgroud(背景信息)
ops-nn/norm 系列 arch35 算子多处存在可提取的重复实现(相同加载/计算/搬运片段跨函数、跨分支重复),推高 codecheck 代码重复率,增加维护成本。需在不改变任何计算逻辑前提下,通过抽取公共实现降低重复率。
Origin(信息来源)
代码质量治理专项(cleancode),norm 算子重复率优化。
Benefit / Necessity (价值/作用)
Design(设计方案)
按"易提取、低风险、逻辑严格等价"原则对 4 算子实施:
TwoRowAddPartialMeanWithTail复用TwoRowAddPartialMean;三个 infer 变体Compute统一为InferComputeImpl<Self,T>(self.VFNormalize静态派发)ComputePreDgamma(队列握手 + VF 计算 + Free),3 处复用LoadForHandleRemainV1三分支公共尾上提ComputeYAndAbsMaxVF(归一化 + running abs-max),两处复用关联 PR:https://gitcode.com/cann/ops-nn/pull/7977