已关闭
[Requirement|需求建议]: Segsum arch35 内核头文件与 A2 同名,需按代次重命名区分 #2852
zl_hw创建于  12 天前关闭于  12 天前
zl_hw成员
12 天前 创建

一、背景信息 (必填)

math/segsum/op_kernel/arch35/segsum.h(A5/arch35)与 math/segsum/op_kernel/segsum.h(A2)基名完全相同。两份头文件都可能出现在内核编译的头文件搜索路径上,#include "segsum.h" 的落点依赖 include 顺序;检视、排障时也无法从文件名分辨属于哪一代实现。

仓内现状:248 个含 op_kernel/arch35 的算子中,仅 4 个存在这种同名(mul_addn、pad_v3_grad_replication、exp_segsum_grad、segsum),其余均在 arch35 侧另起名,例如 conversion/slice/op_kernel/arch35/slice_arch35.h

二、价值/作用 (必填)

消除同名头文件带来的 include 歧义风险,使文件名自带代次信息,与本算子 host 侧既有命名(op_host/arch35/segsum_tiling_arch35.cpp/.h)保持一致,降低后续检视与维护成本。

三、设计方案 (必填)

3.1 使能方式(涉及哪些框架:如Aclnn直调、Pytorch训练等)

本算子对外经 aclnn 直调:aclnnExpSegsumGetWorkspaceSize / aclnnExpSegsummath/segsum/op_host/op_api/aclnn_segsum.h)。本需求仅涉及内核源码文件命名,不新增、不变更任何使能路径。

3.2 总体设计
3.2.1 算子支持的数据类型

op_host/segsum_def.cpp:ascend910b / ascend910_93 / ascend950 上 x、y 为 FLOAT16、FLOAT、BFLOAT16;kirinx90 / kirin9030 为 FLOAT16、FLOAT。本需求不改变支持面。

3.2.2 host侧设计

不涉及。host 侧 tiling 已按代次分目录并区分命名(op_host/arch22/segsum_tiling.*op_host/arch35/segsum_tiling_arch35.*)。

3.2.3 kernel侧设计

op_kernel/arch35/segsum.h 更名为 segsum_arch35.hop_kernel/arch35/segsum.cpp 的 include 跟随更名。include guard(SEGSUM_ARCH35_H)与命名空间(SegsumArch35)本就带代次标识,无需改动;入口源文件 arch35/segsum.cpp 与内核入口函数名 segsum 均保持不变(.cpp 不被 include,由 CMakeLists 的 KERNEL_SRC 按显式路径编译)。A2 侧 op_kernel/segsum.{cpp,h} 不改动。

3.3 支持硬件

op_host/segsum_def.cpp 注册 ascend910b、ascend910_93、ascend950、kirinx90、kirin9030;本次仅触及 arch35(ascend950)侧的文件命名。

3.4 算子约束限制

无新增约束。纯文件重命名,不改变算子行为、支持面与接口。

关联 PR:https://gitcode.com/cann/ops-math/pull/5035

likedislike
Zzl_hw成员
12 天前 添加了label:requirement
zl_hw成员
12 天前 评论:

/assign @zl_hw

likedislike
CANN-robotCANN-robot成员
12 天前 将 zl_hw 设为负责人
CANN-robotCANN-robot成员
12 天前 关闭了 issue
CANN-robotCANN-robot成员
12 天前 添加了label:resolved