pad_v3_grad 算子 arch35 平台 SIMT kernel(circular/mirror 填充模式,op_kernel/arch35/pad_v3_grad_circular_simt.h 与 pad_v3_grad_mirror_simt.h)中存在泛化命名:成员 mTD_ 与局部变量 inIdxCnt 在多个模板函数(1~5 维计算分支、CalCandidate/ReflectDimOffset/SymmetricDimOffset 等场景)中重复使用,可读性差,不满足代码度量(cmetrics)整洁要求。需进行变量命名规范化治理。
op_kernel/arch35/pad_v3_grad_circular_simt.h
pad_v3_grad_mirror_simt.h
mTD_
inIdxCnt
提升 kernel 代码可读性与可维护性,降低 circular/mirror 模式及不同维度分支间的误读风险;满足代码度量(cmetrics)治理要求。
不涉及变更。算子以 aclnn exclude 方式接入(CMakeLists 中 ACLNNTYPE aclnn_exclude、DISABLE_IN_OPP TRUE),本次重构不改变算子对外接口与使能方式。
ACLNNTYPE aclnn_exclude
DISABLE_IN_OPP TRUE
bfloat16、float16、float32、int32、int64(ND 格式,以 ascend950/ascend350 平台算子信息配置为准),本次不改变。
无改动。
pad_v3_grad_circular_simt.h
mCircularTD_
CalCandidate
circularCandidateIdxCnt
SimtComputeCircularOne~Five
circularInIdxCnt1~5
mMirrorTD_
ReflectDimOffset
mirrorReflectIdxCnt
SymmetricDimOffset
mirrorSymmetricIdxCnt
SimtComputeMirrorOne~Five
mirrorInIdxCnt1~5
算子 COMPUTE_UNIT 为 ascend950、mc62、ascend350(CMakeLists 中 tiling/kernel 均映射 arch35 目录),本次重构作用于 arch35 kernel 源码,对上述平台统一生效。
不涉及变更。
💡 备注(选填) 关联 PR:https://gitcode.com/cann/ops-math/pull/5656
/assign @esok11
一、背景信息 (必填)
pad_v3_grad 算子 arch35 平台 SIMT kernel(circular/mirror 填充模式,
op_kernel/arch35/pad_v3_grad_circular_simt.h与pad_v3_grad_mirror_simt.h)中存在泛化命名:成员mTD_与局部变量inIdxCnt在多个模板函数(1~5 维计算分支、CalCandidate/ReflectDimOffset/SymmetricDimOffset 等场景)中重复使用,可读性差,不满足代码度量(cmetrics)整洁要求。需进行变量命名规范化治理。二、价值/作用 (必填)
提升 kernel 代码可读性与可维护性,降低 circular/mirror 模式及不同维度分支间的误读风险;满足代码度量(cmetrics)治理要求。
三、设计方案 (必填)
3.1 使能方式(涉及哪些框架:如Aclnn直调、Pytorch训练等)
不涉及变更。算子以 aclnn exclude 方式接入(CMakeLists 中
ACLNNTYPE aclnn_exclude、DISABLE_IN_OPP TRUE),本次重构不改变算子对外接口与使能方式。3.2 总体设计
3.2.1 算子支持的数据类型
bfloat16、float16、float32、int32、int64(ND 格式,以 ascend950/ascend350 平台算子信息配置为准),本次不改变。
3.2.2 host侧设计
无改动。
3.2.3 kernel侧设计
pad_v3_grad_circular_simt.h:mTD_→mCircularTD_;CalCandidate形参 →circularCandidateIdxCnt;SimtComputeCircularOne~Five局部变量 →circularInIdxCnt1~5pad_v3_grad_mirror_simt.h:mTD_→mMirrorTD_;ReflectDimOffset形参 →mirrorReflectIdxCnt;SymmetricDimOffset形参 →mirrorSymmetricIdxCnt;SimtComputeMirrorOne~Five局部变量 →mirrorInIdxCnt1~53.3 支持硬件
算子 COMPUTE_UNIT 为 ascend950、mc62、ascend350(CMakeLists 中 tiling/kernel 均映射 arch35 目录),本次重构作用于 arch35 kernel 源码,对上述平台统一生效。
3.4 算子约束限制
不涉及变更。
💡 备注(选填)
关联 PR:https://gitcode.com/cann/ops-math/pull/5656