| fix: 修复 norm 类算子示例及文档中 CHECK_RET 宏语法错误 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !8348 merge code_check_0806 into master fix: 修复 norm 类算子示例及文档中 CHECK_RET 宏语法错误 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 修复 norm 目录下 4 个算子的示例代码(.cpp)及文档(.md)中 CHECK_RET 宏调用的语法错误。原代码在宏的第二个参数末尾多了一个分号,形成 return ret;); 的结构,宏展开后会产生语法错误。同时规范了 group_norm_grad 示例的版权声明格式并补充了部分文件缺失的末尾换行符。 ### 改动原因 CHECK_RET 宏的第二个参数是代码块表达式,原代码 LOG_PRINT(...); return ret;); 中 return ret 后多余的分号导致宏展开后出现 ); 语法错误。该问题在 AddLayerNorm、AddLayerNormQuant、BatchNormReduce、GroupNormBackward 四个算子的 docs 和 examples 中均存在。 ### 改动方法 - 将 CHECK_RET(ret == ACL_SUCCESS, LOG_PRINT("allocate workspace failed. ERROR: %d\n", ret); return ret;); 修正为 CHECK_RET(ret == ACL_SUCCESS, LOG_PRINT("allocate workspace failed. ERROR: %d\n", ret); return ret); - 涉及算子:AddLayerNorm、AddLayerNormQuant、BatchNormReduce、GroupNormBackward - 更新 test_aclnn_group_norm_grad.cpp 版权声明(年份 2025→2026,格式规范化),添加 Doxygen \file / \brief 注释 - 为 3 个 cpp 文件补充末尾换行符 ## 关联的Issue - #4626 ## 测试 代码审查确认 CHECK_RET 宏修正后语法合法,宏展开无语法问题。 ## 文档更新 同步更新了 4 个算子文档(aclnnAddLayerNorm.md、aclnnAddLayerNormQuant.md、aclnnBatchNormReduce.md、aclnnGroupNormBackward.md)中示例代码的 CHECK_RET 语法。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-nn!8348 | 2 个月前 |
| fix: 修复 norm 类算子示例及文档中 CHECK_RET 宏语法错误 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !8348 merge code_check_0806 into master fix: 修复 norm 类算子示例及文档中 CHECK_RET 宏语法错误 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 修复 norm 目录下 4 个算子的示例代码(.cpp)及文档(.md)中 CHECK_RET 宏调用的语法错误。原代码在宏的第二个参数末尾多了一个分号,形成 return ret;); 的结构,宏展开后会产生语法错误。同时规范了 group_norm_grad 示例的版权声明格式并补充了部分文件缺失的末尾换行符。 ### 改动原因 CHECK_RET 宏的第二个参数是代码块表达式,原代码 LOG_PRINT(...); return ret;); 中 return ret 后多余的分号导致宏展开后出现 ); 语法错误。该问题在 AddLayerNorm、AddLayerNormQuant、BatchNormReduce、GroupNormBackward 四个算子的 docs 和 examples 中均存在。 ### 改动方法 - 将 CHECK_RET(ret == ACL_SUCCESS, LOG_PRINT("allocate workspace failed. ERROR: %d\n", ret); return ret;); 修正为 CHECK_RET(ret == ACL_SUCCESS, LOG_PRINT("allocate workspace failed. ERROR: %d\n", ret); return ret); - 涉及算子:AddLayerNorm、AddLayerNormQuant、BatchNormReduce、GroupNormBackward - 更新 test_aclnn_group_norm_grad.cpp 版权声明(年份 2025→2026,格式规范化),添加 Doxygen \file / \brief 注释 - 为 3 个 cpp 文件补充末尾换行符 ## 关联的Issue - #4626 ## 测试 代码审查确认 CHECK_RET 宏修正后语法合法,宏展开无语法问题。 ## 文档更新 同步更新了 4 个算子文档(aclnnAddLayerNorm.md、aclnnAddLayerNormQuant.md、aclnnBatchNormReduce.md、aclnnGroupNormBackward.md)中示例代码的 CHECK_RET 语法。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-nn!8348 | 2 个月前 |
| AddLayerNorm/AddLayerNormQuant/AddRmsNorm/AddRmsNormCast/AddRmsNormDynamicQuant/AddRmsNormQuant/InplaceAddRmsNorm/RmsNorm/RmsNormGrad算子支持下一代芯片 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !993 merge nn_ops_fix_1 into master AddLayerNorm/AddLayerNormQuant/AddRmsNorm/AddRmsNormCast/AddRmsNormDynamicQuant/AddRmsNormQuant/InplaceAddRmsNorm/RmsNorm/RmsNormGrad算子支持下一代芯片 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 AddLayerNorm/AddLayerNormQuant/AddRmsNorm/AddRmsNormCast/AddRmsNormDynamicQuant/AddRmsNormQuant/InplaceAddRmsNorm/RmsNorm/RmsNormGrad算子支持下一代芯片 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!993 | 8 个月前 |
| 修正 add_layer_norm_quant 算子形状校验日志中的拼写错误,将 not equat 更正为 not equal Co-authored-by: Chen_HaoWen<chenhaowen12@huawei.com> # message auto-generated for no-merge-commit merge: !8699 merge fix/issue-4532-equal-typo into master 修正 add_layer_norm_quant 算子形状校验日志中的拼写错误,将 not equat 更正为 not equal Created-by: Chen_HaoWen Commit-by: Chen_HaoWen Merged-by: cann-robot Description: ## 修改说明 - 修正 add_layer_norm_quant 算子形状校验日志中的拼写错误,将 not equat 更正为 not equal。 - 同步修正默认 tiling 与 Arch35 tiling 实现中的日志文案。 ## 关联 Issue Refs #4532 ## 验证 - 通过 git diff --check。 - 已确认 C++ 源码中不再残留 not equat。 - 已触发远端编译与门禁检查。 ## 风险 - 仅修改日志文本及文件末尾换行,不改变运行逻辑。 - 本 PR 仅处理 issue 中的拼写项,因此使用 Refs 关联,不自动关闭 issue。 See merge request: cann/ops-nn!8699 | 2 个月前 |
| refactor: rename APIs in ops-nn batch1 (10 ops) Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !8505 merge rename-api-batch1 into master refactor: rename APIs in ops-nn batch1 (10 ops) Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 本 PR 对 ops-nn 仓库中 batch1 涉及的 10 个算子(norm 系列 8 个 + optim 系列 2 个)的 arch35 kernel 头文件进行 API 重命名,将旧版 MicroAPI/Reg-VF 接口名替换为 CANN 新版 SDK 对应的接口名,无任何逻辑改动。 ### 改动原因 CANN 新版 SDK 对 AscendC MicroAPI(351x 架构 Reg 矢量计算层)的接口命名进行了统一调整:统一地址空间限定符、按 Load/Store 方向拆分搬运 API、去废弃前缀。ops-nn 仓库需同步更新以匹配新版 SDK 头文件,避免编译警告/废弃提示,为后续架构迁移和新特性使能扫清障碍。 ### 改动方法 纯机械重命名,涉及 39 个 arch35 kernel 头文件(+2244 -2269),覆盖以下 13 类 API 替换: 1. __local_mem__ → __ubuf__(UB 地址空间限定符,1664 处) 2. DataCopy(Reg load 方向)→ LoadAlign(392 处) 3. DataCopy(Reg store 方向)→ StoreAlign(154 处) 4. ReduceSum → Reduce<ReduceType::SUM>(115 处) 5. MultiCopyConfig / MultiCopyLoopInfo / MultiCopyParams → NdDmaConfig / NdDmaLoopInfo / NdDmaParams 6. DataCopyUnAlignPre → LoadUnAlignPre、DataCopyUnAlign → LoadUnAlign / StoreUnAlign(按方向拆分)、DataCopyUnAlignPost → StoreUnAlignPost 7. UnalignReg → UnalignRegForLoad / UnalignRegForStore(按用途拆分) 8. CompareScalar → Compares(8 处) 9. DataCopyGather → Gather(8 处) 10. MaskAnd → And、MaskOr → Or、MaskPack → Pack(去 Mask 前缀) 11. ReduceMaxWithDataBlock → ReduceDataBlock<ReduceType::MAX>(2 处) GM↔UB 之间的 DataCopy 调用(5 处)保持不变,未被误改。 涉及的 10 个算子: - norm: add_layer_norm、add_layer_norm_quant、add_rms_norm、add_rms_norm_cast、add_rms_norm_dynamic_mx_quant、add_rms_norm_dynamic_quant、add_rms_norm_quant、batch_norm - optim: apply_adam_d、apply_adam_w ## 关联的Issue #4718 ## 测试 重命名后各算子需通过编译验证与原有算子精度/性能用例,确认无行为变化。 ## 文档更新 无文档更新。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:API 重命名重构 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8505 | 2 个月前 |
| add_layer_norm_quant: add Dtype check Co-authored-by: rk<wangpengbo26@huawei.com> # message auto-generated for no-merge-commit merge: !7652 merge alnq_checkDtype into master add_layer_norm_quant: add Dtype check Created-by: wangpengbo26 Commit-by: rk Merged-by: cann-robot Description: ## 描述 为 add_layer_norm_quant 算子 regbase tiling 路径补全 dtype 校验。 ### 改动原因 1. 缺失 dtype 校验:regbase tiling 路径此前未对输入 dtype 做前置校验,非法 dtype 会直达 kernel 导致未定义行为。 2. 取值方式:按官方规范将 GetInputTensor()->GetDataType() 改为 GetInputDesc()->GetDataType() 并补判空。 ### 改动方法 - 新增 CheckInputDtype():校验 x1 支持的 dtype(fp16/bf16/fp32)、x1/x2/gamma/beta 一致性、bias(若存在)与 x1 一致 - 新增 CheckOptionalInputDtype():用 lambda + && 短路替代早返回,四个可选输入(scales1/scales2/zero_points1/zero_points2)各自独立按 exist 标志校验,dtype 须为 x1 或 fp32,且彼此一致 - 新增 CheckOutputDtype: 校验 输出dtype。 - 调用点:DoTiling 中 GetShapeInfo 之后、DoBlockTiling 之前 - 补 3 条 tiling UT 覆盖主输入一致性、bias 一致性、可选输入 dtype 合法性失败分支 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4172 ## 测试 - pass ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!7652 | 3 个月前 |
| AddLayerNorm/AddLayerNormQuant/AddRmsNorm/AddRmsNormCast/AddRmsNormDynamicQuant/AddRmsNormQuant/InplaceAddRmsNorm/RmsNorm/RmsNormGrad算子支持下一代芯片 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !993 merge nn_ops_fix_1 into master AddLayerNorm/AddLayerNormQuant/AddRmsNorm/AddRmsNormCast/AddRmsNormDynamicQuant/AddRmsNormQuant/InplaceAddRmsNorm/RmsNorm/RmsNormGrad算子支持下一代芯片 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 AddLayerNorm/AddLayerNormQuant/AddRmsNorm/AddRmsNormCast/AddRmsNormDynamicQuant/AddRmsNormQuant/InplaceAddRmsNorm/RmsNorm/RmsNormGrad算子支持下一代芯片 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!993 | 8 个月前 |
| modified md files(for readability improvement) Co-authored-by: duhuiping<duhuiping@h-partners.com> # message auto-generated for no-merge-commit merge: !6050 merge master into master modified md files(for readability improvement) Created-by: gitee-duhuiping Commit-by: duhuiping Merged-by: cann-robot Description: ## 描述 Mofify redundant spaces, such as those between Chinese and English characters. ## 关联的Issue [#3317](https://gitcode.com/cann/ops-nn/issues/3317) ## 测试 Only involves updating the MD document description, does not involve testing. ## 文档更新 md files ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6050 | 4 个月前 |