| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
modified md files (The product filtering tag is added to the aclnn*.md files of the forech and norm classes) Co-authored-by: zhaozhoujun520<zhaozhoujun@huawei.com> # message auto-generated for no-merge-commit merge: !7858 merge master into master modified md files (The product filtering tag is added to the aclnn*.md files of the forech and norm classes) Created-by: gitee-duhuiping Commit-by: zhaozhoujun520 Merged-by: cann-robot Description: ## 描述 The product filtering tag is added to the aclnn*.md files of the forech and norm classes. ## 关联的Issue [#4263](https://gitcode.com/cann/ops-nn/issues/4263) ## 测试 Only involves updating the MD document description, does not involve testing. ## 文档更新 aclnn*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7858 | 1 个月前 | |
modified md files (The product filtering tag is added to the aclnn*.md files of the forech and norm classes) Co-authored-by: zhaozhoujun520<zhaozhoujun@huawei.com> # message auto-generated for no-merge-commit merge: !7858 merge master into master modified md files (The product filtering tag is added to the aclnn*.md files of the forech and norm classes) Created-by: gitee-duhuiping Commit-by: zhaozhoujun520 Merged-by: cann-robot Description: ## 描述 The product filtering tag is added to the aclnn*.md files of the forech and norm classes. ## 关联的Issue [#4263](https://gitcode.com/cann/ops-nn/issues/4263) ## 测试 Only involves updating the MD document description, does not involve testing. ## 文档更新 aclnn*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7858 | 1 个月前 | |
修复AdaLayerNormQuant跑UT报错的问题 Co-authored-by: chenhaijie1423<chenhaijie2@h-partners.com> # message auto-generated for no-merge-commit merge: !8147 merge AdaLayerNormQuant into master 修复AdaLayerNormQuant跑UT报错的问题 Created-by: chenhaijie1423 Commit-by: chenhaijie1423 Merged-by: cann-robot Description: ## 描述 修复AdaLayerNormQuant跑UT报错的问题 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4207 ## 测试 只修改了UT,算子本身实现没有修改,UT运行OK ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8147 | 1 个月前 | |
modified md files (The product filtering tag is added to the aclnn*.md files of the forech and norm classes) Co-authored-by: zhaozhoujun520<zhaozhoujun@huawei.com> # message auto-generated for no-merge-commit merge: !7858 merge master into master modified md files (The product filtering tag is added to the aclnn*.md files of the forech and norm classes) Created-by: gitee-duhuiping Commit-by: zhaozhoujun520 Merged-by: cann-robot Description: ## 描述 The product filtering tag is added to the aclnn*.md files of the forech and norm classes. ## 关联的Issue [#4263](https://gitcode.com/cann/ops-nn/issues/4263) ## 测试 Only involves updating the MD document description, does not involve testing. ## 文档更新 aclnn*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7858 | 1 个月前 | |
fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !8943 merge q_work8 into master fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 CANN 9.0.0 中 ReduceType 枚举移至 AscendC::Reg 命名空间,arch35 算子文件中通过 using namespace AscendC 已无法将 ReduceType 引入当前作用域,导致编译时 ReduceType::SUM/ReduceType::MAX 无法解析。 本次改动将 arch35 目录下 62 个算子头文件中的 ReduceType::SUM(502 处)和 ReduceType::MAX(32 处)显式限定为 AscendC::Reg::ReduceType::SUM 和 AscendC::Reg::ReduceType::MAX,修复编译兼容性问题。 涉及的算子模块:activation、norm、loss、index、quant,均为 arch35 架构专用文件,不影响其他架构。 ## 关联的Issue #4937 ## 测试 在 CANN 9.0.0(ascend950)环境下对 62 个文件涉及的算子进行编译验证,全部编译通过。 ## 文档更新 无文档更新,本次为编译兼容性修复。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8943 | 16 天前 | |
AddLayerNormGrad算子实现Ascend 950支持 Co-authored-by: zhaosusu<zhaosusu1@h-partners.com> # message auto-generated for no-merge-commit merge: !7925 merge master into master AddLayerNormGrad算子实现Ascend 950支持 Created-by: zhaosusu Commit-by: zhaosusu Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AddLayerNormGrad算子实现Ascend 950支持,进行性能优化。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#4845](https://gitcode.com/cann/ops-nn/issues/4845) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 本地泛化2000条用例精度通过,性能通过。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7925 | 18 天前 | |
fix(geir-test): 修复 geir 测试日志级别与描述不一致(INFO→ERROR) Co-authored-by: sun-yibo1<sunyibo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !9003 merge fix-geir-test-log-level-mismatch into master fix(geir-test): 修复 geir 测试日志级别与描述不一致(INFO→ERROR) Created-by: sun-yibo1 Commit-by: sun-yibo1 Merged-by: cann-robot Description: ## 描述 修复 14 个算子 geir 测试文件中日志级别与描述不一致的问题:3 类失败消息被误标记为 INFO,而同文件内其他失败消息均正确标记为 ERROR,构成内部不一致。本次将这 3 类失败消息的日志级别从 INFO 改为 ERROR。 ### 改动原因 geir 测试文件统一使用 printf("%s - LEVEL - [XIR]: message") 格式输出日志。在以下 3 类失败分支中,消息内容明确表示失败,但日志级别却写成 INFO,与同文件内其他失败消息(如 Generate input data failed、Create ir session using build options failed、Session add ir compute graph failed、Output verification FAILED,均标记为 ERROR)不一致,会误导日志排查: - Initialize ge using ge global options failed - Run graph failed - Finalize ir graph session failed ### 改动方法 仅将上述 3 类失败消息的日志级别标签 - INFO - 改为 - ERROR -,不修改任何测试逻辑、消息文本或参数。 ### 涉及文件(每个 3 处,共 42 处,14 文件 +42 -42) - activation/log_softmax_v2 - activation/confusion_softmax_grad - index/broadcast_gradient_args - norm/add_layer_norm_quant - norm/add_rms_norm_dynamic_quant_v2 - norm/batch_norm - norm/group_norm_v2 - norm/instance_norm - norm/layer_norm - norm/layer_norm_v3 - norm/sync_batch_norm_backward_elemt - norm/sync_batch_norm_backward_reduce - norm/sync_batch_norm_gather_stats - norm/sync_bn_training_update ## 关联的Issue - #4973 ## 测试 - 仅日志级别字符串修改,无逻辑变更,不影响测试编译与运行结果。 - 通过 git diff 逐项核对:仅 - INFO - → - ERROR -,消息文本与参数不变。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9003 | 16 天前 | |
feat: rename op_api_def.h to op_api_def_nn.h Co-authored-by: chenqianyu<chenqianyu1@h-partners.com> # message auto-generated for no-merge-commit merge: !8360 merge rename_opapidef into master feat: rename op_api_def.h to op_api_def_nn.h Created-by: FishPotatoChen Commit-by: chenqianyu Merged-by: cann-robot Description: ## 描述 本次改动将 op_api/op_api_def.h 重命名为 op_api/op_api_def_nn.h,并同步更新了所有引用该头文件的源文件与测试文件中的 #include 路径,共涉及 161 个文件。 改动原因:将 op_api 定义头文件统一命名为 op_api_def_nn.h,以更好地体现其所属模块(NN 算子)的语义,便于后续与其他模块的头文件区分管理。 此外,在提交过程中发现 4 个文件(aclnn_foreach_addcmul_scalar_v2.cpp、aclnn_max_unpool3d.cpp、test_aclnn_addmv.cpp、test_aclnn_fast_batchnorm_backward.cpp)的许可证头使用了非标准的旧格式,导致 OAT 合规检查失败。本次一并将其更新为标准的 CANN 开源许可证头格式,确保通过合规校验。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4954 ## 测试 - 通过 pre-commit 钩子校验:trailing whitespace、end-of-file-fixer、clang-format 均通过 - 通过 OAT 合规检查(161 个文件全部通过) - 本次为头文件重命名改动,不涉及逻辑变更,编译依赖关系保持不变 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:头文件重命名与许可证头修复 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8360 | 16 天前 | |
fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !8943 merge q_work8 into master fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 CANN 9.0.0 中 ReduceType 枚举移至 AscendC::Reg 命名空间,arch35 算子文件中通过 using namespace AscendC 已无法将 ReduceType 引入当前作用域,导致编译时 ReduceType::SUM/ReduceType::MAX 无法解析。 本次改动将 arch35 目录下 62 个算子头文件中的 ReduceType::SUM(502 处)和 ReduceType::MAX(32 处)显式限定为 AscendC::Reg::ReduceType::SUM 和 AscendC::Reg::ReduceType::MAX,修复编译兼容性问题。 涉及的算子模块:activation、norm、loss、index、quant,均为 arch35 架构专用文件,不影响其他架构。 ## 关联的Issue #4937 ## 测试 在 CANN 9.0.0(ascend950)环境下对 62 个文件涉及的算子进行编译验证,全部编译通过。 ## 文档更新 无文档更新,本次为编译兼容性修复。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8943 | 16 天前 | |
docs: 修正 rmsnorm 系列算子 rstdOut shape 描述 Co-authored-by: liangyuhua<liangyuhua4@huawei.com> # message auto-generated for no-merge-commit merge: !9008 merge fix/rstdout-shape-doc into master docs: 修正 rmsnorm 系列算子 rstdOut shape 描述 Created-by: liangyuhua Commit-by: liangyuhua Merged-by: cann-robot Description: ## 描述 修正 rmsnorm 系列算子 rstdOut 输出的 shape 描述,补充"维度数需与输入保持一致、需要norm的维度均为1"的说明,并增加 shape 关系举例。 原描述仅提及"shape前几维保持一致",未说明维度数需一致及norm维度为1的要求,与 kernel infershape 实际逻辑不符,容易导致用户对 rstdOut shape 理解错误。 **涉及算子**(4 个文件): | 算子 | 输入参数 | gamma 维度约束 | |------|----------|---------------| | add_rms_norm_cast | x1 | 1-8 维 | | inplace_add_rms_norm | x1Ref | 1-8 维 | | add_rms_norm_dynamic_mx_quant | x1 | 1 维 | | rms_norm_dynamic_mx_quant | x | 1 维 | **修正前**(以 add_rms_norm_cast 为例): > shape与入参x1的shape前几维保持一致,前几维指x1的维度减去gamma的维度,表示不需要norm的维度。 **修正后**: > 维度数与入参x1保持一致,其中不需要norm的维度(x1的维度减去gamma的维度后的前几维)与x1对应维度保持一致,需要norm的维度(与gamma维度数相同的后几维)均为1。rstdOut shape与x1 shape、gamma shape关系举例:若x1 shape为(2,3,4,8),gamma shape为(8),则rstdOut shape为(2,3,4,1);若x1 shape为(2,3,4,8),gamma shape为(4,8),则rstdOut shape为(2,3,1,1)。 与 infershape 代码逻辑完全一致: cpp rstdShape->SetDimNum(xDimNum); for (size_t i = 0; i < xDimNum; i++) { if (i < xDimNum - gammaDimNum) { rstdShape->SetDim(i, x1Shape->GetDim(i)); // 不需要norm的维度 } else { rstdShape->SetDim(i, 1); // 需要norm的维度均为1 } } ## 关联的Issue #4974 ## 测试 本次变更仅涉及文档描述,无代码改动,无需测试。 ## 文档更新 - norm/add_rms_norm_cast/docs/aclnnAddRmsNormCast.md - norm/inplace_add_rms_norm/docs/aclnnInplaceAddRmsNorm.md - norm/add_rms_norm_dynamic_mx_quant/docs/aclnnAddRmsNormDynamicMxQuant.md - norm/rms_norm_dynamic_mx_quant/docs/aclnnRmsNormDynamicMxQuant.md ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9008 | 16 天前 | |
docs: 修正 rmsnorm 系列算子 rstdOut shape 描述 Co-authored-by: liangyuhua<liangyuhua4@huawei.com> # message auto-generated for no-merge-commit merge: !9008 merge fix/rstdout-shape-doc into master docs: 修正 rmsnorm 系列算子 rstdOut shape 描述 Created-by: liangyuhua Commit-by: liangyuhua Merged-by: cann-robot Description: ## 描述 修正 rmsnorm 系列算子 rstdOut 输出的 shape 描述,补充"维度数需与输入保持一致、需要norm的维度均为1"的说明,并增加 shape 关系举例。 原描述仅提及"shape前几维保持一致",未说明维度数需一致及norm维度为1的要求,与 kernel infershape 实际逻辑不符,容易导致用户对 rstdOut shape 理解错误。 **涉及算子**(4 个文件): | 算子 | 输入参数 | gamma 维度约束 | |------|----------|---------------| | add_rms_norm_cast | x1 | 1-8 维 | | inplace_add_rms_norm | x1Ref | 1-8 维 | | add_rms_norm_dynamic_mx_quant | x1 | 1 维 | | rms_norm_dynamic_mx_quant | x | 1 维 | **修正前**(以 add_rms_norm_cast 为例): > shape与入参x1的shape前几维保持一致,前几维指x1的维度减去gamma的维度,表示不需要norm的维度。 **修正后**: > 维度数与入参x1保持一致,其中不需要norm的维度(x1的维度减去gamma的维度后的前几维)与x1对应维度保持一致,需要norm的维度(与gamma维度数相同的后几维)均为1。rstdOut shape与x1 shape、gamma shape关系举例:若x1 shape为(2,3,4,8),gamma shape为(8),则rstdOut shape为(2,3,4,1);若x1 shape为(2,3,4,8),gamma shape为(4,8),则rstdOut shape为(2,3,1,1)。 与 infershape 代码逻辑完全一致: cpp rstdShape->SetDimNum(xDimNum); for (size_t i = 0; i < xDimNum; i++) { if (i < xDimNum - gammaDimNum) { rstdShape->SetDim(i, x1Shape->GetDim(i)); // 不需要norm的维度 } else { rstdShape->SetDim(i, 1); // 需要norm的维度均为1 } } ## 关联的Issue #4974 ## 测试 本次变更仅涉及文档描述,无代码改动,无需测试。 ## 文档更新 - norm/add_rms_norm_cast/docs/aclnnAddRmsNormCast.md - norm/inplace_add_rms_norm/docs/aclnnInplaceAddRmsNorm.md - norm/add_rms_norm_dynamic_mx_quant/docs/aclnnAddRmsNormDynamicMxQuant.md - norm/rms_norm_dynamic_mx_quant/docs/aclnnRmsNormDynamicMxQuant.md ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9008 | 16 天前 | |
fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !8943 merge q_work8 into master fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 CANN 9.0.0 中 ReduceType 枚举移至 AscendC::Reg 命名空间,arch35 算子文件中通过 using namespace AscendC 已无法将 ReduceType 引入当前作用域,导致编译时 ReduceType::SUM/ReduceType::MAX 无法解析。 本次改动将 arch35 目录下 62 个算子头文件中的 ReduceType::SUM(502 处)和 ReduceType::MAX(32 处)显式限定为 AscendC::Reg::ReduceType::SUM 和 AscendC::Reg::ReduceType::MAX,修复编译兼容性问题。 涉及的算子模块:activation、norm、loss、index、quant,均为 arch35 架构专用文件,不影响其他架构。 ## 关联的Issue #4937 ## 测试 在 CANN 9.0.0(ascend950)环境下对 62 个文件涉及的算子进行编译验证,全部编译通过。 ## 文档更新 无文档更新,本次为编译兼容性修复。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8943 | 16 天前 | |
fix(geir-test): 修复 geir 测试日志级别与描述不一致(INFO→ERROR) Co-authored-by: sun-yibo1<sunyibo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !9003 merge fix-geir-test-log-level-mismatch into master fix(geir-test): 修复 geir 测试日志级别与描述不一致(INFO→ERROR) Created-by: sun-yibo1 Commit-by: sun-yibo1 Merged-by: cann-robot Description: ## 描述 修复 14 个算子 geir 测试文件中日志级别与描述不一致的问题:3 类失败消息被误标记为 INFO,而同文件内其他失败消息均正确标记为 ERROR,构成内部不一致。本次将这 3 类失败消息的日志级别从 INFO 改为 ERROR。 ### 改动原因 geir 测试文件统一使用 printf("%s - LEVEL - [XIR]: message") 格式输出日志。在以下 3 类失败分支中,消息内容明确表示失败,但日志级别却写成 INFO,与同文件内其他失败消息(如 Generate input data failed、Create ir session using build options failed、Session add ir compute graph failed、Output verification FAILED,均标记为 ERROR)不一致,会误导日志排查: - Initialize ge using ge global options failed - Run graph failed - Finalize ir graph session failed ### 改动方法 仅将上述 3 类失败消息的日志级别标签 - INFO - 改为 - ERROR -,不修改任何测试逻辑、消息文本或参数。 ### 涉及文件(每个 3 处,共 42 处,14 文件 +42 -42) - activation/log_softmax_v2 - activation/confusion_softmax_grad - index/broadcast_gradient_args - norm/add_layer_norm_quant - norm/add_rms_norm_dynamic_quant_v2 - norm/batch_norm - norm/group_norm_v2 - norm/instance_norm - norm/layer_norm - norm/layer_norm_v3 - norm/sync_batch_norm_backward_elemt - norm/sync_batch_norm_backward_reduce - norm/sync_batch_norm_gather_stats - norm/sync_bn_training_update ## 关联的Issue - #4973 ## 测试 - 仅日志级别字符串修改,无逻辑变更,不影响测试编译与运行结果。 - 通过 git diff 逐项核对:仅 - INFO - → - ERROR -,消息文本与参数不变。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9003 | 16 天前 | |
feat: rename op_api_def.h to op_api_def_nn.h Co-authored-by: chenqianyu<chenqianyu1@h-partners.com> # message auto-generated for no-merge-commit merge: !8360 merge rename_opapidef into master feat: rename op_api_def.h to op_api_def_nn.h Created-by: FishPotatoChen Commit-by: chenqianyu Merged-by: cann-robot Description: ## 描述 本次改动将 op_api/op_api_def.h 重命名为 op_api/op_api_def_nn.h,并同步更新了所有引用该头文件的源文件与测试文件中的 #include 路径,共涉及 161 个文件。 改动原因:将 op_api 定义头文件统一命名为 op_api_def_nn.h,以更好地体现其所属模块(NN 算子)的语义,便于后续与其他模块的头文件区分管理。 此外,在提交过程中发现 4 个文件(aclnn_foreach_addcmul_scalar_v2.cpp、aclnn_max_unpool3d.cpp、test_aclnn_addmv.cpp、test_aclnn_fast_batchnorm_backward.cpp)的许可证头使用了非标准的旧格式,导致 OAT 合规检查失败。本次一并将其更新为标准的 CANN 开源许可证头格式,确保通过合规校验。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4954 ## 测试 - 通过 pre-commit 钩子校验:trailing whitespace、end-of-file-fixer、clang-format 均通过 - 通过 OAT 合规检查(161 个文件全部通过) - 本次为头文件重命名改动,不涉及逻辑变更,编译依赖关系保持不变 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:头文件重命名与许可证头修复 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8360 | 16 天前 | |
feat: rename op_api_def.h to op_api_def_nn.h Co-authored-by: chenqianyu<chenqianyu1@h-partners.com> # message auto-generated for no-merge-commit merge: !8360 merge rename_opapidef into master feat: rename op_api_def.h to op_api_def_nn.h Created-by: FishPotatoChen Commit-by: chenqianyu Merged-by: cann-robot Description: ## 描述 本次改动将 op_api/op_api_def.h 重命名为 op_api/op_api_def_nn.h,并同步更新了所有引用该头文件的源文件与测试文件中的 #include 路径,共涉及 161 个文件。 改动原因:将 op_api 定义头文件统一命名为 op_api_def_nn.h,以更好地体现其所属模块(NN 算子)的语义,便于后续与其他模块的头文件区分管理。 此外,在提交过程中发现 4 个文件(aclnn_foreach_addcmul_scalar_v2.cpp、aclnn_max_unpool3d.cpp、test_aclnn_addmv.cpp、test_aclnn_fast_batchnorm_backward.cpp)的许可证头使用了非标准的旧格式,导致 OAT 合规检查失败。本次一并将其更新为标准的 CANN 开源许可证头格式,确保通过合规校验。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4954 ## 测试 - 通过 pre-commit 钩子校验:trailing whitespace、end-of-file-fixer、clang-format 均通过 - 通过 OAT 合规检查(161 个文件全部通过) - 本次为头文件重命名改动,不涉及逻辑变更,编译依赖关系保持不变 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:头文件重命名与许可证头修复 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8360 | 16 天前 | |
fix(geir-test): 修复 geir 测试日志级别与描述不一致(INFO→ERROR) Co-authored-by: sun-yibo1<sunyibo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !9003 merge fix-geir-test-log-level-mismatch into master fix(geir-test): 修复 geir 测试日志级别与描述不一致(INFO→ERROR) Created-by: sun-yibo1 Commit-by: sun-yibo1 Merged-by: cann-robot Description: ## 描述 修复 14 个算子 geir 测试文件中日志级别与描述不一致的问题:3 类失败消息被误标记为 INFO,而同文件内其他失败消息均正确标记为 ERROR,构成内部不一致。本次将这 3 类失败消息的日志级别从 INFO 改为 ERROR。 ### 改动原因 geir 测试文件统一使用 printf("%s - LEVEL - [XIR]: message") 格式输出日志。在以下 3 类失败分支中,消息内容明确表示失败,但日志级别却写成 INFO,与同文件内其他失败消息(如 Generate input data failed、Create ir session using build options failed、Session add ir compute graph failed、Output verification FAILED,均标记为 ERROR)不一致,会误导日志排查: - Initialize ge using ge global options failed - Run graph failed - Finalize ir graph session failed ### 改动方法 仅将上述 3 类失败消息的日志级别标签 - INFO - 改为 - ERROR -,不修改任何测试逻辑、消息文本或参数。 ### 涉及文件(每个 3 处,共 42 处,14 文件 +42 -42) - activation/log_softmax_v2 - activation/confusion_softmax_grad - index/broadcast_gradient_args - norm/add_layer_norm_quant - norm/add_rms_norm_dynamic_quant_v2 - norm/batch_norm - norm/group_norm_v2 - norm/instance_norm - norm/layer_norm - norm/layer_norm_v3 - norm/sync_batch_norm_backward_elemt - norm/sync_batch_norm_backward_reduce - norm/sync_batch_norm_gather_stats - norm/sync_bn_training_update ## 关联的Issue - #4973 ## 测试 - 仅日志级别字符串修改,无逻辑变更,不影响测试编译与运行结果。 - 通过 git diff 逐项核对:仅 - INFO - → - ERROR -,消息文本与参数不变。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9003 | 16 天前 | |
feat: rename op_api_def.h to op_api_def_nn.h Co-authored-by: chenqianyu<chenqianyu1@h-partners.com> # message auto-generated for no-merge-commit merge: !8360 merge rename_opapidef into master feat: rename op_api_def.h to op_api_def_nn.h Created-by: FishPotatoChen Commit-by: chenqianyu Merged-by: cann-robot Description: ## 描述 本次改动将 op_api/op_api_def.h 重命名为 op_api/op_api_def_nn.h,并同步更新了所有引用该头文件的源文件与测试文件中的 #include 路径,共涉及 161 个文件。 改动原因:将 op_api 定义头文件统一命名为 op_api_def_nn.h,以更好地体现其所属模块(NN 算子)的语义,便于后续与其他模块的头文件区分管理。 此外,在提交过程中发现 4 个文件(aclnn_foreach_addcmul_scalar_v2.cpp、aclnn_max_unpool3d.cpp、test_aclnn_addmv.cpp、test_aclnn_fast_batchnorm_backward.cpp)的许可证头使用了非标准的旧格式,导致 OAT 合规检查失败。本次一并将其更新为标准的 CANN 开源许可证头格式,确保通过合规校验。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4954 ## 测试 - 通过 pre-commit 钩子校验:trailing whitespace、end-of-file-fixer、clang-format 均通过 - 通过 OAT 合规检查(161 个文件全部通过) - 本次为头文件重命名改动,不涉及逻辑变更,编译依赖关系保持不变 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:头文件重命名与许可证头修复 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8360 | 16 天前 | |
fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !8943 merge q_work8 into master fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 CANN 9.0.0 中 ReduceType 枚举移至 AscendC::Reg 命名空间,arch35 算子文件中通过 using namespace AscendC 已无法将 ReduceType 引入当前作用域,导致编译时 ReduceType::SUM/ReduceType::MAX 无法解析。 本次改动将 arch35 目录下 62 个算子头文件中的 ReduceType::SUM(502 处)和 ReduceType::MAX(32 处)显式限定为 AscendC::Reg::ReduceType::SUM 和 AscendC::Reg::ReduceType::MAX,修复编译兼容性问题。 涉及的算子模块:activation、norm、loss、index、quant,均为 arch35 架构专用文件,不影响其他架构。 ## 关联的Issue #4937 ## 测试 在 CANN 9.0.0(ascend950)环境下对 62 个文件涉及的算子进行编译验证,全部编译通过。 ## 文档更新 无文档更新,本次为编译兼容性修复。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8943 | 16 天前 | |
fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !8943 merge q_work8 into master fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 CANN 9.0.0 中 ReduceType 枚举移至 AscendC::Reg 命名空间,arch35 算子文件中通过 using namespace AscendC 已无法将 ReduceType 引入当前作用域,导致编译时 ReduceType::SUM/ReduceType::MAX 无法解析。 本次改动将 arch35 目录下 62 个算子头文件中的 ReduceType::SUM(502 处)和 ReduceType::MAX(32 处)显式限定为 AscendC::Reg::ReduceType::SUM 和 AscendC::Reg::ReduceType::MAX,修复编译兼容性问题。 涉及的算子模块:activation、norm、loss、index、quant,均为 arch35 架构专用文件,不影响其他架构。 ## 关联的Issue #4937 ## 测试 在 CANN 9.0.0(ascend950)环境下对 62 个文件涉及的算子进行编译验证,全部编译通过。 ## 文档更新 无文档更新,本次为编译兼容性修复。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8943 | 16 天前 | |
fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !8943 merge q_work8 into master fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 CANN 9.0.0 中 ReduceType 枚举移至 AscendC::Reg 命名空间,arch35 算子文件中通过 using namespace AscendC 已无法将 ReduceType 引入当前作用域,导致编译时 ReduceType::SUM/ReduceType::MAX 无法解析。 本次改动将 arch35 目录下 62 个算子头文件中的 ReduceType::SUM(502 处)和 ReduceType::MAX(32 处)显式限定为 AscendC::Reg::ReduceType::SUM 和 AscendC::Reg::ReduceType::MAX,修复编译兼容性问题。 涉及的算子模块:activation、norm、loss、index、quant,均为 arch35 架构专用文件,不影响其他架构。 ## 关联的Issue #4937 ## 测试 在 CANN 9.0.0(ascend950)环境下对 62 个文件涉及的算子进行编译验证,全部编译通过。 ## 文档更新 无文档更新,本次为编译兼容性修复。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8943 | 16 天前 | |
BNInferGrad算子问题修复 Co-authored-by: lianjieyu<yulianjie@huawei.com> # message auto-generated for no-merge-commit merge: !8302 merge bn_infer_grad into master BNInferGrad算子问题修复 Created-by: lianjieyu Commit-by: lianjieyu Merged-by: cann-robot Description: ## 描述 本 PR 修复 BNInferGrad 在转测准入检查中发现的 Golden、数据格式、Shape/Rank 异常拦截及 UT 构建问题,并按 runtime proto.h 的数据格式语义完善 Ascend950 实现。 主要修改: - 对齐格式契约:原型逻辑格式支持 NCHW、NHWC、NC1HWC0;Ascend950 Vector 分支仅支持属于 ND 类格式的 NCHW、NHWC,并显式拒绝 NC1HWC0。 - 按数据格式识别 C 轴:NCHW 取第 2 维,NHWC 取最后一维;校验 scale、batch_variance 均为一维 FP32 Tensor,且长度等于 C 轴大小。 - 完善 Tiling 输入/输出校验:拦截不支持的 dtype/format、输入间格式不一致、输出 shape/dtype/format 与 grads 不一致,以及 grads rank 不在 2~5 范围内等异常场景。 - 修复空 Tensor Golden:空输入直接返回同 shape、同 dtype 的空输出,避免调用 PyTorch BatchNorm backward 时出现异常。 - 更新 NCHW/NHWC GEIR 示例、Tiling UT、README,并修复 op_host UT CMake 对 arch35 用例的收集问题。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4595 ## 测试 - bash build.sh -u --cov --ophost -f pr_filelist.txt -j16:通过 - Ascend950 Tiling UT:29/29 通过 - InferShape UT:3/3 通过 - 行覆盖率:87.5%(537/614) - 函数覆盖率:92.9%(144/155) - 静态 GEIR:NCHW FP16、NHWC BF16 场景通过 - 动态 GEIR:动态 Shape、动态 Rank 场景通过 - git diff --check:通过 - PR 当前检查状态:api-check-pass、ci-pipeline-passed ## 文档更新 - 更新 norm/bn_infer_grad/README.md,补充原型格式、Ascend950 Vector 格式限制、C 轴规则及输出约束。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8302 | 1 个月前 | |
BatchNormReduce算子在ascend 950 NPU上支持ascendc实现 Co-authored-by: lianjieyu<yulianjie@huawei.com> # message auto-generated for no-merge-commit merge: !8543 merge bn_training_reduce into master BatchNormReduce算子在ascend 950 NPU上支持ascendc实现 Created-by: lianjieyu Commit-by: lianjieyu Merged-by: cann-robot Description: ## 描述 本 PR 为 BNTrainingReduce 算子在 Ascend 950PR/Ascend 950DT(arch35)新增 AscendC 实现。算子对四维 NCHW 输入沿 N、H、W 轴归约,按通道输出元素和 sum 与平方和 square_sum。 主要改动: - 新增 BNTrainingReduce 算子原型、OpDef 注册及图级 InferShape/InferDataType;输入支持 FLOAT16、BFLOAT16、FLOAT + NCHW,两个输出固定为 FLOAT + ND,Shape 为 [C]。 - 新增 arch35 Host Tiling,实现基于 Shape、DType、UB 容量和核数的多核切分,覆盖 normal、group、tail 和 empty 等执行分支。 - 新增 AscendC Kernel,实现 sum_c = Σ(n,h,w) x[n,c,h,w] 与 square_sum_c = Σ(n,h,w) x[n,c,h,w]^2;FLOAT16/BFLOAT16 输入按 FLOAT 精度执行平方与累加,并处理空 Tensor。 - 调整 ACLNN 文件目录与构建配置,新增 Ascend 950 ACLNN 两段式调用示例。 - 新增 GEIR 静态/动态 Shape、未知 Rank、数据类型/格式/非法输入及特殊值场景的验证代码。 - 更新算子 README、aclnnBatchNormReduce 产品支持说明和中英文算子清单。 本次变更共涉及 27 个文件,新增 6373 行、删除 33 行。 ## 关联的Issue 关联 Issue #4715:https://gitcode.com/cann/ops-nn/issues/4715 ## 测试 已补充以下验证资产: - ACLNN:新增 aclnnBatchNormReduceGetWorkspaceSize + aclnnBatchNormReduce 两段式调用示例。 - GEIR:新增静态/动态 Shape 与未知 Rank 执行框架,覆盖 FLOAT16、BFLOAT16、FLOAT、NCHW 输入、FLOAT/ND 输出、空 Tensor、NaN/Inf 及非法 Rank/Format/DType 等场景。 - Host/API UT:同步修正 ACLNN UT 的 include 路径以适配目录调整。 当前 PR 描述未附可独立核对的全量执行报告;最终结果以仓库 CI、复测记录及未解决检视意见闭环为准。 ## 文档更新 - 更新 norm/bn_training_reduce/README.md,补充功能、公式、参数、约束和调用说明。 - 更新 norm/bn_training_reduce/docs/aclnnBatchNormReduce.md,声明 Ascend 950PR/Ascend 950DT 支持。 - 更新 docs/zh/op_api_list.md、docs/zh/op_list.md 及对应英文算子清单。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8543 | 19 天前 | |
[bugfix] 修复bn_training_update_v2算子资料格式问题 Co-authored-by: justsheldon<taoxudong@huawei.com> # message auto-generated for no-merge-commit merge: !8766 merge master into master [bugfix] 修复bn_training_update_v2算子资料格式问题 Created-by: justsheldon Commit-by: justsheldon Merged-by: cann-robot Description: ## 描述 修复bn_training_update_v2算子资料格式问题,将html中不兼容md格式的 x调整为<code>x</code> <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 仅资料格式修改,不涉及测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了ops-nn/norm/bn_training_update_v2/README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8766 | 20 天前 | |
feat: A5新增BNTrainingUpdateV3算子 Co-authored-by: justsheldon<taoxudong@huawei.com> # message auto-generated for no-merge-commit merge: !8778 merge BNTrainingUpdateV3 into master feat: A5新增BNTrainingUpdateV3算子 Created-by: justsheldon Commit-by: justsheldon Merged-by: cann-robot Description: ## 描述 本 PR 新增 BNTrainingUpdateV3 算子,实现批归一化训练前向的 update 阶段(Batch Normalization Training Update V3)。给定 BNTrainingReduce 产出的逐通道 sum/square_sum,结合 scale 与 offset 对输入 x 做归一化仿射变换,输出 y 及本 batch 统计量 batch_mean/batch_variance(无偏)、reserve_1(save_mean)、reserve_2(save_variance,有偏),适用于不含 moving average 更新的场景,与 BNTrainingReduce 配套使用。 ### 改动原因 补充 A5平台上 BN 训练 update 阶段的算子能力,覆盖 fp16/fp32/bf16 输入与动态 shape/rank 场景。 ### 改动方法 - op_graph: bn_training_update_v3_proto.h 通过 REG_OP 注册算子原型(5 输入 x/sum/square_sum/scale/offset、必选属性 epsilon、5 输出 y/batch_mean/batch_variance/reserve_1/reserve_2),与 canndev built-in 定义一致。 - op_host: - bn_training_update_v3_def.cpp 以 OpDef 注册 ascend950 vendor:x/y 支持 FLOAT16/FLOAT32/BF16(ND),sum/square_sum/scale/offset 及四路统计量输出恒为 FLOAT32;开启 DynamicCompileStatic、DynamicRank、DynamicShape 支持,PrecisionReduce=true。 - bn_training_update_v3_infershape.cpp 实现 gert infershape 2.0:y shape/dtype 同 x,四路统计量输出同 scale;支持 unknown rank 早退。 - arch35/bn_training_update_v3_tiling_arch35.* 实现单条 ND 计算路径(tilingKey=0)的 tiling:plane(N*C)按 unitCores 均分(former/latter),plane 不足时 inner 维再切 innerCores 份;numRecip 与 batchVarScaler 以 fp64 计算后舍入 fp32(对齐 A2 TBE 语义);无 workspace。 - op_kernel:arch35/bn_training_update_v3.{h,cpp} 实现 per-channel 仿射系数(multiplier/addend)广播计算 y,fp16/bf16 输入升 fp32 计算后单次舍入写回。 - 测试:UT tests/ut/op_host/arch35/test_bn_training_update_v3_tiling.cpp 覆盖 tiling;ST tests/st/arch35/ttk_kernel_bn_training_update_v3.csv;tests/assets/golden.py 提供 golden;examples/arch35/test_geir_bn_training_update_v3.cpp 提供图模式调用样例(含两组 shape/epsilon 用例)。 ## 关联的Issue - #4841 ## 测试 - UT:op_host tiling 单测(test_bn_training_update_v3_tiling.cpp)。 - ST:kernel 端到端用例(ttk_kernel_bn_training_update_v3.csv),golden 由 tests/assets/golden.py 生成。 - 图模式样例:examples/arch35/test_geir_bn_training_update_v3.cpp 含两组 shape/epsilon 用例。 ## 文档更新 - 新增 norm/bn_training_update_v3/README.md,含产品支持情况、功能说明、计算公式、参数说明、约束说明与调用说明。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8778 | 17 天前 | |
format cpp Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !6784 merge issue_fix into master format cpp Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 批量刷新cpp代码格式 ## 关联的Issue [#3791](https://gitcode.com/cann/ops-nn/issues/3791) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6784 | 2 个月前 | |
test: 更新7个算子golden测试数据 Co-authored-by: tianqiguang<tianqiguang@huawei.com> # message auto-generated for no-merge-commit merge: !8510 merge master into master test: 更新7个算子golden测试数据 Created-by: tianqiguang Commit-by: tianqiguang Merged-by: cann-robot Description: ## 描述 更新 7 个算子的 golden(准确度基准)测试数据,同步最新参考值。 | 模块 | 算子 | 文件 | 变化 | |------|------|------|------| | loss | cosine_embedding_loss | golden.py | +56 | | loss | fused_cross_entropy_loss_with_max_sum | golden.py | +145 | | norm | deep_norm | golden.py | +59 | | norm | deep_norm_grad | golden.py | +77 | | optim | apply_adam_w_quant | golden.py | +68 | | quant | dynamic_quant_update_scatter | golden.py | +54 | | quant | dynamic_quant_update_scatter_v2 | golden.py | +56 | ## 测试 - CI golden 数据一致性验证 ## 类型标签 - [x] 测试 ## 关联的Issue - #4683 See merge request: cann/ops-nn!8510 | 26 天前 | |
test: 更新deep_norm_grad等4个算子golden测试数据 Co-authored-by: tianqiguang<tianqiguang@huawei.com> # message auto-generated for no-merge-commit merge: !8582 merge codex/golden-upstream-rebased into master test: 更新deep_norm_grad等4个算子golden测试数据 Created-by: tianqiguang Commit-by: tianqiguang Merged-by: cann-robot Description: ## 描述 更新 4 个算子的 golden 测试数据。 | 算子 | 变化 | |------|------| | deep_norm_grad | +61 -4 | | apply_adam_w_quant | +113 -28 | | dynamic_quant_update_scatter | +3 -3 | | dynamic_quant_update_scatter_v2 | +6 -2 | ## 类型标签 - [x] 测试 ## 关联的Issue - #4730 See merge request: cann/ops-nn!8582 | 25 天前 | |
format cpp Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !6784 merge issue_fix into master format cpp Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 批量刷新cpp代码格式 ## 关联的Issue [#3791](https://gitcode.com/cann/ops-nn/issues/3791) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6784 | 2 个月前 | |
EuclideanNorm,AscendAntiQuant 资料增加A2/A3的支持 Co-authored-by: wow5522<wuao1@huawei.com> # message auto-generated for no-merge-commit merge: !8889 merge master into master EuclideanNorm,AscendAntiQuant 资料增加A2/A3的支持 Created-by: wow5523 Commit-by: wow5522 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8889 | 18 天前 | |
modified md files (The product filtering tag is added to the aclnn*.md files of the forech and norm classes) Co-authored-by: zhaozhoujun520<zhaozhoujun@huawei.com> # message auto-generated for no-merge-commit merge: !7858 merge master into master modified md files (The product filtering tag is added to the aclnn*.md files of the forech and norm classes) Created-by: gitee-duhuiping Commit-by: zhaozhoujun520 Merged-by: cann-robot Description: ## 描述 The product filtering tag is added to the aclnn*.md files of the forech and norm classes. ## 关联的Issue [#4263](https://gitcode.com/cann/ops-nn/issues/4263) ## 测试 Only involves updating the MD document description, does not involve testing. ## 文档更新 aclnn*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7858 | 1 个月前 | |
feat: rename op_api_def.h to op_api_def_nn.h Co-authored-by: chenqianyu<chenqianyu1@h-partners.com> # message auto-generated for no-merge-commit merge: !8360 merge rename_opapidef into master feat: rename op_api_def.h to op_api_def_nn.h Created-by: FishPotatoChen Commit-by: chenqianyu Merged-by: cann-robot Description: ## 描述 本次改动将 op_api/op_api_def.h 重命名为 op_api/op_api_def_nn.h,并同步更新了所有引用该头文件的源文件与测试文件中的 #include 路径,共涉及 161 个文件。 改动原因:将 op_api 定义头文件统一命名为 op_api_def_nn.h,以更好地体现其所属模块(NN 算子)的语义,便于后续与其他模块的头文件区分管理。 此外,在提交过程中发现 4 个文件(aclnn_foreach_addcmul_scalar_v2.cpp、aclnn_max_unpool3d.cpp、test_aclnn_addmv.cpp、test_aclnn_fast_batchnorm_backward.cpp)的许可证头使用了非标准的旧格式,导致 OAT 合规检查失败。本次一并将其更新为标准的 CANN 开源许可证头格式,确保通过合规校验。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4954 ## 测试 - 通过 pre-commit 钩子校验:trailing whitespace、end-of-file-fixer、clang-format 均通过 - 通过 OAT 合规检查(161 个文件全部通过) - 本次为头文件重命名改动,不涉及逻辑变更,编译依赖关系保持不变 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:头文件重命名与许可证头修复 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8360 | 16 天前 | |
fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !8943 merge q_work8 into master fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 CANN 9.0.0 中 ReduceType 枚举移至 AscendC::Reg 命名空间,arch35 算子文件中通过 using namespace AscendC 已无法将 ReduceType 引入当前作用域,导致编译时 ReduceType::SUM/ReduceType::MAX 无法解析。 本次改动将 arch35 目录下 62 个算子头文件中的 ReduceType::SUM(502 处)和 ReduceType::MAX(32 处)显式限定为 AscendC::Reg::ReduceType::SUM 和 AscendC::Reg::ReduceType::MAX,修复编译兼容性问题。 涉及的算子模块:activation、norm、loss、index、quant,均为 arch35 架构专用文件,不影响其他架构。 ## 关联的Issue #4937 ## 测试 在 CANN 9.0.0(ascend950)环境下对 62 个文件涉及的算子进行编译验证,全部编译通过。 ## 文档更新 无文档更新,本次为编译兼容性修复。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8943 | 16 天前 | |
feat: rename op_api_def.h to op_api_def_nn.h Co-authored-by: chenqianyu<chenqianyu1@h-partners.com> # message auto-generated for no-merge-commit merge: !8360 merge rename_opapidef into master feat: rename op_api_def.h to op_api_def_nn.h Created-by: FishPotatoChen Commit-by: chenqianyu Merged-by: cann-robot Description: ## 描述 本次改动将 op_api/op_api_def.h 重命名为 op_api/op_api_def_nn.h,并同步更新了所有引用该头文件的源文件与测试文件中的 #include 路径,共涉及 161 个文件。 改动原因:将 op_api 定义头文件统一命名为 op_api_def_nn.h,以更好地体现其所属模块(NN 算子)的语义,便于后续与其他模块的头文件区分管理。 此外,在提交过程中发现 4 个文件(aclnn_foreach_addcmul_scalar_v2.cpp、aclnn_max_unpool3d.cpp、test_aclnn_addmv.cpp、test_aclnn_fast_batchnorm_backward.cpp)的许可证头使用了非标准的旧格式,导致 OAT 合规检查失败。本次一并将其更新为标准的 CANN 开源许可证头格式,确保通过合规校验。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4954 ## 测试 - 通过 pre-commit 钩子校验:trailing whitespace、end-of-file-fixer、clang-format 均通过 - 通过 OAT 合规检查(161 个文件全部通过) - 本次为头文件重命名改动,不涉及逻辑变更,编译依赖关系保持不变 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:头文件重命名与许可证头修复 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8360 | 16 天前 | |
feat: rename op_api_def.h to op_api_def_nn.h Co-authored-by: chenqianyu<chenqianyu1@h-partners.com> # message auto-generated for no-merge-commit merge: !8360 merge rename_opapidef into master feat: rename op_api_def.h to op_api_def_nn.h Created-by: FishPotatoChen Commit-by: chenqianyu Merged-by: cann-robot Description: ## 描述 本次改动将 op_api/op_api_def.h 重命名为 op_api/op_api_def_nn.h,并同步更新了所有引用该头文件的源文件与测试文件中的 #include 路径,共涉及 161 个文件。 改动原因:将 op_api 定义头文件统一命名为 op_api_def_nn.h,以更好地体现其所属模块(NN 算子)的语义,便于后续与其他模块的头文件区分管理。 此外,在提交过程中发现 4 个文件(aclnn_foreach_addcmul_scalar_v2.cpp、aclnn_max_unpool3d.cpp、test_aclnn_addmv.cpp、test_aclnn_fast_batchnorm_backward.cpp)的许可证头使用了非标准的旧格式,导致 OAT 合规检查失败。本次一并将其更新为标准的 CANN 开源许可证头格式,确保通过合规校验。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4954 ## 测试 - 通过 pre-commit 钩子校验:trailing whitespace、end-of-file-fixer、clang-format 均通过 - 通过 OAT 合规检查(161 个文件全部通过) - 本次为头文件重命名改动,不涉及逻辑变更,编译依赖关系保持不变 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:头文件重命名与许可证头修复 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8360 | 16 天前 | |
规范化修改产品术语名 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !8341 merge master into master 规范化修改产品术语名 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 产品文档中产品名需规范化 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#4260](https://gitcode.com/cann/ops-nn/issues/4260) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 相关readme和aclnn API MD ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8341 | 1 个月前 | |
modified md files (update product labels) Co-authored-by: duhuiping<duhuiping@h-partners.com> # message auto-generated for no-merge-commit merge: !8256 merge master into master modified md files (update product labels) Created-by: gitee-duhuiping Commit-by: duhuiping Merged-by: cann-robot Description: ## 描述 Update product labels. ## 关联的Issue [#4574](https://gitcode.com/cann/ops-nn/issues/4574) ## 测试 Only involves updating the MD document description, does not involve testing. ## 文档更新 norm/group_norm_swish_grad/docs/aclnnGroupNormSwishGrad.md norm/rms_norm_quant_v3/docs/aclnnRmsNormQuantV3.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8256 | 1 个月前 | |
fix(geir-test): 修复 geir 测试日志级别与描述不一致(INFO→ERROR) Co-authored-by: sun-yibo1<sunyibo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !9003 merge fix-geir-test-log-level-mismatch into master fix(geir-test): 修复 geir 测试日志级别与描述不一致(INFO→ERROR) Created-by: sun-yibo1 Commit-by: sun-yibo1 Merged-by: cann-robot Description: ## 描述 修复 14 个算子 geir 测试文件中日志级别与描述不一致的问题:3 类失败消息被误标记为 INFO,而同文件内其他失败消息均正确标记为 ERROR,构成内部不一致。本次将这 3 类失败消息的日志级别从 INFO 改为 ERROR。 ### 改动原因 geir 测试文件统一使用 printf("%s - LEVEL - [XIR]: message") 格式输出日志。在以下 3 类失败分支中,消息内容明确表示失败,但日志级别却写成 INFO,与同文件内其他失败消息(如 Generate input data failed、Create ir session using build options failed、Session add ir compute graph failed、Output verification FAILED,均标记为 ERROR)不一致,会误导日志排查: - Initialize ge using ge global options failed - Run graph failed - Finalize ir graph session failed ### 改动方法 仅将上述 3 类失败消息的日志级别标签 - INFO - 改为 - ERROR -,不修改任何测试逻辑、消息文本或参数。 ### 涉及文件(每个 3 处,共 42 处,14 文件 +42 -42) - activation/log_softmax_v2 - activation/confusion_softmax_grad - index/broadcast_gradient_args - norm/add_layer_norm_quant - norm/add_rms_norm_dynamic_quant_v2 - norm/batch_norm - norm/group_norm_v2 - norm/instance_norm - norm/layer_norm - norm/layer_norm_v3 - norm/sync_batch_norm_backward_elemt - norm/sync_batch_norm_backward_reduce - norm/sync_batch_norm_gather_stats - norm/sync_bn_training_update ## 关联的Issue - #4973 ## 测试 - 仅日志级别字符串修改,无逻辑变更,不影响测试编译与运行结果。 - 通过 git diff 逐项核对:仅 - INFO - → - ERROR -,消息文本与参数不变。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9003 | 16 天前 | |
test(golden): 升级 INInferV2 TestSpec Co-authored-by: raoliang_sac<raoliang4@huawei.com> # message auto-generated for no-merge-commit merge: !8513 merge fix/in-infer-v2-golden-spec-update into master test(golden): 升级 INInferV2 TestSpec Created-by: raoliang_sac Commit-by: raoliang_sac Merged-by: cann-robot Description: ## 描述 本次仅更新 norm/in_infer_v2/tests/assets/golden.py: - 引入 __spec__ TestSpec 注册,kernel 与 GEIR 共用 in_infer_v2 算子键和 Spec。 - 使用 Promote 感知的 Torch CPU true-value,保留框架提供的 FP64 输入,不再强制降为 FP32。 - 增加独立 Torch third-party composition,按 arch35 kernel 的 FP32 运算顺序执行,并配置 FP16/FP32 cross_check 容差。 - 保留兼容旧加载器的 __golden__,并与 TestSpec 复用同一计算核心。 - 删除无真实接口支撑的 ACLNN golden 注册;该算子配置为 ACLNNTYPE aclnn_exclude,不新增 ACLNN 或 e2e 通路。 ## 关联的Issue 关联 Issue #4684:https://gitcode.com/cann/ops-nn/issues/4684 ## 测试 - pre-commit run --files norm/in_infer_v2/tests/assets/golden.py:通过。 - Python AST/import、TestSpec 惰性加载与注册检查:通过。 - FP16/FP32、gamma/beta 有无、不同 rank/统计量 shape、Promote 输出 dtype 与 third-party 本地语义检查:通过。 - TTK 用例校验:100/100 valid;覆盖 FP16/FP32 各 50 条、gamma/beta 有无、rank 2~5、epsilon 与 inner 边界。 - TTK kernel release binary + Promote 双向精度验证:100/100 PASS;三个输出均 PASS,内存越界检查 100/100 PASS。 - TTK GEIR release 集成冒烟:FP16 无 gamma/beta 与 FP32 有 gamma/beta 共 2/2 PASS,三个输出均 PASS。 ## 文档更新 无,本次仅更新 golden 测试资产。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:测试 golden 规范升级 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8513 | 26 天前 | |
feat(in_training_reduce_v2): sub-R分组折叠解除规约轴R的上限 Co-authored-by: raoliang_sac<raoliang4@huawei.com> # message auto-generated for no-merge-commit merge: !8862 merge feat/in-training-reduce-v2-lift-r-limit into master feat(in_training_reduce_v2): sub-R分组折叠解除规约轴R的上限 Created-by: raoliang_sac Commit-by: raoliang_sac Merged-by: cann-robot Description: ## 描述 解除 INTrainingReduceV2 规约轴长度 R 的上限。 ### 问题 sub-R 分块路径把 numChunks = ceil(R / rFactor) 个部分和**全部常驻 UB**,于是"输入分块双缓冲"与"随 R 增长的部分和数组"争抢同一块 UB: 2·e·rFactor + 8·(R/rFactor) ≤ usable ⟹ e·R ≤ (usable/8)² (e = 元素字节宽度) 按 Ascend 950 的 ub_size=253952 复算 DoSubRTiling() 并二分求临界点,上限为 **FLOAT32 R ≤ 249,892,864 / FLOAT16 R ≤ 500,797,440**(均约 0.93 GiB 输入),超出即在 Host Tiling 阶段返回失败。上游反馈的用例 InTrainingReduceV2_L1_upboundary_highpre_047(N=1, C=1, R=4294967296)正是因此失败: EZ9999: sub-R tiling requires N, C, R and N*C to fit in uint32: N=1 C=1 R=4294967296. [FUNC:CheckSubRNarrowable][FILE:in_training_reduce_v2_tiling_ar_full_reduce_arch35.cpp][LINE:127] 这个上限并非硬件或算法固有,而是实现耦合。同族对照支持"该能力本应具备":canndev 的 A2/A3 实现(TBE tuple_reduce)在类型与架构上均不设 R 上限;本仓 batch_norm_v3 的 block_split_r 也通过分级归约避开了同样的耦合。 ### 方案:分组折叠 给部分和缓存一个**固定**的分组预算:每 chunksPerGroup 个 chunk 折叠一次,结果写入 carry 槽并参与下一组的树形折叠,使 UB 占用与 R 完全解耦。 runningFold = 0 for g in [0, numGroups): for c in [0, chunksInGroup): CopyIn / ReduceChunk → partial[c] foldCnt = chunksInGroup + (g > 0 ? 1 : 0) # g>0 时含上一组的 carry FoldGroupSubR(partial[0, foldCnt)) → 末组写输出,否则写下一组的 carry 槽 实测 UB 用量恒为 **253,056 / 253,440 字节**,R 从 2.6×10⁸ 到 4.29×10⁹ 完全不变。**R 不再有上限,仅受设备内存约束。** ### 三点设计取舍 1. **保留原有求解作为快路径。** 装得下即 numGroups == 1,tiling 参数与 Kernel 行为逐位不变,存量 shape 零影响;分组仅在原本会被拒绝的 R 上启用。TTK 851 条泛化用例**全部走快路径**,这既解释了它们全绿,也印证了改造对存量行为无影响。 2. **chunksPerGroup 取"VL 对齐值 − 1"**,使 CeilAlign(chunksPerGroup + 1, VL) 恰好等于该对齐值,carry 槽不额外多吃一个 VL —— 分组路径的 UB 开销为零。 3. **carry 与本组 chunk 走同一次向量折叠**,而非标量顺序累加,精度优于顺序加。 ### 附带 sub-R 路径的 numN / numC / numR / perCoreCnt 由 uint32_t 放宽到 uint64_t,并移除 CheckSubRNarrowable() 中对 numR 的守卫(N / C / N×C 的 uint32 约束保留)。顺带修正 ar_full_reduce.h 中 perCoreCnt_ 的隐式收窄(同段其余字段均有显式 static_cast)。 README 未作改动:R 的上限是被**删除**的,不是被补充的,「约束说明」无需新增条目。 ## 关联的Issue 关联Issue #4872 —— 该 Issue 原诉求是把 R 上限写入文档;排查后确认上限可解除,故改为直接解除,Issue 将同步说明。原 PR !8838(文档化该上限)已因此关闭。 ## 测试 **op_host UT:22/22 通过** 新增 / 改写: - ..._sub_r_r_over_uint32_015:R=2³²(即上游失败用例的 R),改造前被拒,现须出 tiling - ..._sub_r_r_far_over_uint32_fp16_017:R=2³⁴ fp16,验证上限是"解除"而非"抬高一档" - ..._sub_r_nc_over_uint32_rejected_018:N×C=2³²,验证 N/C 的 uint32 守卫仍生效 - ..._sub_r_grouped_fold_2e9_014:原为"断言拒绝",改为"断言分组后接受" - 新增 ExpectSubRSelfConsistent():断言 numChunks/tailLen/numGroups/tailChunks 彼此自洽,且 Kernel 按该组参数申请的 UB 不越界 - 存量用例 013 / 016 增加 numGroups == 1 断言,守住"快路径不变" **TTK kernel 泛化:851 / 851 全部 PASS**(Ascend 950PR_9579) | 项 | 结果 | |---|---| | precision_status | PASS × 851,0 FAIL | | bin_precision | 100.0%,100.0% × 851 | | bin_compile_s | BINARY_MATCH × 851(跑的是部署的预编译 .o,非 JIT 兜底) | | memory_oob | PASS × 851 | 命令:ttk kernel -i in_training_reduce_v2_full.csv -d=false -b=release --compare close --plugin <op>/tests/assets **超限用例实测**(这批是唯一能覆盖新增分组路径的用例,851 条泛化全部走快路径) | R | dtype | numGroups | 结果 | |---:|---|---:|---| | 260,000,000 | fp32 | 2 | PASS,精度 100% | | 600,000,000 | fp32 | 3 | PASS,精度 100% | | 520,000,000 | fp16 | 2 | PASS,精度 100% | | 1,200,000,000 | fp16 | 3 | 跑批中 | | 4,294,967,296 | fp16 | 9 | 跑批中 | | 4,294,967,296 | fp32 | 18 | 跑批中 | 前三条均已超过改造前的上限(改造前会被 Host Tiling 拒绝)。后三条规模较大(fp64 golden 需 32 GiB),结果出来后补充到评论。 **本地门禁**:pre-commit 全项 Passed(含 clang-format / codespell / OAT 合规)。 ## 文档更新 无。R 的上限被解除而非文档化,README 无需改动。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8862 | 19 天前 | |
fix(arch35): 修复 InTrainingUpdateGrad NDC1HWC0 与 MultiAddRmsNormDynamicQuant 动态输入取值;8 算子 golden 适配三方对比 Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !8492 merge fix/op-binary-json-missing into master fix(arch35): 修复 InTrainingUpdateGrad NDC1HWC0 与 MultiAddRmsNormDynamicQuant 动态输入取值;8 算子 golden 适配三方对比 Created-by: zl_hw Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 按照ttk最新支持规范更新ttk golden ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4685 ## 测试 st ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8492 | 26 天前 | |
inplace_add_layer_norm: 基于 AddLayerNorm 实现 Ascend 950 支持 Co-authored-by: rk<wangpengbo26@huawei.com> # message auto-generated for no-merge-commit merge: !8736 merge inplace_aln_k1 into master inplace_add_layer_norm: 基于 AddLayerNorm 实现 Ascend 950 支持 Created-by: wangpengbo26 Commit-by: rk Merged-by: cann-robot Description: ## 描述 为 InplaceAddLayerNorm 算子新增 Ascend 950(ascend950 / mc62)支持,且 950 路径额外支持空进空出。 ### 改动原因 - InplaceAddLayerNorm 此前未注册 950 的 OpAICoreConfig,且 tiling 走 Tiling4AddLayerNorm(非 regbase 路径),不支持 950。 ### 改动方法 **1. 算子定义(def.cpp)** - inplace_add_layer_norm_def.cpp:新增 OpAICoreConfig config_950,注册 ascend950,支持 fp16/bf16/fp32 多 dtype 组合,开启动态编译静态/动态 rank/动态 shape。 - add_layer_norm_def.cpp:移除 950 的 ExtendCfgInfo("opFile.value", "add_layer_norm_apt"),统一走通用配置。 **2. tiling** - add_layer_norm_tiling.cpp:InplaceAddLayerNorm 的 tiling 函数从 Tiling4AddLayerNorm 改为 TilingAddLayerNorm(走 regbase 路径,支持 950)。 - add_layer_norm_tiling.h:新增 AddLayerNorm_8010/8011/8012/8200 和 InplaceAddLayerNorm_8000~8200 的 tiling data class 注册(覆盖 950 子型号);新增成员 isReduceEmpty_、方法 CheckInplaceInputsDtype()、SetTilingData()。 - add_layer_norm_tiling_arch35.cpp:新增空张量场景处理、inplace dtype 校验、tiling data 设置逻辑。 **3. kernel** - 新增 norm/add_layer_norm/op_kernel/CMakeLists.txt、norm/inplace_add_layer_norm/op_kernel/CMakeLists.txt:声明 ascend950 编译目标及选项 --cce-no-dcache-flush --cce-simd-vf-fusion=false。 - 新增 arch35/add_layer_norm.cpp、arch35/inplace_add_layer_norm.cpp:kernel 入口。 - 新增 arch35/add_layer_norm_regbase_reduce_empty.h:空张量兜底 kernel,合轴后 R==0 且 A>0 时 mean/rstd 填 NaN,y/x 为空。 - 改 _regbase_common.h / _welford.h / _full_load.h:BUFFER_NUM 默认改为 DOUBLE_BUFFER_NUM=2(双 buffer),VFCalcY 增加 x 输出参数支持 inplace 写出 x,重构 VFCalcMeanVarFast 为 VFAddFrontend。 **4. 配置/文档** - 新增 inplace_add_layer_norm_binary.json(ascend950 binary 配置)。 - ascendc_config.json 移除 AddLayerNorm、InplaceAddLayerNorm 旧全局条目。 - README.md:InplaceAddLayerNorm 在 950 上 ×→√,并新增 950 支持空进空出说明。 ## 关联的Issue #https://gitcode.com/cann/ops-nn/issues/4858 ## 测试 - 泛化验证pass。 ## 文档更新 - norm/inplace_add_layer_norm/README.md:950 支持矩阵 ×→√,新增空进空出说明。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8736 | 17 天前 | |
docs: 修正 rmsnorm 系列算子 rstdOut shape 描述 Co-authored-by: liangyuhua<liangyuhua4@huawei.com> # message auto-generated for no-merge-commit merge: !9008 merge fix/rstdout-shape-doc into master docs: 修正 rmsnorm 系列算子 rstdOut shape 描述 Created-by: liangyuhua Commit-by: liangyuhua Merged-by: cann-robot Description: ## 描述 修正 rmsnorm 系列算子 rstdOut 输出的 shape 描述,补充"维度数需与输入保持一致、需要norm的维度均为1"的说明,并增加 shape 关系举例。 原描述仅提及"shape前几维保持一致",未说明维度数需一致及norm维度为1的要求,与 kernel infershape 实际逻辑不符,容易导致用户对 rstdOut shape 理解错误。 **涉及算子**(4 个文件): | 算子 | 输入参数 | gamma 维度约束 | |------|----------|---------------| | add_rms_norm_cast | x1 | 1-8 维 | | inplace_add_rms_norm | x1Ref | 1-8 维 | | add_rms_norm_dynamic_mx_quant | x1 | 1 维 | | rms_norm_dynamic_mx_quant | x | 1 维 | **修正前**(以 add_rms_norm_cast 为例): > shape与入参x1的shape前几维保持一致,前几维指x1的维度减去gamma的维度,表示不需要norm的维度。 **修正后**: > 维度数与入参x1保持一致,其中不需要norm的维度(x1的维度减去gamma的维度后的前几维)与x1对应维度保持一致,需要norm的维度(与gamma维度数相同的后几维)均为1。rstdOut shape与x1 shape、gamma shape关系举例:若x1 shape为(2,3,4,8),gamma shape为(8),则rstdOut shape为(2,3,4,1);若x1 shape为(2,3,4,8),gamma shape为(4,8),则rstdOut shape为(2,3,1,1)。 与 infershape 代码逻辑完全一致: cpp rstdShape->SetDimNum(xDimNum); for (size_t i = 0; i < xDimNum; i++) { if (i < xDimNum - gammaDimNum) { rstdShape->SetDim(i, x1Shape->GetDim(i)); // 不需要norm的维度 } else { rstdShape->SetDim(i, 1); // 需要norm的维度均为1 } } ## 关联的Issue #4974 ## 测试 本次变更仅涉及文档描述,无代码改动,无需测试。 ## 文档更新 - norm/add_rms_norm_cast/docs/aclnnAddRmsNormCast.md - norm/inplace_add_rms_norm/docs/aclnnInplaceAddRmsNorm.md - norm/add_rms_norm_dynamic_mx_quant/docs/aclnnAddRmsNormDynamicMxQuant.md - norm/rms_norm_dynamic_mx_quant/docs/aclnnRmsNormDynamicMxQuant.md ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9008 | 16 天前 | |
fix(geir-test): 修复 geir 测试日志级别与描述不一致(INFO→ERROR) Co-authored-by: sun-yibo1<sunyibo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !9003 merge fix-geir-test-log-level-mismatch into master fix(geir-test): 修复 geir 测试日志级别与描述不一致(INFO→ERROR) Created-by: sun-yibo1 Commit-by: sun-yibo1 Merged-by: cann-robot Description: ## 描述 修复 14 个算子 geir 测试文件中日志级别与描述不一致的问题:3 类失败消息被误标记为 INFO,而同文件内其他失败消息均正确标记为 ERROR,构成内部不一致。本次将这 3 类失败消息的日志级别从 INFO 改为 ERROR。 ### 改动原因 geir 测试文件统一使用 printf("%s - LEVEL - [XIR]: message") 格式输出日志。在以下 3 类失败分支中,消息内容明确表示失败,但日志级别却写成 INFO,与同文件内其他失败消息(如 Generate input data failed、Create ir session using build options failed、Session add ir compute graph failed、Output verification FAILED,均标记为 ERROR)不一致,会误导日志排查: - Initialize ge using ge global options failed - Run graph failed - Finalize ir graph session failed ### 改动方法 仅将上述 3 类失败消息的日志级别标签 - INFO - 改为 - ERROR -,不修改任何测试逻辑、消息文本或参数。 ### 涉及文件(每个 3 处,共 42 处,14 文件 +42 -42) - activation/log_softmax_v2 - activation/confusion_softmax_grad - index/broadcast_gradient_args - norm/add_layer_norm_quant - norm/add_rms_norm_dynamic_quant_v2 - norm/batch_norm - norm/group_norm_v2 - norm/instance_norm - norm/layer_norm - norm/layer_norm_v3 - norm/sync_batch_norm_backward_elemt - norm/sync_batch_norm_backward_reduce - norm/sync_batch_norm_gather_stats - norm/sync_bn_training_update ## 关联的Issue - #4973 ## 测试 - 仅日志级别字符串修改,无逻辑变更,不影响测试编译与运行结果。 - 通过 git diff 逐项核对:仅 - INFO - → - ERROR -,消息文本与参数不变。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9003 | 16 天前 | |
InTrainingUpdateGrad\MultiAddRmsNormDynamicQuant\MultilabelMarginLoss\InstanceNormGrad 算子精度优化 Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !8723 merge fix/op-binary-json-missing into master InTrainingUpdateGrad\MultiAddRmsNormDynamicQuant\MultilabelMarginLoss\InstanceNormGrad 算子精度优化 Created-by: zl_hw Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 fix(arch35): 修复 InTrainingUpdateGrad NDC1HWC0 与 MultiAddRmsNormDynamicQuant 动态输入取值;MultilabelMarginLoss A5 独立 tiling 与归约精度;InstanceNormGrad UB 记账与缓冲下发;8 算子 golden 适配三方对比 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4818 ## 测试 ut/st ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8723 | 20 天前 | |
feat: rename op_api_def.h to op_api_def_nn.h Co-authored-by: chenqianyu<chenqianyu1@h-partners.com> # message auto-generated for no-merge-commit merge: !8360 merge rename_opapidef into master feat: rename op_api_def.h to op_api_def_nn.h Created-by: FishPotatoChen Commit-by: chenqianyu Merged-by: cann-robot Description: ## 描述 本次改动将 op_api/op_api_def.h 重命名为 op_api/op_api_def_nn.h,并同步更新了所有引用该头文件的源文件与测试文件中的 #include 路径,共涉及 161 个文件。 改动原因:将 op_api 定义头文件统一命名为 op_api_def_nn.h,以更好地体现其所属模块(NN 算子)的语义,便于后续与其他模块的头文件区分管理。 此外,在提交过程中发现 4 个文件(aclnn_foreach_addcmul_scalar_v2.cpp、aclnn_max_unpool3d.cpp、test_aclnn_addmv.cpp、test_aclnn_fast_batchnorm_backward.cpp)的许可证头使用了非标准的旧格式,导致 OAT 合规检查失败。本次一并将其更新为标准的 CANN 开源许可证头格式,确保通过合规校验。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4954 ## 测试 - 通过 pre-commit 钩子校验:trailing whitespace、end-of-file-fixer、clang-format 均通过 - 通过 OAT 合规检查(161 个文件全部通过) - 本次为头文件重命名改动,不涉及逻辑变更,编译依赖关系保持不变 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:头文件重命名与许可证头修复 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8360 | 16 天前 | |
InTrainingUpdateGrad\MultiAddRmsNormDynamicQuant\MultilabelMarginLoss\InstanceNormGrad 算子精度优化 Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !8723 merge fix/op-binary-json-missing into master InTrainingUpdateGrad\MultiAddRmsNormDynamicQuant\MultilabelMarginLoss\InstanceNormGrad 算子精度优化 Created-by: zl_hw Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 fix(arch35): 修复 InTrainingUpdateGrad NDC1HWC0 与 MultiAddRmsNormDynamicQuant 动态输入取值;MultilabelMarginLoss A5 独立 tiling 与归约精度;InstanceNormGrad UB 记账与缓冲下发;8 算子 golden 适配三方对比 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4818 ## 测试 ut/st ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8723 | 20 天前 | |
fix(geir-test): 修复 geir 测试日志级别与描述不一致(INFO→ERROR) Co-authored-by: sun-yibo1<sunyibo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !9003 merge fix-geir-test-log-level-mismatch into master fix(geir-test): 修复 geir 测试日志级别与描述不一致(INFO→ERROR) Created-by: sun-yibo1 Commit-by: sun-yibo1 Merged-by: cann-robot Description: ## 描述 修复 14 个算子 geir 测试文件中日志级别与描述不一致的问题:3 类失败消息被误标记为 INFO,而同文件内其他失败消息均正确标记为 ERROR,构成内部不一致。本次将这 3 类失败消息的日志级别从 INFO 改为 ERROR。 ### 改动原因 geir 测试文件统一使用 printf("%s - LEVEL - [XIR]: message") 格式输出日志。在以下 3 类失败分支中,消息内容明确表示失败,但日志级别却写成 INFO,与同文件内其他失败消息(如 Generate input data failed、Create ir session using build options failed、Session add ir compute graph failed、Output verification FAILED,均标记为 ERROR)不一致,会误导日志排查: - Initialize ge using ge global options failed - Run graph failed - Finalize ir graph session failed ### 改动方法 仅将上述 3 类失败消息的日志级别标签 - INFO - 改为 - ERROR -,不修改任何测试逻辑、消息文本或参数。 ### 涉及文件(每个 3 处,共 42 处,14 文件 +42 -42) - activation/log_softmax_v2 - activation/confusion_softmax_grad - index/broadcast_gradient_args - norm/add_layer_norm_quant - norm/add_rms_norm_dynamic_quant_v2 - norm/batch_norm - norm/group_norm_v2 - norm/instance_norm - norm/layer_norm - norm/layer_norm_v3 - norm/sync_batch_norm_backward_elemt - norm/sync_batch_norm_backward_reduce - norm/sync_batch_norm_gather_stats - norm/sync_bn_training_update ## 关联的Issue - #4973 ## 测试 - 仅日志级别字符串修改,无逻辑变更,不影响测试编译与运行结果。 - 通过 git diff 逐项核对:仅 - INFO - → - ERROR -,消息文本与参数不变。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9003 | 16 天前 | |
fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !8943 merge q_work8 into master fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 CANN 9.0.0 中 ReduceType 枚举移至 AscendC::Reg 命名空间,arch35 算子文件中通过 using namespace AscendC 已无法将 ReduceType 引入当前作用域,导致编译时 ReduceType::SUM/ReduceType::MAX 无法解析。 本次改动将 arch35 目录下 62 个算子头文件中的 ReduceType::SUM(502 处)和 ReduceType::MAX(32 处)显式限定为 AscendC::Reg::ReduceType::SUM 和 AscendC::Reg::ReduceType::MAX,修复编译兼容性问题。 涉及的算子模块:activation、norm、loss、index、quant,均为 arch35 架构专用文件,不影响其他架构。 ## 关联的Issue #4937 ## 测试 在 CANN 9.0.0(ascend950)环境下对 62 个文件涉及的算子进行编译验证,全部编译通过。 ## 文档更新 无文档更新,本次为编译兼容性修复。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8943 | 16 天前 | |
fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !8943 merge q_work8 into master fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 CANN 9.0.0 中 ReduceType 枚举移至 AscendC::Reg 命名空间,arch35 算子文件中通过 using namespace AscendC 已无法将 ReduceType 引入当前作用域,导致编译时 ReduceType::SUM/ReduceType::MAX 无法解析。 本次改动将 arch35 目录下 62 个算子头文件中的 ReduceType::SUM(502 处)和 ReduceType::MAX(32 处)显式限定为 AscendC::Reg::ReduceType::SUM 和 AscendC::Reg::ReduceType::MAX,修复编译兼容性问题。 涉及的算子模块:activation、norm、loss、index、quant,均为 arch35 架构专用文件,不影响其他架构。 ## 关联的Issue #4937 ## 测试 在 CANN 9.0.0(ascend950)环境下对 62 个文件涉及的算子进行编译验证,全部编译通过。 ## 文档更新 无文档更新,本次为编译兼容性修复。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8943 | 16 天前 | |
modified md files (The product filtering tag is added to the aclnn*.md files of the forech and norm classes) Co-authored-by: zhaozhoujun520<zhaozhoujun@huawei.com> # message auto-generated for no-merge-commit merge: !7858 merge master into master modified md files (The product filtering tag is added to the aclnn*.md files of the forech and norm classes) Created-by: gitee-duhuiping Commit-by: zhaozhoujun520 Merged-by: cann-robot Description: ## 描述 The product filtering tag is added to the aclnn*.md files of the forech and norm classes. ## 关联的Issue [#4263](https://gitcode.com/cann/ops-nn/issues/4263) ## 测试 Only involves updating the MD document description, does not involve testing. ## 文档更新 aclnn*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7858 | 1 个月前 | |
fix(geir-test): 修复 geir 测试日志级别与描述不一致(INFO→ERROR) Co-authored-by: sun-yibo1<sunyibo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !9003 merge fix-geir-test-log-level-mismatch into master fix(geir-test): 修复 geir 测试日志级别与描述不一致(INFO→ERROR) Created-by: sun-yibo1 Commit-by: sun-yibo1 Merged-by: cann-robot Description: ## 描述 修复 14 个算子 geir 测试文件中日志级别与描述不一致的问题:3 类失败消息被误标记为 INFO,而同文件内其他失败消息均正确标记为 ERROR,构成内部不一致。本次将这 3 类失败消息的日志级别从 INFO 改为 ERROR。 ### 改动原因 geir 测试文件统一使用 printf("%s - LEVEL - [XIR]: message") 格式输出日志。在以下 3 类失败分支中,消息内容明确表示失败,但日志级别却写成 INFO,与同文件内其他失败消息(如 Generate input data failed、Create ir session using build options failed、Session add ir compute graph failed、Output verification FAILED,均标记为 ERROR)不一致,会误导日志排查: - Initialize ge using ge global options failed - Run graph failed - Finalize ir graph session failed ### 改动方法 仅将上述 3 类失败消息的日志级别标签 - INFO - 改为 - ERROR -,不修改任何测试逻辑、消息文本或参数。 ### 涉及文件(每个 3 处,共 42 处,14 文件 +42 -42) - activation/log_softmax_v2 - activation/confusion_softmax_grad - index/broadcast_gradient_args - norm/add_layer_norm_quant - norm/add_rms_norm_dynamic_quant_v2 - norm/batch_norm - norm/group_norm_v2 - norm/instance_norm - norm/layer_norm - norm/layer_norm_v3 - norm/sync_batch_norm_backward_elemt - norm/sync_batch_norm_backward_reduce - norm/sync_batch_norm_gather_stats - norm/sync_bn_training_update ## 关联的Issue - #4973 ## 测试 - 仅日志级别字符串修改,无逻辑变更,不影响测试编译与运行结果。 - 通过 git diff 逐项核对:仅 - INFO - → - ERROR -,消息文本与参数不变。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9003 | 16 天前 | |
fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !8943 merge q_work8 into master fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 CANN 9.0.0 中 ReduceType 枚举移至 AscendC::Reg 命名空间,arch35 算子文件中通过 using namespace AscendC 已无法将 ReduceType 引入当前作用域,导致编译时 ReduceType::SUM/ReduceType::MAX 无法解析。 本次改动将 arch35 目录下 62 个算子头文件中的 ReduceType::SUM(502 处)和 ReduceType::MAX(32 处)显式限定为 AscendC::Reg::ReduceType::SUM 和 AscendC::Reg::ReduceType::MAX,修复编译兼容性问题。 涉及的算子模块:activation、norm、loss、index、quant,均为 arch35 架构专用文件,不影响其他架构。 ## 关联的Issue #4937 ## 测试 在 CANN 9.0.0(ascend950)环境下对 62 个文件涉及的算子进行编译验证,全部编译通过。 ## 文档更新 无文档更新,本次为编译兼容性修复。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8943 | 16 天前 | |
fix: inplace_apply_keras_momentum/lp_norm_update 属性标记为 OPTIONAL 与 REG_OP 行为对齐 Co-authored-by: Davon14272<liuwenda4@huawei.com> # message auto-generated for no-merge-commit merge: !8161 merge proto into master fix: inplace_apply_keras_momentum/lp_norm_update 属性标记为 OPTIONAL 与 REG_OP 行为对齐 Created-by: Davon14272 Commit-by: Davon14272 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 将inplace_apply_keras_momentum/lp_norm_update 算子的kernel定义文件与proto文件中的属性定义不一致,需要和proto文件对齐,改为可选属性 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#4498](https://gitcode.com/cann/ops-nn/issues/4498) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8161 | 1 个月前 | |
[CANNBot] lp_norm_update_v2算子增加异常拦截校验 Co-authored-by: chen_chenn<chenchen167@huawei.com> # message auto-generated for no-merge-commit merge: !8367 merge LpNormUpdateV2 into master [CANNBot] lp_norm_update_v2算子增加异常拦截校验 Created-by: chen_chenn Commit-by: chen_chenn Merged-by: cann-robot Description: ## 描述 lp_norm_update_v2算子增加异常拦截校验 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4829 ## 测试 TTK ## 文档更新 不涉及 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8367 | 20 天前 | |
feat: rename op_api_def.h to op_api_def_nn.h Co-authored-by: chenqianyu<chenqianyu1@h-partners.com> # message auto-generated for no-merge-commit merge: !8360 merge rename_opapidef into master feat: rename op_api_def.h to op_api_def_nn.h Created-by: FishPotatoChen Commit-by: chenqianyu Merged-by: cann-robot Description: ## 描述 本次改动将 op_api/op_api_def.h 重命名为 op_api/op_api_def_nn.h,并同步更新了所有引用该头文件的源文件与测试文件中的 #include 路径,共涉及 161 个文件。 改动原因:将 op_api 定义头文件统一命名为 op_api_def_nn.h,以更好地体现其所属模块(NN 算子)的语义,便于后续与其他模块的头文件区分管理。 此外,在提交过程中发现 4 个文件(aclnn_foreach_addcmul_scalar_v2.cpp、aclnn_max_unpool3d.cpp、test_aclnn_addmv.cpp、test_aclnn_fast_batchnorm_backward.cpp)的许可证头使用了非标准的旧格式,导致 OAT 合规检查失败。本次一并将其更新为标准的 CANN 开源许可证头格式,确保通过合规校验。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4954 ## 测试 - 通过 pre-commit 钩子校验:trailing whitespace、end-of-file-fixer、clang-format 均通过 - 通过 OAT 合规检查(161 个文件全部通过) - 本次为头文件重命名改动,不涉及逻辑变更,编译依赖关系保持不变 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:头文件重命名与许可证头修复 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8360 | 16 天前 | |
Add fallback registration for quant_update_scatter/scatter_nd_update/masked_softmax_with_rel_pos_bia Co-authored-by: lijingxuan<lijingxuan13@huawei.com> # message auto-generated for no-merge-commit merge: !8765 merge Add_new_operators into master Add fallback registration for quant_update_scatter/scatter_nd_update/masked_softmax_with_rel_pos_bia Created-by: 2401_87820340 Commit-by: lijingxuan Merged-by: cann-robot Description: ## 描述 本 PR 为以下三个算子新增图模式 fallback 注册: - quant_update_scatter - scatter_nd_update - masked_softmax_with_rel_pos_bias 将 canndev 中对应的 fallback 实现迁移至 ops-nn。执行函数通过 CANN_OPS_OPB_SYN_EXEC_ACLNN 调用对应 ACLNN API,并显式传入 hostApiCtx。 本次迁移保留了原有 ACLNN API、输入及属性索引、参数顺序和错误处理逻辑,不修改算子公共接口及计算语义。 ## 关联的Issue 无关联 Issue。 ## 测试 已完成以下检查: - 对三个新增 CPP 文件执行 clang-format 18.1.8,检查通过。 - 对三个新增 CPP 文件执行完整 pre-commit,所有检查通过。 - 执行 git diff --check,检查通过。 - 检查三个文件均使用 CANN_OPS_OPB_SYN_EXEC_ACLNN,不存在旧的 EXEC_OPAPI_CMD。 - GitCode 远端 Git Hooks 检查通过。 Linux/CANN 编译、opgraph UT 和软件包构建由 PR 流水线继续验证。 ## 文档更新 本 PR 不包含文档更新。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8765 | 18 天前 | |
fix(arch35): 修复 InTrainingUpdateGrad NDC1HWC0 与 MultiAddRmsNormDynamicQuant 动态输入取值;8 算子 golden 适配三方对比 Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !8492 merge fix/op-binary-json-missing into master fix(arch35): 修复 InTrainingUpdateGrad NDC1HWC0 与 MultiAddRmsNormDynamicQuant 动态输入取值;8 算子 golden 适配三方对比 Created-by: zl_hw Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 按照ttk最新支持规范更新ttk golden ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4685 ## 测试 st ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8492 | 26 天前 | |
A5新增MVNV2算子 Co-authored-by: Davon14272<liuwenda4@huawei.com> # message auto-generated for no-merge-commit merge: !8594 merge mvn into master A5新增MVNV2算子 Created-by: Davon14272 Commit-by: Davon14272 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - 算子功能:对ND输入张量沿指定axes计算均值与标准差,执行均值方差归一化,使输出在规约轴上均值为0、方差近似为1。 - 计算公式: $$ y = \frac{x - mean}{\sqrt{var} + eps} $$ ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#4878](https://gitcode.com/cann/ops-nn/issues/4878) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8594 | 18 天前 | |
perf: optimize CalculateSquareReduceSumCommon tail loop for instruction-level parallelism Co-authored-by: liangyuhua<liangyuhua4@huawei.com> # message auto-generated for no-merge-commit merge: !8181 merge perf/optimize-calculate-square-reduce-sum into master perf: optimize CalculateSquareReduceSumCommon tail loop for instruction-level parallelism Created-by: liangyuhua Commit-by: liangyuhua Merged-by: cann-robot Description: ## 描述 优化 reduce_common_regbase.h 中 CalculateSquareReduceSumCommon 函数的 tail 循环,提升指令级并行度。 ### 改动内容 1. **重排 Load/Mul 指令顺序**:Load x → Mul x → Load xFold → Mul xFold(原为 Load x → Load xFold → Mul x → Mul xFold),使 x 的 Mul 可以与 xFold 的 Load 重叠执行。 2. **合并 tail 两阶段循环为统一循环**:将原来的 tailFullLoops(整除迭代)+ tailRemain(余数迭代)两阶段循环替换为统一的 tailCeilLoops 循环,使用 UpdateMask(sregTail) 自动递减掩码,无需单独处理余数。 3. **移除 ShiftLefts 调用**:原代码用 ShiftLefts(.., pregLoop) 将越界元素清零,现在 UpdateMask 已正确处理掩码,不再需要。 4. **重命名循环变量**:firstFlodWithOutAddLoops 提升可读性。 ## 关联的Issue #4505 ## 测试 在 Ascend950 上使用 TTK (ops-test-kit) 对 6 个 rmsnorm 系列算子进行了全面验证,每个算子 50 条 case,共 300 条,覆盖 CalculateSquareReduceSumCommon 的所有分支。 ### 分支覆盖 - **LAST_LOOP_NUMS=1** (reduceBranchNum 129~8192):26 条/算子 - **LAST_LOOP_NUMS=2** (reduceBranchNum 8193~16384):24 条/算子 - **tail 场景**:单次部分迭代、单次完整迭代、多次完整迭代、多次部分迭代,4 种全覆盖 - **dtype 覆盖**:fp16 + bf16 - **add_rms_norm_dynamic_mx_quant**:fp8 (e4m3fn/e5m2) + fp4 (e2m1) 两条路径全覆盖 ### 性能对比结果 每个算子 50 条 case,--run 5 中位数逐条对比。对首轮退化 case 用 --run 20 复检降噪,复检结果替换首轮结果: | 算子 | 用例数 | 提升 | 退化 | 持平 | 精度PASS | 平均变化 | |------|--------|------|------|------|---------|---------| | rms_norm | 50 | 39 | 11 | 0 | YES | -2.6% | | add_rms_norm_cast | 50 | 29 | 20 | 1 | YES | -0.3% | | add_rms_norm_quant | 50 | 37 | 13 | 0 | YES | -1.9% | | add_rms_norm_dynamic_quant | 50 | 24 | 24 | 2 | YES | -0.1% | | rms_norm_quant_v2 | 50 | 40 | 10 | 0 | YES | -2.0% | | add_rms_norm_dynamic_mx_quant | 50 | 34 | 15 | 1 | YES | -0.7% | | **TOTAL** | **300** | **203** | **93** | **4** | **YES** | **-1.3%** | - 所有 300 条 case 精度检查通过(rms_norm 和 add_rms_norm_cast 有 golden plugin 验证,其余编译执行 PASS) - 性能提升的 case(203,68%)远多于退化的 case(93,31%),总体平均提升 1.3% - 退化的 case 幅度均在 ±2% 以内,属于测量噪声范围 ## 文档更新 无需更新文档。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8181 | 1 个月前 | |
format cpp Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !6784 merge issue_fix into master format cpp Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 批量刷新cpp代码格式 ## 关联的Issue [#3791](https://gitcode.com/cann/ops-nn/issues/3791) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6784 | 2 个月前 | |
modified md files (The product filtering tag is added to the aclnn*.md files of the forech and norm classes) Co-authored-by: zhaozhoujun520<zhaozhoujun@huawei.com> # message auto-generated for no-merge-commit merge: !7858 merge master into master modified md files (The product filtering tag is added to the aclnn*.md files of the forech and norm classes) Created-by: gitee-duhuiping Commit-by: zhaozhoujun520 Merged-by: cann-robot Description: ## 描述 The product filtering tag is added to the aclnn*.md files of the forech and norm classes. ## 关联的Issue [#4263](https://gitcode.com/cann/ops-nn/issues/4263) ## 测试 Only involves updating the MD document description, does not involve testing. ## 文档更新 aclnn*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7858 | 1 个月前 | |
feat: rename op_api_def.h to op_api_def_nn.h Co-authored-by: chenqianyu<chenqianyu1@h-partners.com> # message auto-generated for no-merge-commit merge: !8360 merge rename_opapidef into master feat: rename op_api_def.h to op_api_def_nn.h Created-by: FishPotatoChen Commit-by: chenqianyu Merged-by: cann-robot Description: ## 描述 本次改动将 op_api/op_api_def.h 重命名为 op_api/op_api_def_nn.h,并同步更新了所有引用该头文件的源文件与测试文件中的 #include 路径,共涉及 161 个文件。 改动原因:将 op_api 定义头文件统一命名为 op_api_def_nn.h,以更好地体现其所属模块(NN 算子)的语义,便于后续与其他模块的头文件区分管理。 此外,在提交过程中发现 4 个文件(aclnn_foreach_addcmul_scalar_v2.cpp、aclnn_max_unpool3d.cpp、test_aclnn_addmv.cpp、test_aclnn_fast_batchnorm_backward.cpp)的许可证头使用了非标准的旧格式,导致 OAT 合规检查失败。本次一并将其更新为标准的 CANN 开源许可证头格式,确保通过合规校验。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4954 ## 测试 - 通过 pre-commit 钩子校验:trailing whitespace、end-of-file-fixer、clang-format 均通过 - 通过 OAT 合规检查(161 个文件全部通过) - 本次为头文件重命名改动,不涉及逻辑变更,编译依赖关系保持不变 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:头文件重命名与许可证头修复 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8360 | 16 天前 | |
fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !8943 merge q_work8 into master fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 CANN 9.0.0 中 ReduceType 枚举移至 AscendC::Reg 命名空间,arch35 算子文件中通过 using namespace AscendC 已无法将 ReduceType 引入当前作用域,导致编译时 ReduceType::SUM/ReduceType::MAX 无法解析。 本次改动将 arch35 目录下 62 个算子头文件中的 ReduceType::SUM(502 处)和 ReduceType::MAX(32 处)显式限定为 AscendC::Reg::ReduceType::SUM 和 AscendC::Reg::ReduceType::MAX,修复编译兼容性问题。 涉及的算子模块:activation、norm、loss、index、quant,均为 arch35 架构专用文件,不影响其他架构。 ## 关联的Issue #4937 ## 测试 在 CANN 9.0.0(ascend950)环境下对 62 个文件涉及的算子进行编译验证,全部编译通过。 ## 文档更新 无文档更新,本次为编译兼容性修复。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8943 | 16 天前 | |
docs: 修正 rmsnorm 系列算子 rstdOut shape 描述 Co-authored-by: liangyuhua<liangyuhua4@huawei.com> # message auto-generated for no-merge-commit merge: !9008 merge fix/rstdout-shape-doc into master docs: 修正 rmsnorm 系列算子 rstdOut shape 描述 Created-by: liangyuhua Commit-by: liangyuhua Merged-by: cann-robot Description: ## 描述 修正 rmsnorm 系列算子 rstdOut 输出的 shape 描述,补充"维度数需与输入保持一致、需要norm的维度均为1"的说明,并增加 shape 关系举例。 原描述仅提及"shape前几维保持一致",未说明维度数需一致及norm维度为1的要求,与 kernel infershape 实际逻辑不符,容易导致用户对 rstdOut shape 理解错误。 **涉及算子**(4 个文件): | 算子 | 输入参数 | gamma 维度约束 | |------|----------|---------------| | add_rms_norm_cast | x1 | 1-8 维 | | inplace_add_rms_norm | x1Ref | 1-8 维 | | add_rms_norm_dynamic_mx_quant | x1 | 1 维 | | rms_norm_dynamic_mx_quant | x | 1 维 | **修正前**(以 add_rms_norm_cast 为例): > shape与入参x1的shape前几维保持一致,前几维指x1的维度减去gamma的维度,表示不需要norm的维度。 **修正后**: > 维度数与入参x1保持一致,其中不需要norm的维度(x1的维度减去gamma的维度后的前几维)与x1对应维度保持一致,需要norm的维度(与gamma维度数相同的后几维)均为1。rstdOut shape与x1 shape、gamma shape关系举例:若x1 shape为(2,3,4,8),gamma shape为(8),则rstdOut shape为(2,3,4,1);若x1 shape为(2,3,4,8),gamma shape为(4,8),则rstdOut shape为(2,3,1,1)。 与 infershape 代码逻辑完全一致: cpp rstdShape->SetDimNum(xDimNum); for (size_t i = 0; i < xDimNum; i++) { if (i < xDimNum - gammaDimNum) { rstdShape->SetDim(i, x1Shape->GetDim(i)); // 不需要norm的维度 } else { rstdShape->SetDim(i, 1); // 需要norm的维度均为1 } } ## 关联的Issue #4974 ## 测试 本次变更仅涉及文档描述,无代码改动,无需测试。 ## 文档更新 - norm/add_rms_norm_cast/docs/aclnnAddRmsNormCast.md - norm/inplace_add_rms_norm/docs/aclnnInplaceAddRmsNorm.md - norm/add_rms_norm_dynamic_mx_quant/docs/aclnnAddRmsNormDynamicMxQuant.md - norm/rms_norm_dynamic_mx_quant/docs/aclnnRmsNormDynamicMxQuant.md ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9008 | 16 天前 | |
fix: torch ops cpp sources Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !8489 merge torch into master fix: torch ops cpp sources Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 本次PR主要修复了 Torch 算子 C++ 源码的路径管理问题,将原本按算子类别(如 activation、matmul、norm、quant)分目录存放的 .cpp 文件统一扁平化到 csrc/ 根目录。同时简化了 OpBuilder 基类,移除 category 参数及相关路径拼接逻辑,并增强了 JIT 编译阶段的错误诊断能力和构建过程中的文件清理机制。 主要改动 OpBuilder 基类重构:移除 __init__ 中的 category 参数,resolve_source 方法简化为直接返回 csrc/{cpp_filename},不再拼接子目录;各子类 sources() 方法统一改用 self.resolve_source("xxx.cpp") 替代原有的硬编码子目录路径。 load 方法增强:新增 ninja 可用性检查,若未安装则抛出明确的 RuntimeError;JIT 编译失败时提供包含常见原因(CANN toolkit 未 source、缺少编译器、缺少 ninja)的诊断信息。 setup.py 打包逻辑适配:_non_python_files 和 _collect_op 中 .cpp 文件的收集路径从 csrc/<category>/ 调整为 csrc/;BuildPyWithOps 新增对 csrc 子目录的处理,构建时清理不属于当前选中算子的残留 .cpp 文件。 install_requires 依赖调整:移除 torch>=2.6.0 和 torch_npu,新增 ninja 作为安装依赖。 ## 关联的Issue [#4690](https://gitcode.com/cann/ops-nn/issues/4690) ## 测试 本地编译构建,查看build目录下的目录层级 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8489 | 25 天前 | |
fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !8943 merge q_work8 into master fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 CANN 9.0.0 中 ReduceType 枚举移至 AscendC::Reg 命名空间,arch35 算子文件中通过 using namespace AscendC 已无法将 ReduceType 引入当前作用域,导致编译时 ReduceType::SUM/ReduceType::MAX 无法解析。 本次改动将 arch35 目录下 62 个算子头文件中的 ReduceType::SUM(502 处)和 ReduceType::MAX(32 处)显式限定为 AscendC::Reg::ReduceType::SUM 和 AscendC::Reg::ReduceType::MAX,修复编译兼容性问题。 涉及的算子模块:activation、norm、loss、index、quant,均为 arch35 架构专用文件,不影响其他架构。 ## 关联的Issue #4937 ## 测试 在 CANN 9.0.0(ascend950)环境下对 62 个文件涉及的算子进行编译验证,全部编译通过。 ## 文档更新 无文档更新,本次为编译兼容性修复。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8943 | 16 天前 | |
fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !8943 merge q_work8 into master fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 CANN 9.0.0 中 ReduceType 枚举移至 AscendC::Reg 命名空间,arch35 算子文件中通过 using namespace AscendC 已无法将 ReduceType 引入当前作用域,导致编译时 ReduceType::SUM/ReduceType::MAX 无法解析。 本次改动将 arch35 目录下 62 个算子头文件中的 ReduceType::SUM(502 处)和 ReduceType::MAX(32 处)显式限定为 AscendC::Reg::ReduceType::SUM 和 AscendC::Reg::ReduceType::MAX,修复编译兼容性问题。 涉及的算子模块:activation、norm、loss、index、quant,均为 arch35 架构专用文件,不影响其他架构。 ## 关联的Issue #4937 ## 测试 在 CANN 9.0.0(ascend950)环境下对 62 个文件涉及的算子进行编译验证,全部编译通过。 ## 文档更新 无文档更新,本次为编译兼容性修复。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8943 | 16 天前 | |
fix(log): 修复 rms_norm_quant/sync_batch_norm_backward_reduce 算子日志拼写、错误op名、格式符及语义问题 Co-authored-by: sun-yibo1<sunyibo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !8733 merge fix/norm-rms-sync-log-quality into master fix(log): 修复 rms_norm_quant/sync_batch_norm_backward_reduce 算子日志拼写、错误op名、格式符及语义问题 Created-by: sun-yibo1 Commit-by: sun-yibo1 Merged-by: cann-robot Description: ## 描述 本PR对 ops-nn 仓库中 rms_norm_quant / sync_batch_norm_backward_reduce 算子的日志消息进行质量修复,仅修改日志字符串,不涉及任何功能逻辑变更。 ### 改动原因 代码审计发现该系列算子日志存在拼写错误、错误op名引用、语义描述与实际检查不匹配等问题。 ### 改动方法 - aclnn_add_rms_norm_quant_v2.cpp:130 — 移除 "tensor's" 中多余撇号 → "tensor" - aclnn_rms_norm_quant.cpp:247 — "surport" → "support" - aclnn_rms_norm_quant.cpp:318 — 错误op名 "AclnnDynamicQuant" → "aclnnRmsNormQuant" - rms_norm_quant_v2_tiling_regbase_base.cpp:690 — "Set Output shape failed" → "The output shape is invalid"(校验检查而非设置操作) - aclnn_batch_norm_backward_reduce.cpp:351 — "less than 2" → "not equal to 2"(实际检查为 != 2) 注:rms_norm_quant_common_tiling.cpp 的修改已撤销,不在本PR范围内。 ## 关联的Issue #4815 ## 测试 本次修改仅涉及日志字符串,不影响算子功能逻辑,无需额外功能测试。 ## 文档更新 无文档更新。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8733 | 17 天前 | |
fix(log): 修复 rms_norm_quant/sync_batch_norm_backward_reduce 算子日志拼写、错误op名、格式符及语义问题 Co-authored-by: sun-yibo1<sunyibo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !8733 merge fix/norm-rms-sync-log-quality into master fix(log): 修复 rms_norm_quant/sync_batch_norm_backward_reduce 算子日志拼写、错误op名、格式符及语义问题 Created-by: sun-yibo1 Commit-by: sun-yibo1 Merged-by: cann-robot Description: ## 描述 本PR对 ops-nn 仓库中 rms_norm_quant / sync_batch_norm_backward_reduce 算子的日志消息进行质量修复,仅修改日志字符串,不涉及任何功能逻辑变更。 ### 改动原因 代码审计发现该系列算子日志存在拼写错误、错误op名引用、语义描述与实际检查不匹配等问题。 ### 改动方法 - aclnn_add_rms_norm_quant_v2.cpp:130 — 移除 "tensor's" 中多余撇号 → "tensor" - aclnn_rms_norm_quant.cpp:247 — "surport" → "support" - aclnn_rms_norm_quant.cpp:318 — 错误op名 "AclnnDynamicQuant" → "aclnnRmsNormQuant" - rms_norm_quant_v2_tiling_regbase_base.cpp:690 — "Set Output shape failed" → "The output shape is invalid"(校验检查而非设置操作) - aclnn_batch_norm_backward_reduce.cpp:351 — "less than 2" → "not equal to 2"(实际检查为 != 2) 注:rms_norm_quant_common_tiling.cpp 的修改已撤销,不在本PR范围内。 ## 关联的Issue #4815 ## 测试 本次修改仅涉及日志字符串,不影响算子功能逻辑,无需额外功能测试。 ## 文档更新 无文档更新。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8733 | 17 天前 | |
modified md files (update product labels) Co-authored-by: duhuiping<duhuiping@h-partners.com> # message auto-generated for no-merge-commit merge: !8256 merge master into master modified md files (update product labels) Created-by: gitee-duhuiping Commit-by: duhuiping Merged-by: cann-robot Description: ## 描述 Update product labels. ## 关联的Issue [#4574](https://gitcode.com/cann/ops-nn/issues/4574) ## 测试 Only involves updating the MD document description, does not involve testing. ## 文档更新 norm/group_norm_swish_grad/docs/aclnnGroupNormSwishGrad.md norm/rms_norm_quant_v3/docs/aclnnRmsNormQuantV3.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8256 | 1 个月前 | |
fix(geir-test): 修复 geir 测试日志级别与描述不一致(INFO→ERROR) Co-authored-by: sun-yibo1<sunyibo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !9003 merge fix-geir-test-log-level-mismatch into master fix(geir-test): 修复 geir 测试日志级别与描述不一致(INFO→ERROR) Created-by: sun-yibo1 Commit-by: sun-yibo1 Merged-by: cann-robot Description: ## 描述 修复 14 个算子 geir 测试文件中日志级别与描述不一致的问题:3 类失败消息被误标记为 INFO,而同文件内其他失败消息均正确标记为 ERROR,构成内部不一致。本次将这 3 类失败消息的日志级别从 INFO 改为 ERROR。 ### 改动原因 geir 测试文件统一使用 printf("%s - LEVEL - [XIR]: message") 格式输出日志。在以下 3 类失败分支中,消息内容明确表示失败,但日志级别却写成 INFO,与同文件内其他失败消息(如 Generate input data failed、Create ir session using build options failed、Session add ir compute graph failed、Output verification FAILED,均标记为 ERROR)不一致,会误导日志排查: - Initialize ge using ge global options failed - Run graph failed - Finalize ir graph session failed ### 改动方法 仅将上述 3 类失败消息的日志级别标签 - INFO - 改为 - ERROR -,不修改任何测试逻辑、消息文本或参数。 ### 涉及文件(每个 3 处,共 42 处,14 文件 +42 -42) - activation/log_softmax_v2 - activation/confusion_softmax_grad - index/broadcast_gradient_args - norm/add_layer_norm_quant - norm/add_rms_norm_dynamic_quant_v2 - norm/batch_norm - norm/group_norm_v2 - norm/instance_norm - norm/layer_norm - norm/layer_norm_v3 - norm/sync_batch_norm_backward_elemt - norm/sync_batch_norm_backward_reduce - norm/sync_batch_norm_gather_stats - norm/sync_bn_training_update ## 关联的Issue - #4973 ## 测试 - 仅日志级别字符串修改,无逻辑变更,不影响测试编译与运行结果。 - 通过 git diff 逐项核对:仅 - INFO - → - ERROR -,消息文本与参数不变。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9003 | 16 天前 | |
fix(geir-test): 修复 geir 测试日志级别与描述不一致(INFO→ERROR) Co-authored-by: sun-yibo1<sunyibo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !9003 merge fix-geir-test-log-level-mismatch into master fix(geir-test): 修复 geir 测试日志级别与描述不一致(INFO→ERROR) Created-by: sun-yibo1 Commit-by: sun-yibo1 Merged-by: cann-robot Description: ## 描述 修复 14 个算子 geir 测试文件中日志级别与描述不一致的问题:3 类失败消息被误标记为 INFO,而同文件内其他失败消息均正确标记为 ERROR,构成内部不一致。本次将这 3 类失败消息的日志级别从 INFO 改为 ERROR。 ### 改动原因 geir 测试文件统一使用 printf("%s - LEVEL - [XIR]: message") 格式输出日志。在以下 3 类失败分支中,消息内容明确表示失败,但日志级别却写成 INFO,与同文件内其他失败消息(如 Generate input data failed、Create ir session using build options failed、Session add ir compute graph failed、Output verification FAILED,均标记为 ERROR)不一致,会误导日志排查: - Initialize ge using ge global options failed - Run graph failed - Finalize ir graph session failed ### 改动方法 仅将上述 3 类失败消息的日志级别标签 - INFO - 改为 - ERROR -,不修改任何测试逻辑、消息文本或参数。 ### 涉及文件(每个 3 处,共 42 处,14 文件 +42 -42) - activation/log_softmax_v2 - activation/confusion_softmax_grad - index/broadcast_gradient_args - norm/add_layer_norm_quant - norm/add_rms_norm_dynamic_quant_v2 - norm/batch_norm - norm/group_norm_v2 - norm/instance_norm - norm/layer_norm - norm/layer_norm_v3 - norm/sync_batch_norm_backward_elemt - norm/sync_batch_norm_backward_reduce - norm/sync_batch_norm_gather_stats - norm/sync_bn_training_update ## 关联的Issue - #4973 ## 测试 - 仅日志级别字符串修改,无逻辑变更,不影响测试编译与运行结果。 - 通过 git diff 逐项核对:仅 - INFO - → - ERROR -,消息文本与参数不变。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9003 | 16 天前 | |
fix(geir-test): 修复 geir 测试日志级别与描述不一致(INFO→ERROR) Co-authored-by: sun-yibo1<sunyibo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !9003 merge fix-geir-test-log-level-mismatch into master fix(geir-test): 修复 geir 测试日志级别与描述不一致(INFO→ERROR) Created-by: sun-yibo1 Commit-by: sun-yibo1 Merged-by: cann-robot Description: ## 描述 修复 14 个算子 geir 测试文件中日志级别与描述不一致的问题:3 类失败消息被误标记为 INFO,而同文件内其他失败消息均正确标记为 ERROR,构成内部不一致。本次将这 3 类失败消息的日志级别从 INFO 改为 ERROR。 ### 改动原因 geir 测试文件统一使用 printf("%s - LEVEL - [XIR]: message") 格式输出日志。在以下 3 类失败分支中,消息内容明确表示失败,但日志级别却写成 INFO,与同文件内其他失败消息(如 Generate input data failed、Create ir session using build options failed、Session add ir compute graph failed、Output verification FAILED,均标记为 ERROR)不一致,会误导日志排查: - Initialize ge using ge global options failed - Run graph failed - Finalize ir graph session failed ### 改动方法 仅将上述 3 类失败消息的日志级别标签 - INFO - 改为 - ERROR -,不修改任何测试逻辑、消息文本或参数。 ### 涉及文件(每个 3 处,共 42 处,14 文件 +42 -42) - activation/log_softmax_v2 - activation/confusion_softmax_grad - index/broadcast_gradient_args - norm/add_layer_norm_quant - norm/add_rms_norm_dynamic_quant_v2 - norm/batch_norm - norm/group_norm_v2 - norm/instance_norm - norm/layer_norm - norm/layer_norm_v3 - norm/sync_batch_norm_backward_elemt - norm/sync_batch_norm_backward_reduce - norm/sync_batch_norm_gather_stats - norm/sync_bn_training_update ## 关联的Issue - #4973 ## 测试 - 仅日志级别字符串修改,无逻辑变更,不影响测试编译与运行结果。 - 通过 git diff 逐项核对:仅 - INFO - → - ERROR -,消息文本与参数不变。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9003 | 16 天前 | |
modified md file(aclnn*.md and README.md) Co-authored-by: duhuiping<duhuiping@h-partners.com> # message auto-generated for no-merge-commit merge: !7119 merge master into master modified md file(aclnn*.md and README.md) Created-by: gitee-duhuiping Commit-by: duhuiping Merged-by: cann-robot Description: ## 描述 1. Updated the constraints on the C and group parameters in aclnnGroupNormBackward.md. 2. Updated the calculation formula and parameter types of the lp_norm_v2 operator, and updated the parameter description of aclnn. 3. Updated the case of parameter names in the README.md file of renorm. 4. Updated the calculation formula of sync_batch_norm_backward_elemt and added the constraints on the combination of data types in the README file. 5. Updated the attribute parameter types and default values in the README file of sync_batch_norm_backward_elemt. ## 关联的Issue [#3701](https://gitcode.com/cann/ops-nn/issues/3701) [#3702](https://gitcode.com/cann/ops-nn/issues/3702) [#3693](https://gitcode.com/cann/ops-nn/issues/3693) ## 测试 Only involves updating the MD document description, does not involve testing. ## 文档更新 docs/zh/op_list.md norm/group_norm_grad/docs/aclnnGroupNormBackward.md norm/lp_norm_v2/README.md norm/lp_norm_v2/docs/aclnnNorm.md norm/renorm/README.md norm/sync_batch_norm_backward_elemt/README.md norm/sync_batch_norm_backward_elemt/docs/aclnnBatchNormElemtBackward.md norm/sync_batch_norm_backward_elemt/docs/aclnnBatchNormElemtBackward.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7119 | 1 个月前 | |
feat: rename op_api_def.h to op_api_def_nn.h Co-authored-by: chenqianyu<chenqianyu1@h-partners.com> # message auto-generated for no-merge-commit merge: !8360 merge rename_opapidef into master feat: rename op_api_def.h to op_api_def_nn.h Created-by: FishPotatoChen Commit-by: chenqianyu Merged-by: cann-robot Description: ## 描述 本次改动将 op_api/op_api_def.h 重命名为 op_api/op_api_def_nn.h,并同步更新了所有引用该头文件的源文件与测试文件中的 #include 路径,共涉及 161 个文件。 改动原因:将 op_api 定义头文件统一命名为 op_api_def_nn.h,以更好地体现其所属模块(NN 算子)的语义,便于后续与其他模块的头文件区分管理。 此外,在提交过程中发现 4 个文件(aclnn_foreach_addcmul_scalar_v2.cpp、aclnn_max_unpool3d.cpp、test_aclnn_addmv.cpp、test_aclnn_fast_batchnorm_backward.cpp)的许可证头使用了非标准的旧格式,导致 OAT 合规检查失败。本次一并将其更新为标准的 CANN 开源许可证头格式,确保通过合规校验。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4954 ## 测试 - 通过 pre-commit 钩子校验:trailing whitespace、end-of-file-fixer、clang-format 均通过 - 通过 OAT 合规检查(161 个文件全部通过) - 本次为头文件重命名改动,不涉及逻辑变更,编译依赖关系保持不变 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:头文件重命名与许可证头修复 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8360 | 16 天前 | |
fix(geir-test): 修复 geir 测试日志级别与描述不一致(INFO→ERROR) Co-authored-by: sun-yibo1<sunyibo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !9003 merge fix-geir-test-log-level-mismatch into master fix(geir-test): 修复 geir 测试日志级别与描述不一致(INFO→ERROR) Created-by: sun-yibo1 Commit-by: sun-yibo1 Merged-by: cann-robot Description: ## 描述 修复 14 个算子 geir 测试文件中日志级别与描述不一致的问题:3 类失败消息被误标记为 INFO,而同文件内其他失败消息均正确标记为 ERROR,构成内部不一致。本次将这 3 类失败消息的日志级别从 INFO 改为 ERROR。 ### 改动原因 geir 测试文件统一使用 printf("%s - LEVEL - [XIR]: message") 格式输出日志。在以下 3 类失败分支中,消息内容明确表示失败,但日志级别却写成 INFO,与同文件内其他失败消息(如 Generate input data failed、Create ir session using build options failed、Session add ir compute graph failed、Output verification FAILED,均标记为 ERROR)不一致,会误导日志排查: - Initialize ge using ge global options failed - Run graph failed - Finalize ir graph session failed ### 改动方法 仅将上述 3 类失败消息的日志级别标签 - INFO - 改为 - ERROR -,不修改任何测试逻辑、消息文本或参数。 ### 涉及文件(每个 3 处,共 42 处,14 文件 +42 -42) - activation/log_softmax_v2 - activation/confusion_softmax_grad - index/broadcast_gradient_args - norm/add_layer_norm_quant - norm/add_rms_norm_dynamic_quant_v2 - norm/batch_norm - norm/group_norm_v2 - norm/instance_norm - norm/layer_norm - norm/layer_norm_v3 - norm/sync_batch_norm_backward_elemt - norm/sync_batch_norm_backward_reduce - norm/sync_batch_norm_gather_stats - norm/sync_bn_training_update ## 关联的Issue - #4973 ## 测试 - 仅日志级别字符串修改,无逻辑变更,不影响测试编译与运行结果。 - 通过 git diff 逐项核对:仅 - INFO - → - ERROR -,消息文本与参数不变。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9003 | 16 天前 | |
Format update: Adjusted the license description format in all relevant files. Co-authored-by: jiangqi<jiangqi47@h-partners.com> # message auto-generated for no-merge-commit merge: !365 merge license5 into master Format update: Adjusted the license description format in all relevant files. Created-by: jiangqi2025 Commit-by: jiangqi Merged-by: turing_project1 Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!365 | 8 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 16 天前 | ||
| 18 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 1 个月前 | ||
| 19 天前 | ||
| 20 天前 | ||
| 17 天前 | ||
| 2 个月前 | ||
| 26 天前 | ||
| 25 天前 | ||
| 2 个月前 | ||
| 18 天前 | ||
| 1 个月前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 16 天前 | ||
| 26 天前 | ||
| 19 天前 | ||
| 26 天前 | ||
| 17 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 20 天前 | ||
| 16 天前 | ||
| 20 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 1 个月前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 1 个月前 | ||
| 20 天前 | ||
| 16 天前 | ||
| 18 天前 | ||
| 26 天前 | ||
| 18 天前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 25 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 17 天前 | ||
| 17 天前 | ||
| 1 个月前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 1 个月前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 8 个月前 |