| Modify the scan problem by the tool. Co-authored-by: zhouwenfang<zhouwenfang3@h-partners.com> # message auto-generated for no-merge-commit merge: !7708 merge 9.1.0 into 9.1.0 Modify the scan problem by the tool. Created-by: zhouwenfang Commit-by: zhouwenfang Merged-by: cann-robot Description: ## 描述 Modify the scan problem by the tool. ## 关联的Issue https://gitcode.com/zhouwenfang/ops-nn/issues/2 ## 测试 NA ## 文档更新 aclnn.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7708 | 1 个月前 |
| softmaxGrad算子开源 Co-authored-by: chensi888<chensi79@huawei.com> # message auto-generated for no-merge-commit merge: !763 merge master into master softmaxGrad算子开源 Created-by: chensi79 Commit-by: chensi888 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!763 | 6 个月前 |
| LogSoftmaxV2/LogSoftmaxGrad/SoftmaxGrad/SoftmaxV2/BatchNormGrad/BatchNormGradV3/LpNormV2算子支持下一代芯片 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !1010 merge nn_ops_fix_3 into master LogSoftmaxV2/LogSoftmaxGrad/SoftmaxGrad/SoftmaxV2/BatchNormGrad/BatchNormGradV3/LpNormV2算子支持下一代芯片 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 LogSoftmaxV2/LogSoftmaxGrad/SoftmaxGrad/SoftmaxV2/BatchNormGrad/BatchNormGradV3/LpNormV2算子支持下一代芯片 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1010 | 6 个月前 |
| Arch编码更新 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !1116 merge ut_test into master Arch编码更新 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 Arch编码更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1116 | 6 个月前 |
| fix: softmax_grad 二分累加替换为高阶API ReduceSum 解决精度问题 Co-authored-by: 朱子贤<zhuzixian1@h-partners.com> # message auto-generated for no-merge-commit merge: !5348 merge softmaxgrad into master fix: softmax_grad 二分累加替换为高阶API ReduceSum 解决精度问题 Created-by: zhuzixian-lr Commit-by: 朱子贤 Merged-by: cann-robot Description: ## 描述 将 softmax_grad 算子中手写的二分累加(LastReduceSum/LastReduceSumSmallR)替换为高阶API AscendC::ReduceSum<float, AscendC::Pattern::Reduce::AR, true>,解决当归约长度超过16384时的精度问题。 ### 改动原因 手写的二分累加实现 LastReduceSum 采用逐级折叠方式计算归约求和,其最大支持长度为 16384(2^14)。当 softmax_grad 的归约维度长度超过此限制时,累加结果出现精度偏差,导致算子输出不准确。 ### 改动方法 1. **kernel 层**:删除 LastReduceSum 和 LastReduceSumSmallR 两个手写二分累加函数,改用 AscendC::ReduceSum<float, AscendC::Pattern::Reduce::AR, true> 高阶API 实现归约求和 2. **kernel 层**:移除 reduceSumTempTensor_ 临时缓冲区及 AR_RECOMPUTE_BINARY_TMP_BTYES 常量(高阶API不再需要额外中间缓冲) 3. **tiling 层**:从 UB 可用空间计算中移除 AR_RECOMPUTE_BINARY_TMP_BTYES,释放更多 UB 空间供计算使用 ## 关联的Issue - #2938 ## 测试 - 验证归约长度 ≤ 16384 时精度不变 - 验证归约长度 > 16384 时精度满足要求 - 验证不同 dtype(FP16/FP32/BF16)下的计算结果正确性 ## 文档更新 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5348 | 2 个月前 |
| perf: softmax_grad算子FMA指令融合优化 Co-authored-by: Developer<zhuzixian1@h-partners.com> # message auto-generated for no-merge-commit merge: !7040 merge softgrad_fma_910 into 9.1.0 perf: softmax_grad算子FMA指令融合优化 Created-by: zhuzixian-lr Commit-by: Developer Merged-by: cann-robot Description: ## 描述 > 本 PR 将 master 分支的 #6183 同步到 9.1.0 分支。 对 softmax_grad 算子的 arch35 实现进行 FMA 指令融合优化,主要改动: 1. **FMA 指令替换**:将 Mul + Sub 指令序列替换为 Neg + MulAddDst 融合指令模式 - 原实现:reg1 = x0 * x1; reg0 = x0 * sum; reg1 = reg1 - reg0(Mul + Mul + Sub) - 优化后:reg1 = x0 * x1; Neg(reg0, x0); MulAddDst(reg1, reg0, sum)(Mul + Neg + MulAddDst) 2. **输出寄存器修正**:由于 MulAddDst 的结果写入 reg1/x1Reg,同步更新后续 Store/Cast/DataCopy 操作的源寄存器引用 涉及文件: - softmax_grad_ar_full_load.h:AR full load 路径,包含 pMask 和 pFull 两种 mask 场景的 FMA 替换 - softmax_grad_ar_recompute.h:AR recompute 路径的 FMA 替换和输出寄存器修正 - softmax_grad_ar_small_r.h:Small R 路径的 FMA 替换,含 fp16/bf16 Cast 输出修正 - softmax_grad_ara_full_load.h:ARA full load 路径的 FMA 替换,含 fp16/bf16 Cast 输出修正 - softmax_grad_ara_recompute.h:ARA recompute 路径的 FMA 替换,含 fp16/bf16 Cast 输出修正 ## 关联的Issue - #3478(master 分支 PR #6183) - #3703(9.1.0 分支) ## 测试 通过 ST 测试验证精度和性能 ## 文档更新 无文档更新 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!7040 | 1 个月前 |
| 整改st目录下的atk用例统一目录格式 Co-authored-by: yue-ma<mayue54@huawei.com> # message auto-generated for no-merge-commit merge: !4782 merge master into master 整改st目录下的atk用例统一目录格式 Created-by: yue-ma Commit-by: yue-ma Merged-by: cann-robot Description: ## 描述 整改st目录下的atk用例统一目录格式 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2671 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:st用例目录整改 See merge request: cann/ops-nn!4782 | 3 个月前 |
| Arch编码更新 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !1116 merge ut_test into master Arch编码更新 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 Arch编码更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1116 | 6 个月前 |
| Modifying the Chips Supported by an Operator Co-authored-by: zhouwenfang<zhouwenfang3@h-partners.com> # message auto-generated for no-merge-commit merge: !6364 merge 9.1.0 into 9.1.0 Modifying the Chips Supported by an Operator Created-by: zhouwenfang Commit-by: zhouwenfang Merged-by: cann-robot Description: ## 描述 Modifying the Chips Supported by an Operator ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/3483 ## 测试 NA ## 文档更新 具体请见issue ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6364 | 1 个月前 |