| Files | Last commit | Last update |
|---|---|---|
新增Ascend C实现的reduce_std_v2算子 Co-authored-by: tieyutong<tieyutong@huawei.com> # message auto-generated for no-merge-commit merge: !3126 merge upload-reduce-std-v2-20260604 into master 新增Ascend C实现的reduce_std_v2算子 Created-by: tieyutong Commit-by: tieyutong Merged-by: cann-robot Description: ## 描述 本 PR 新增 experimental/math/reduce_std_v2路径下ReduceStdV2算子的Ascend C实现与配套工程文件。 主要改动包括: - 新增 ReduceStdV2 L0 op_api、op_host、op_kernel、op_graph 相关文件。 - 支持 dim、correction、keepdim 参数校验与 shape 推导。 - 支持空 tensor、0 维 tensor、shapeProd <= correction 等特殊场景处理。 - 910B 系列通过 ReduceMean + Expand + ReduceStdWithMean + Cast + ViewCopy 组合路径实现。 - arch35 路径保留 ReduceStdV2 AICore kernel、tiling 与 ascend950 配置。 - 新增 op_host / op_api UT,覆盖参数校验、shape 推导和接口构图路径。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1837 ## 测试 已完成以下验证: 套件 用例数 结果 ━━━━━━━━━━━━━━━━━━━━━━━━━━ Accu_Generalization 2103 Pass ────────────────────────── Accu_RL 3 Pass ────────────────────────── Accu_pangu 3 Pass ────────────────────────── Special 103 Pass ────────────────────────── Abnormal 3 Pass,3 条均为预期错误匹配 ────────────────────────── Sanitizer_Generalization 180 Pass ────────────────────────── Perf_Generalization 6 Pass CI/工程验证: 项目 结果 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 环境检查 Pass ─────────────────────────── experimental package 编译 Pass ─────────────────────────── custom package 安装 Pass ─────────────────────────── op_host UT Pass,1 test ─────────────────────────── op_api UT Pass,43 tests ─────────────────────────── op_graph UT Pass,0 tests ─────────────────────────── NPU 示例运行 Pass ## 文档更新 已更新/新增以下文档: - experimental/math/reduce_std_v2/README.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3126 | 4 months ago | |
refactor: 迁移 experimental 公共头文件引用到 math 后缀 Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !6346 merge refactor/math-prefix-common-headers-1014 into master refactor: 迁移 experimental 公共头文件引用到 math 后缀 Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 继续将 ops-math 的公共 op_api 头文件引用迁移到带 _math 后缀的名称,减少多个算子仓库集成时同名头文件误引用的风险。 本次更新 36 个 experimental 文件中的 42 处引用: - level2_base.h → level2_base_math.h:14 处。 - level2_base_caculation.h → level2_base_caculation_math.h:4 处。 - op_api_def.h → op_api_def_math.h:24 处。 29 个文件附带仓库要求的 clang-format、空白或 EOF 调整,7 个文件仅替换 include;合计新增 418 行、删除 469 行。C++ token 对比在映射头文件名称并忽略注释、空白后保持一致。 现有兼容转发头及 classification 元数据保留;本批继续迁移源码引用,最终软件包的同名头文件冲突仍待后续处理。 ## 关联的Issue 延续公共头文件增加 math 后缀的分阶段迁移:[cann/ops-math#3243](https://gitcode.com/cann/ops-math/issues/3243)。 ## 测试 以下容器结果为该次 37 文件验证记录。 - git diff --check:通过,保留原有 CRLF 文件行尾。 - pre-commit:全部适用 hook 通过,包含 clang-format 18.1.8。 - 显式 OAT:完整扫描 37 文件,全部通过。 - 暂缓 Tile 后,仓库 scripts/ci/gen_ci_cmd.py 按实际 37 文件清单生成并执行 experimental op_api UT,指定 ascend910b:242 用例、24 个 suite 全部通过,未设置 GTEST_FILTER;包含 cross BF16 用例。 - 按实际 37 文件清单生成并执行 experimental --pkg 命令:142 条 kernel 编译任务通过,生产动态库链接及完整出包成功,退出码 0;产出 cann-ops-math-experimental_linux-aarch64.run(4,763,686 字节)。 ## 文档更新 不涉及用户文档更新。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:公共头文件引用重构及格式规范化。 See merge request: cann/ops-math!6346 | 27 days ago | |
新增Ascend C实现的reduce_std_v2算子 Co-authored-by: tieyutong<tieyutong@huawei.com> # message auto-generated for no-merge-commit merge: !3126 merge upload-reduce-std-v2-20260604 into master 新增Ascend C实现的reduce_std_v2算子 Created-by: tieyutong Commit-by: tieyutong Merged-by: cann-robot Description: ## 描述 本 PR 新增 experimental/math/reduce_std_v2路径下ReduceStdV2算子的Ascend C实现与配套工程文件。 主要改动包括: - 新增 ReduceStdV2 L0 op_api、op_host、op_kernel、op_graph 相关文件。 - 支持 dim、correction、keepdim 参数校验与 shape 推导。 - 支持空 tensor、0 维 tensor、shapeProd <= correction 等特殊场景处理。 - 910B 系列通过 ReduceMean + Expand + ReduceStdWithMean + Cast + ViewCopy 组合路径实现。 - arch35 路径保留 ReduceStdV2 AICore kernel、tiling 与 ascend950 配置。 - 新增 op_host / op_api UT,覆盖参数校验、shape 推导和接口构图路径。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1837 ## 测试 已完成以下验证: 套件 用例数 结果 ━━━━━━━━━━━━━━━━━━━━━━━━━━ Accu_Generalization 2103 Pass ────────────────────────── Accu_RL 3 Pass ────────────────────────── Accu_pangu 3 Pass ────────────────────────── Special 103 Pass ────────────────────────── Abnormal 3 Pass,3 条均为预期错误匹配 ────────────────────────── Sanitizer_Generalization 180 Pass ────────────────────────── Perf_Generalization 6 Pass CI/工程验证: 项目 结果 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 环境检查 Pass ─────────────────────────── experimental package 编译 Pass ─────────────────────────── custom package 安装 Pass ─────────────────────────── op_host UT Pass,1 test ─────────────────────────── op_api UT Pass,43 tests ─────────────────────────── op_graph UT Pass,0 tests ─────────────────────────── NPU 示例运行 Pass ## 文档更新 已更新/新增以下文档: - experimental/math/reduce_std_v2/README.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3126 | 4 months ago | |
新增Ascend C实现的reduce_std_v2算子 Co-authored-by: tieyutong<tieyutong@huawei.com> # message auto-generated for no-merge-commit merge: !3126 merge upload-reduce-std-v2-20260604 into master 新增Ascend C实现的reduce_std_v2算子 Created-by: tieyutong Commit-by: tieyutong Merged-by: cann-robot Description: ## 描述 本 PR 新增 experimental/math/reduce_std_v2路径下ReduceStdV2算子的Ascend C实现与配套工程文件。 主要改动包括: - 新增 ReduceStdV2 L0 op_api、op_host、op_kernel、op_graph 相关文件。 - 支持 dim、correction、keepdim 参数校验与 shape 推导。 - 支持空 tensor、0 维 tensor、shapeProd <= correction 等特殊场景处理。 - 910B 系列通过 ReduceMean + Expand + ReduceStdWithMean + Cast + ViewCopy 组合路径实现。 - arch35 路径保留 ReduceStdV2 AICore kernel、tiling 与 ascend950 配置。 - 新增 op_host / op_api UT,覆盖参数校验、shape 推导和接口构图路径。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1837 ## 测试 已完成以下验证: 套件 用例数 结果 ━━━━━━━━━━━━━━━━━━━━━━━━━━ Accu_Generalization 2103 Pass ────────────────────────── Accu_RL 3 Pass ────────────────────────── Accu_pangu 3 Pass ────────────────────────── Special 103 Pass ────────────────────────── Abnormal 3 Pass,3 条均为预期错误匹配 ────────────────────────── Sanitizer_Generalization 180 Pass ────────────────────────── Perf_Generalization 6 Pass CI/工程验证: 项目 结果 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 环境检查 Pass ─────────────────────────── experimental package 编译 Pass ─────────────────────────── custom package 安装 Pass ─────────────────────────── op_host UT Pass,1 test ─────────────────────────── op_api UT Pass,43 tests ─────────────────────────── op_graph UT Pass,0 tests ─────────────────────────── NPU 示例运行 Pass ## 文档更新 已更新/新增以下文档: - experimental/math/reduce_std_v2/README.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3126 | 4 months ago | |
新增Ascend C实现的reduce_std_v2算子 Co-authored-by: tieyutong<tieyutong@huawei.com> # message auto-generated for no-merge-commit merge: !3126 merge upload-reduce-std-v2-20260604 into master 新增Ascend C实现的reduce_std_v2算子 Created-by: tieyutong Commit-by: tieyutong Merged-by: cann-robot Description: ## 描述 本 PR 新增 experimental/math/reduce_std_v2路径下ReduceStdV2算子的Ascend C实现与配套工程文件。 主要改动包括: - 新增 ReduceStdV2 L0 op_api、op_host、op_kernel、op_graph 相关文件。 - 支持 dim、correction、keepdim 参数校验与 shape 推导。 - 支持空 tensor、0 维 tensor、shapeProd <= correction 等特殊场景处理。 - 910B 系列通过 ReduceMean + Expand + ReduceStdWithMean + Cast + ViewCopy 组合路径实现。 - arch35 路径保留 ReduceStdV2 AICore kernel、tiling 与 ascend950 配置。 - 新增 op_host / op_api UT,覆盖参数校验、shape 推导和接口构图路径。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1837 ## 测试 已完成以下验证: 套件 用例数 结果 ━━━━━━━━━━━━━━━━━━━━━━━━━━ Accu_Generalization 2103 Pass ────────────────────────── Accu_RL 3 Pass ────────────────────────── Accu_pangu 3 Pass ────────────────────────── Special 103 Pass ────────────────────────── Abnormal 3 Pass,3 条均为预期错误匹配 ────────────────────────── Sanitizer_Generalization 180 Pass ────────────────────────── Perf_Generalization 6 Pass CI/工程验证: 项目 结果 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 环境检查 Pass ─────────────────────────── experimental package 编译 Pass ─────────────────────────── custom package 安装 Pass ─────────────────────────── op_host UT Pass,1 test ─────────────────────────── op_api UT Pass,43 tests ─────────────────────────── op_graph UT Pass,0 tests ─────────────────────────── NPU 示例运行 Pass ## 文档更新 已更新/新增以下文档: - experimental/math/reduce_std_v2/README.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3126 | 4 months ago | |
新增Ascend C实现的reduce_std_v2算子 Co-authored-by: tieyutong<tieyutong@huawei.com> # message auto-generated for no-merge-commit merge: !3126 merge upload-reduce-std-v2-20260604 into master 新增Ascend C实现的reduce_std_v2算子 Created-by: tieyutong Commit-by: tieyutong Merged-by: cann-robot Description: ## 描述 本 PR 新增 experimental/math/reduce_std_v2路径下ReduceStdV2算子的Ascend C实现与配套工程文件。 主要改动包括: - 新增 ReduceStdV2 L0 op_api、op_host、op_kernel、op_graph 相关文件。 - 支持 dim、correction、keepdim 参数校验与 shape 推导。 - 支持空 tensor、0 维 tensor、shapeProd <= correction 等特殊场景处理。 - 910B 系列通过 ReduceMean + Expand + ReduceStdWithMean + Cast + ViewCopy 组合路径实现。 - arch35 路径保留 ReduceStdV2 AICore kernel、tiling 与 ascend950 配置。 - 新增 op_host / op_api UT,覆盖参数校验、shape 推导和接口构图路径。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1837 ## 测试 已完成以下验证: 套件 用例数 结果 ━━━━━━━━━━━━━━━━━━━━━━━━━━ Accu_Generalization 2103 Pass ────────────────────────── Accu_RL 3 Pass ────────────────────────── Accu_pangu 3 Pass ────────────────────────── Special 103 Pass ────────────────────────── Abnormal 3 Pass,3 条均为预期错误匹配 ────────────────────────── Sanitizer_Generalization 180 Pass ────────────────────────── Perf_Generalization 6 Pass CI/工程验证: 项目 结果 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 环境检查 Pass ─────────────────────────── experimental package 编译 Pass ─────────────────────────── custom package 安装 Pass ─────────────────────────── op_host UT Pass,1 test ─────────────────────────── op_api UT Pass,43 tests ─────────────────────────── op_graph UT Pass,0 tests ─────────────────────────── NPU 示例运行 Pass ## 文档更新 已更新/新增以下文档: - experimental/math/reduce_std_v2/README.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3126 | 4 months ago | |
experimental算子目录与代码中误用的arch32统一改为arch22 Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !4885 merge arch32-fix-exp into master experimental算子目录与代码中误用的arch32统一改为arch22 Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 将experimental下误用arch32的算子目录、文件名及代码引用统一修正为 arch22 ## 关联的Issue Issue #2749 ## 测试 - 算子编译及ut通过 - rg检索arch32(含Arch32/ARCH32)无残留 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 See merge request: cann/ops-math!4885 | 2 months ago | |
产品名变更 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 month ago |
ReduceStdV2
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR&950DT系列产品 | √ |
| Atlas A3系列产品 | √ |
| Atlas A2系列产品 | √ |
| Atlas 200I/500 A2推理产品 | × |
| Atlas推理系列产品 | √ |
| Atlas训练系列产品 | √ |
功能说明
-
算子功能:计算指定维度(dim)的标准差和均值,这个dim可以是单个维度、维度列表或者None。
-
计算公式: 假设 dim 为 iii,则对该维度进行计算。NNN为该维度的 shape。取 xix_{i}xi,求出该维度上的平均值 xiˉ\bar{x_{i}}xiˉ。
std=1max(0,N−δN)∑j=0N−1(xij−xiˉ)2std = \sqrt{\frac{1}{max(0, N - \delta N)}\sum_{j=0}^{N-1}(x_{ij}-\bar{x_{i}})^2} std=max(0,N−δN)1j=0∑N−1(xij−xiˉ)2
当
keepdim = true时,reduce 后保留该维度,且输出 shape 中该维度值为 1;当keepdim = false时,不保留。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x | 输入 | 待进行ReduceStdV2计算的输入Tensor,公式中的x。 | FLOAT、FLOAT16、BFLOAT16 | ND |
| dim | 属性 | 参与Reduce计算的维度,公式中的i。默认值为空列表,表示对所有维度做Reduce。 | LIST_INT | - |
| correction | 属性 | 修正值,公式中的delta。 | INT64 | - |
| keepdim | 属性 | 是否在输出张量中保留输入张量的维度。 | BOOL | - |
| is_mean_out | 属性 | 是否输出均值。true表示输出mean,false表示不输出mean。 | BOOL | - |
| std | 输出 | ReduceStdV2计算的标准差出参,公式中的std。 | FLOAT、FLOAT16、BFLOAT16 | ND |
| mean | 输出 | ReduceStdV2计算的均值出参,公式中的平均值。 | FLOAT、FLOAT16、BFLOAT16 | ND |
- Atlas训练系列产品、Atlas推理系列产品:不支持BFLOAT16。
约束说明
dim中的每个维度值必须在[-rank(x), rank(x))范围内,支持负数维度;同一维度归一化后不能重复。- 当
dim为空列表时,对x的所有维度进行Reduce。 std和mean的shape由dim和keepdim推导:keepdim = true时保留被Reduce维度且维度值为1,keepdim = false时删除被Reduce维度。- aclnnStd接口中
out的shape必须与dim和keepdim推导结果一致。 - aclnnStd接口中
x和out的数据类型均需在支持列表内,且x的数据类型需支持转换为out的数据类型;ReduceStdV2图算子的std、mean与x支持相同的数据类型范围。 - 空Tensor场景返回NaN;当被Reduce维度的元素数
shapeProd为1且shapeProd <= correction时返回NaN;当correction > 1且shapeProd <= correction时返回Inf。
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用 | test_aclnn_std.cpp | 通过aclnnStd接口方式调用ReduceStdV2算子。 |