已关闭
refactor: unique_consecutive/sync_batch_norm_gather_stats/swiglu_mx_quant 系列算子 arch35 实现 AscendC API 重命名 #4652
hahaha22创建于  28 天前关闭于  25 天前
hahaha22成员
28 天前 创建

一、背景信息(Backgroud)

AscendC SDK 新版本对 MicroAPI 接口命名进行了系统性调整,需同步更新 ops-nn 仓库中 4 个算子的 arch35 kernel 实现,使其使用新 API 名称。涉及算子:

  • unique_consecutive(index/unique_consecutive)
  • sync_batch_norm_gather_stats(norm/sync_batch_norm_gather_stats)
  • swiglu_mx_quant(quant/swiglu_mx_quant)
  • swiglu_mx_quant_with_dual_axis(quant/swiglu_mx_quant_with_dual_axis)

二、信息来源(Origin)

AscendC SDK 新版本 API 重命名批次 5(batch5),由算子维护团队同步执行。

三、价值/作用(Benefit / Necessity)

  • 同步 SDK 新版 API 命名规范,避免使用即将废弃的旧接口名
  • 加载/存储方向接口拆分(Load/Store 系列)、地址空间限定符统一(__ubuf__),使代码语义更清晰
  • 纯机械重命名,二进制一致性验证通过,不影响算子功能与性能

四、设计方案(Design)

对 7 个 arch35 kernel 文件进行纯机械 API 重命名,共 333 行替换(一一对应,333 增 + 333 删),不涉及任何逻辑变更。

API 改名映射:

旧 API 新 API 说明
__local_mem__ __ubuf__ 地址空间限定符统一(128 处)
MicroAPI::DataCopy(加载)/ 裸 DataCopy MicroAPI::LoadAlign / LoadAlign 对齐加载
MicroAPI::DataCopy(存储) MicroAPI::StoreAlign 对齐存储
MicroAPI::DataCopyUnAlign(加载) MicroAPI::LoadUnAlign 非对齐加载
MicroAPI::DataCopyUnAlign(存储) MicroAPI::StoreUnAlign 非对齐存储
MicroAPI::DataCopyUnAlignPre MicroAPI::LoadUnAlignPre 非对齐加载预处理
MicroAPI::DataCopyUnAlignPost MicroAPI::StoreUnAlignPost 非对齐存储后处理(8 处)
MicroAPI::CompareScalar MicroAPI::Compares 标量比较(41 处)
MicroAPI::MaskAnd MicroAPI::And Mask 按位与(11 处)
MicroAPI::MaskUnPack MicroAPI::UnPack Mask 解包(16 处)
MicroAPI::MaskPack MicroAPI::Pack Mask 打包
MicroAPI::GatherMask(函数) MicroAPI::Squeeze GatherMask 函数更名(GatherMaskMode 枚举不变)
MicroAPI::UnalignReg MicroAPI::UnalignRegForLoad / MicroAPI::UnalignRegForStore 按加载/存储方向拆分

变更文件(7 个):

文件 +行 -行
index/unique_consecutive/op_kernel/arch35/unique_consecutive_helper.h 83 83
norm/sync_batch_norm_gather_stats/op_kernel/arch35/sync_batch_norm_gather_stats_n_full_load.h 22 22
norm/sync_batch_norm_gather_stats/op_kernel/arch35/sync_batch_norm_gather_stats_n_not_full_load.h 52 52
quant/swiglu_mx_quant/op_kernel/arch35/swiglu_mx_quant_axis_last.h 13 13
quant/swiglu_mx_quant/op_kernel/arch35/swiglu_mx_quant_axis_not_last.h 6 6
quant/swiglu_mx_quant/op_kernel/arch35/swiglu_mx_quant_common.h 96 96
quant/swiglu_mx_quant_with_dual_axis/op_kernel/arch35/swiglu_mx_quant_with_dual_axis_regbase.h 61 61
合计 333 333

测试:二进制一致性验证——重命名前后对 7 个 kernel 分别编译生成 .o 文件,逐字节对比无差异,确认重命名为纯机械替换、不影响生成代码。

关联 PR:https://gitcode.com/cann/ops-nn/merge_requests/8429

likedislike
Hhahaha22成员
28 天前 添加了label:requirement
hahaha22成员
28 天前 评论:

/assign @hahaha22

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