已合并
refactor: rename AscendC MicroAPIs in 4 arch35 operator kernels (batch5) #8429
hahaha22创建于 8月8日
refactor: rename AscendC MicroAPIs in 4 arch35 operator kernels (batch5) #8429
已合并
hahaha22创建于 8月8日
hahaha22成员
8月8日

描述

对 4 个算子的 arch35 kernel 实现进行 AscendC MicroAPI 接口重命名,以同步 AscendC SDK 新版本的 API 命名规范。

改动原因

AscendC SDK 新版本对 MicroAPI 接口命名进行了系统性调整(地址空间限定符统一、加载/存储方向接口拆分、Mask 相关接口去前缀化等),算子代码需同步更新以使用新 API 名称,旧名称将在后续版本废弃。

改动方法

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

涉及算子(4 个)

算子 目录 修改文件数
unique_consecutive index/unique_consecutive 1
sync_batch_norm_gather_stats norm/sync_batch_norm_gather_stats 2
swiglu_mx_quant quant/swiglu_mx_quant 3
swiglu_mx_quant_with_dual_axis quant/swiglu_mx_quant_with_dual_axis 1

变更文件列表(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

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 按加载/存储方向拆分

关联的Issue

测试

  • 二进制一致性验证:对重命名前后的 7 个 kernel 分别编译生成 .o 文件,逐字节对比无差异,确认重命名为纯机械替换、不影响生成代码。
  • 无新增/删除逻辑,无需补充功能测试用例。

文档更新

无。本次为纯 API 重命名,不涉及接口语义或使用方式变化。

类型标签

AI/Agent生成声明

likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 hahaha22 的贡献)
Hhahaha22成员
8月8日 创建了 pull request,commit e946adc1
atomgit-bot
atomgit-bot
8月8日 评论:

变更摘要

此 PR 对 4 个算子(unique_consecutive、sync_batch_norm_gather_stats、swiglu_mx_quant、swiglu_mx_quant_with_dual_axis)的 arch35 kernel 实现进行 AscendC API 系统性重命名,共涉及 7 个文件,增删各 333 行。变更范围覆盖地址空间限定符、数据搬运、归约、比较、掩码操作等多类 API,属于纯粹的重构操作,二进制一致性已验证通过。

主要改动

  • 数据搬运 API 语义化重命名: MicroAPI::DataCopy 按加载/存储方向拆分为 MicroAPI::LoadAlign(加载)和 MicroAPI::StoreAlign(存储);MicroAPI::DataCopyUnAlign、MicroAPI::DataCopyUnAlignPre、MicroAPI::DataCopyUnAlignPost 同样按方向分别重命名为 MicroAPI::LoadUnAlign/MicroAPI::LoadUnAlignPre、MicroAPI::StoreUnAlign/MicroAPI::StoreUnAlignPost,并在尾部操作中新增零填充参数。

  • 地址空间限定符重命名: 所有 __local_mem__ 指针声明统一替换为 __ubuf__,涉及 unique_consecutive_helper.h、两个 sync_batch_norm_gather_stats 文件以及 swiglu_mx_quant_common.h 中大量函数参数与局部变量。

  • 归约操作 API 模板化: MicroAPI::ReduceSum 替换为 MicroAPI::Reduce<ReduceType::SUM>,MicroAPI::ReduceMaxWithDataBlock 替换为 MicroAPI::ReduceDataBlock<ReduceType::MAX>,使归约操作类型通过模板参数显式指定。

  • 比较与掩码逻辑操作重命名: MicroAPI::CompareScalar 重命名为 MicroAPI::Compares;MicroAPI::MaskAnd 和 MicroAPI::MaskOr 分别简化为 MicroAPI::And 和 MicroAPI::Or;MicroAPI::MaskUnPack 和 MicroAPI::MaskPack 分别简化为 MicroAPI::UnPack 和 MicroAPI::Pack。这些变更主要出现在 swiglu_mx_quant_common.h 和 swiglu_mx_quant_with_dual_axis_regbase.h 的量化计算路径中。

  • 寄存器类型细化: MicroAPI::UnalignReg 拆分为 MicroAPI::UnalignRegForLoad 和 MicroAPI::UnalignRegForStore,用于非对齐数据搬运时区分加载/存储方向的寄存器声明;MicroAPI::GatherMask 重命名为 MicroAPI::Squeeze。这些变更主要出现在 unique_consecutive_helper.h 的唯一值收集函数中。

likedislike
不准确?
atomgit-bot
atomgit-bot
8月8日 评论:

代码审查

✅ 未发现问题

likedislike
不准确?
CANN-robotCANN-robot成员
8月8日 添加了label:cann-cla/yes
CANN-robot
CANN-robot成员
8月8日 评论:

Thanks for your pull-request.
The full list of commands accepted by me can be found at here。
You can get sig-info at here


PR Approval Progress

✅ Congratulations! All modules have met the lgtm and approve requirements.

Module Approval Details

module lgtm status approve status
index ✅ 汤平川, 陈风, 陈琦 (3/2) ✅ 汤平川, 陈风 (2/1)
norm ✅ 汤平川, 陈琦 (2/2) ✅ 汤平川 (1/1)
quant ✅ 陈琦, 陈风, 汤平川 (3/2) ✅ 陈风, 汤平川 (2/1)

💡 Tip:

  • Committer can comment /approve or /lgtm
  • Commenting /approve implies both code review (lgtm) and intent to merge (approve)

CLA Signature Pass

hahaha22, thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
此处折叠了72条消息 查看更多
CANN-robot
CANN-robot成员
8月11日 评论:

The MR can not be merged, because of CodeReview discussion not resolved

If you want to solve this problem, you can click here to do it in the FAQs.

likedislike
Hhahaha22成员
8月11日 解决了最后一个问题
CANN-robotCANN-robot成员
8月11日 关闭了关联的issue
CANN-robotCANN-robot成员
8月11日 合入了pull request
CANN-robot
CANN-robot成员
8月11日 评论:

Pull Request 已合并或已关闭。

If you want to solve this problem, you can click here to do it in the FAQs.

likedislike