已关闭
[Requirement|需求建议]: 迁移 arch35 算子至新 AscendC Reg API、修正命名拼写并规范化日志文案 #2916
esok11创建于  10 天前关闭于  9 天前
esok11成员
10 天前 创建

一、背景信息 (必填)

对 arch35 架构下 conversion/ 与 math/ 共 15 个算子进行三类整改:

  1. AscendC Reg API 迁移:原 arch35 kernel 代码使用已演进的 __local_mem__ 地址空间修饰符和 Reg::DataCopy/Reg::MaskNot/Reg::MaskAnd 等 API,需迁移至新的 __ubuf__Reg::LoadAlign/Reg::StoreAlignReg::Not/Reg::And
  2. 命名拼写修正:transpose tiling 中 TilingForReleatedTranspose(Releated 拼写错误)、isReleatedTranspsoe_(Releated + Transpsoe 拼写错误)需修正为 TilingForRelatedTransposeisRelatedTranspose_
  3. 日志清理:examples 失败路径误用 INFO 级别、文案存在语法错误(only supportis: %s and %sexpect %fmultiples's)。

涉及算子:broadcast_to、confusion_transpose_d、depth_to_space、matrix_set_diag_v2、pad_v3、pad_v3_grad、pad_v3_grad_replication、space_to_depth、transpose、erfc、get_shape、histogram_fixed_width、sinc、tile、truncate_div。

二、价值/作用 (必填)

  • 配合 AscendC Reg API 演进,保持 arch35 算子与最新 API 体系一致,避免使用废弃 API。
  • 修正 transpose 命名拼写错误,提升代码可读性与可维护性。
  • 统一日志级别与文案规范,使错误信息与语义一致,便于日志过滤、告警和问题定位。

三、设计方案 (必填)

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

本次改动不涉及使能方式变更。改动分布于 arch35 kernel(op_kernel/arch35/.h)、host 侧 tiling/infershape/op_api(op_host/arch35/.cpp、op_host/.cpp、op_api/.cpp)及示例代码(examples/*.cpp)。

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

本次改动不涉及数据类型变更,各算子原有数据类型支持不变。

3.2.2 host侧设计
  • 重命名 TilingForReleatedTransposeTilingForRelatedTransposeisReleatedTranspsoe_isRelatedTranspose_,同步 confusion_transpose_d、depth_to_space 中的调用点。
  • 修正日志文案语法:only supportonly supportsis: %s and %sare: %s and %sexpect %fexpected %fmultiples'smultiples'
3.2.3 kernel侧设计

arch35 kernel(.h)逐文件替换:

  • __local_mem____ubuf__
  • Reg::DataCopy(加载语义) → Reg::LoadAlign
  • Reg::DataCopy(存储语义) → Reg::StoreAlign
  • Reg::MaskNotReg::Not
  • Reg::MaskAndReg::And
  • 移除冗余 using AscendC::Reg::DataCopy;
    不改变任何控制流和计算逻辑。
3.3 支持硬件

涉及算子的硬件支持(依据各算子 CMakeLists.txt 的 COMPUTE_UNIT 字段):

  • broadcast_to: ascend950, mc62
  • confusion_transpose_d: ascend950, mc62
  • depth_to_space: ascend950, mc62
  • matrix_set_diag_v2: ascend950
  • pad_v3: ascend950, mc62
  • pad_v3_grad: ascend950, mc62
  • pad_v3_grad_replication: ascend910_93, ascend910b, ascend950
  • space_to_depth: ascend950, mc62
  • transpose: ascend310p, ascend910_93, ascend910b, ascend950, mc62
  • erfc: ascend950, mc62
  • get_shape: ascend950
  • histogram_fixed_width: ascend950
  • sinc: ascend950
  • tile: ascend950, mc62
  • truncate_div: ascend950

3.4 算子约束限制

本次改动不涉及算子约束变更,仅迁移 API、修正命名与日志文案。

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

likedislike
Eesok11成员
10 天前 添加了label:requirement
esok11成员
10 天前 评论:

/assign @esok11

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