| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 10 天前 | |
下一代cumsum-diag_part-bias_add-reduce_var-reduce_std_v2算子功能支持 Co-authored-by: qq_57796320<zhushuqin1@huawei.com> # message auto-generated for no-merge-commit merge: !484 merge master into master 下一代cumsum-diag_part-bias_add-reduce_var-reduce_std_v2算子功能支持 Created-by: qq_57796320 Commit-by: qq_57796320 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!484 | 9 个月前 | |
refactor: 为公共op_api头文件增加math后缀 Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !5839 merge refactor/math-prefix-common-headers into master refactor: 为公共op_api头文件增加math后缀 Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 ops-math/common/inc/op_api 中的 level2_base.h、level2_base_caculation.h、op_api_def.h 名称缺少仓库标识。在软件包合并交付或公共 include 目录集成时,存在被其他仓库同名文件覆盖,或因 include 路径顺序产生误引用的风险。 本 MR 参考同目录已有的 op_resource_math.h 命名,为三个公共头文件增加 _math 后缀,并通过兼容转发头分阶段迁移现有引用。 ## 修改内容 - 新增 level2_base_math.h、level2_base_caculation_math.h、op_api_def_math.h,作为带仓库标识的正式实现; - 原 level2_base.h、level2_base_caculation.h、op_api_def.h 保留为轻量兼容转发头,避免未迁移代码立即失效; - 新头文件之间的内部依赖统一使用 _math 后缀路径; - 更新 classify_rule.yaml,让 level2_base_math.h 继承原组件及 UT 覆盖率分类; - 将 89 处旧头文件引用迁移到新名称: - level2_base.h:20 处; - level2_base_caculation.h:9 处; - op_api_def.h:60 处; - 当前 MR 共修改 81 个文件,新增 434 行、删除 384 行。 为减少无关格式变化和后续合并冲突,本次未迁移会触发额外 clang-format、尾部空白或 EOF 修复,或组合触发既有 UT 隔离问题的文件。这些文件将拆分到后续 MR 逐步处理。 ## 剩余迁移 当前仓内仍有 67 处旧引用,分布在 65 个唯一文件中,继续通过兼容转发头工作: - level2_base.h:24 个文件; - level2_base_caculation.h:2 个文件; - op_api_def.h:41 个文件。 待旧引用分批迁移完成后,再结合实际打包和安装规则移除兼容转发头。本 MR 不移除旧头文件,也不声明已完成最终软件包去重。 ## 关联的 Issue 关联并在合入后关闭 #3243: https://gitcode.com/cann/ops-math/issues/3243 ## 测试 已完成: - 对本轮新增的 69 个纯引用替换文件逐行检查,80 组增删均仅修改目标 include,无其他代码或格式变化; - 额外纳入 aclnn_log10.cpp 和 aclnn_logdet.cpp,每个文件最终均为 3 行新增、3 行删除,低于 10 行修改阈值;math/sin/op_api/aclnn_sin.cpp 因聚合 UT 存在平台状态泄漏暂缓迁移; - 在 CANN 9.0.0 容器执行完整 pre-commit,尾部空白、EOF、clang-format、codespell 和 OAT 等检查全部通过; - 在 CANN 9.0.0 容器执行 bash build.sh --opapi -j32,全量构建通过; - 成功生成 build/libopapi_math.so,SHA-256:abaa8f8408979d931a8dad09f8e06875722fc42bbdddc72aaf9f14944bc163ea; - classify_rule.yaml 可正常解析,三个旧文件继续作为兼容转发头使用。 ## 文档更新 不涉及用户文档变更。 ## 类型标签 - [ ] Bug 修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他:代码重构 See merge request: cann/ops-math!5839 | 17 天前 | |
reduce all Co-authored-by: lu-yukun<luyukun4@h-partners.com> # message auto-generated for no-merge-commit merge: !888 merge reduce_final into master reduce all Created-by: lu-yukun Commit-by: lu-yukun Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!888 | 8 个月前 | |
im2col、matrix_diag、roll、grouped_bias_add_grad、reduce_var、reduce_std_v2 六个算子新增 ascend960dt 平台支持 Co-authored-by: liaohuming<liaohuming@huawei.com> # message auto-generated for no-merge-commit merge: !5844 merge master into master im2col、matrix_diag、roll、grouped_bias_add_grad、reduce_var、reduce_std_v2 六个算子新增 ascend960dt 平台支持 Created-by: liaohuming Commit-by: liaohuming Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为 im2col、matrix_diag、roll、grouped_bias_add_grad、reduce_var、reduce_std_v2 六个算子新增 ascend960dt 平台支持,使其可在 ascend960dt(Ascend960DT_968B7)芯片上完成编译与调用。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3614 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5844 | 9 天前 | |
reduce_var perfomance++ Co-authored-by: liaohuming<liaohuming@huawei.com> # message auto-generated for no-merge-commit merge: !4232 merge master into master reduce_var perfomance++ Created-by: liaohuming Commit-by: liaohuming Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> reduce_var算子针对连续小尾轴场景性能劣化。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/2419 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4232 | 2 个月前 | |
补充 reduce_std_v2 op_api UT ascend950 平台用例 Co-authored-by: andong_hw<andong2@huawei.com> # message auto-generated for no-merge-commit merge: !4465 merge reduce_std_v2 into master 补充 reduce_std_v2 op_api UT ascend950 平台用例 Created-by: andong_hw Commit-by: andong_hw Merged-by: cann-robot Description: ## 关联 Issue Closes #2526 ## 背景 aclnn_std.cpp 覆盖率 88.54%,reduce_std_v2.cpp 覆盖率 0%。l0op::ReduceStdV2 只在 IsRegBase() 返回 true(NpuArch::DAV_3510)时被调用,现有 ascend950 用例未调用 SetPlatformNpuArch(NpuArch::DAV_3510),走了默认 DAV_2201 路径,未覆盖 RegBase 路径。 ## 修改内容 在 test_aclnn_std.cpp 的 ascend950 用例中添加 op::SetPlatformNpuArch(NpuArch::DAV_3510),并在用例末尾恢复为 DAV_2201(参考 test_aclnn_pow_tensor_scalar.cpp 做法)。 ## 验证 - 43 个用例全部通过 - aclnn_std.cpp 覆盖率从 88.54% 提升至 97.45%(157 行) - reduce_std_v2.cpp 覆盖率从 0% 提升至 92.31%(26 行) See merge request: cann/ops-math!4465 | 2 个月前 | |
im2col、matrix_diag、roll、grouped_bias_add_grad、reduce_var、reduce_std_v2 六个算子新增 ascend960dt 平台支持 Co-authored-by: liaohuming<liaohuming@huawei.com> # message auto-generated for no-merge-commit merge: !5844 merge master into master im2col、matrix_diag、roll、grouped_bias_add_grad、reduce_var、reduce_std_v2 六个算子新增 ascend960dt 平台支持 Created-by: liaohuming Commit-by: liaohuming Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为 im2col、matrix_diag、roll、grouped_bias_add_grad、reduce_var、reduce_std_v2 六个算子新增 ascend960dt 平台支持,使其可在 ascend960dt(Ascend960DT_968B7)芯片上完成编译与调用。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3614 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5844 | 9 天前 | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 1 个月前 |
ReduceStdV2
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR&950DT系列产品 | √ |
| Atlas A3系列产品 | √ |
| Atlas A2系列产品 | √ |
| Atlas 200I/500 A2推理产品 | × |
| Atlas推理系列产品 | √ |
| Atlas训练系列产品 | √ |
功能说明
-
算子功能:计算指定维度(dim)的标准差,这个dim可以是单个维度,维度列表或者None。
-
计算公式: 假设dim为 iii,则对该维度进行计算。NNN为该维度的shape。取 selfiself_{i}selfi,求出该维度上的平均值 xiˉ\bar{x_{i}}xiˉ。
out=1max(0,N−δN)∑j=0N−1(selfij−xiˉ)2out = \sqrt{\frac{1}{max(0, N - \delta N)}\sum_{j=0}^{N-1}(self_{ij}-\bar{x_{i}})^2} out=max(0,N−δN)1j=0∑N−1(selfij−xiˉ)2
当
keepdim = true时,reduce后保留该维度,且输出shape中该维度值为1;当keepdim = false时,不保留。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| self | 输入 | 待进行ReduceStdV2计算的输入Tensor,公式中的self。 | FLOAT、FLOAT16、BFLOAT16 | ND |
| dim | 输入 | 参与Reduce计算的维度,公式中的i。 | INT64 | ND |
| correction | 输入 | 修正值,公式中的delta。 | INT32 | ND |
| keepdim | 输入 | 是否在输出张量中保留输入张量的维度。 | BOOL | ND |
| out | 输出 | ReduceStdV2计算的出参,公式中的out。 | FLOAT、FLOAT16、BFLOAT16 | ND |
- Atlas训练系列产品、Atlas推理系列产品:不支持BFLOAT16。
约束说明
无
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用 | test_aclnn_std.cpp | 通过aclnnStd接口方式调用ReduceStdV2算子。 |