| master翻译合入 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !6751 merge master into master master翻译合入 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 合入math仓翻译的内容 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/4170 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 docs/context,aclnn等商发文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6751 | 13 days ago |
| ArgMaxV2示例改用C++ RAII资源管理,与IsFinite/IsInf示例风格对齐 Co-authored-by: zhouqilong<zhouqilong2@huawei.com> # message auto-generated for no-merge-commit merge: !4648 merge raii-arg_max_v2 into master ArgMaxV2示例改用C++ RAII资源管理,与IsFinite/IsInf示例风格对齐 Created-by: zhou-qilong Commit-by: zhouqilong Merged-by: cann-robot Description: ## 描述 将 math/arg_max_v2/examples 下的 aclnn 示例由手动资源管理改为 C++ RAII 管理,与同仓 math/is_finite、math/is_inf 示例风格保持一致。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2643 ## 测试 未在 Ascend 环境实际编译运行;改动结构与已合并的 is_inf(PR #4531)一致。 ## 文档更新 无。 ## 类型标签 - [x] 其他,请描述:示例代码改造(C++ RAII资源管理) See merge request: cann/ops-math!4648 | 2 months ago |
| 迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 Co-authored-by: Dazhou_Cao<caodazhou@huawei.com> Co-authored-by: gcw_2mqml1vq<guoguanghai@huawei.com> # message auto-generated for no-merge-commit merge: !6237 merge merge-pr-5595-5610-5757 into master 迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 Created-by: gcw_2mqml1vq Commit-by: gcw_2mqml1vq;Dazhou_Cao Merged-by: cann-robot Description: ## 描述 迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6237 | 20 days ago |
| fix: E*9****内部错误码整改为正式语义码并保留内部异常EZ9999上报 Co-authored-by: chenyifeng<chenyifeng27@h-partners.com> # message auto-generated for no-merge-commit merge: !6606 merge fix_errorNum_1021 into master fix: E*9****内部错误码整改为正式语义码并保留内部异常EZ9999上报 Created-by: chen_0715 Commit-by: chenyifeng Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次 PR 整改以下 43 个算子中非法使用的内部错误码(E*9****),使其符合错误码使用规范: - cholesky / complex / cross / cummax / cummin / cumprod / get_shape / histogram_v2 / is_finite / is_inf - kl_div_v2 / lin_space / log_add_exp / non_finite_check / pdist / polar / pows / radix_top_k - reduce_log_sum / reduce_log_sum_exp / reduce_max / reduce_mean / reduce_mean_with_count / reduce_min - reduce_nansum / reduce_std_with_mean / rfft1_d / search_sorted / signbit / sin / sinc / sinkhorn / topk - affine_grid / amp_update_scale / angle_v2 / arg_max_v2 / arg_min / arg_min_with_value / atan2 / bessel_i1e / cdist_grad - conversion/tril 改动原因:上述算子 op_host / op_api / op_graph 源码中存在裸 OP_LOGE (EZ9999 兜底上报)、 OP_CHECK_NULL_WITH_CONTEXT / OP_CHECK_NOTNULL (EZ9999 上报)等不符合错误码使用规范的上报路径,需按失败原因分类整改为正式语义码或内部透传。 采取的方法: - op_host 参数/输入校验类(shape / dtype / format / attr 值域等)裸 OP_LOGE → 正式语义宏(EZ0004 / EZ0008–EZ0038) - op_host 内部 API 失败类(平台能力查询、tiling API 失败等)→ OP_LOGE_WITHOUT_REPORT 透传,去掉 EZ9999 上报、保留日志 - OP_CHECK_NULL_WITH_CONTEXT (EZ9999)→ 显式空指针检查 + 正式码宏 - op_api OP_CHECK_NOTNULL (EZ9999)→ 显式检查 + OP_LOGE_WITHOUT_REPORT(ACLNN_ERR_INNER_NULLPTR) + 返回公共错误码 - op_api OP_LOGE(ACLNN_ERR_INNER_* / RUNTIME_ERROR) (561xxx / 361xxx)→ OP_LOGE_WITHOUT_REPORT ;正式参数码 ACLNN_ERR_PARAM_* (161xxx)保留 - 删除 CREATE_EXECUTOR 之后不可达的空指针死检查( CHECK_RET(executor.get()!=nullptr, ACLNN_ERR_INNER_CREATE_EXECUTOR) ,40 处) - op_graph(histogram_v2 / reduce_mean 融合 pass)E9 上报 → 正式码或透传 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3977 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 43 算子 op_host / op_api / op_graph 全量编译通过,exit 0(910b + 950/arch35) - 本地增加ut测试130 用例全量通过(910b 83 + 950 47),日志级验证触发 78 次正式 EZ 错误码上报,覆盖 14 个正式错误码 - 原版 math_op_host_ut 300 用例全量通过,无回归 - 静态复扫:范围内 E*9**** 正式上报清零(残留均为 CHECK_RET 返回公共码 / 动态 return 等允许项) - 附:适配 CANN 9.3.0 atvoss 库 tiling key 编码变化,更新 reduce_max / reduce_mean_with_count 测试的 9 处 expectedTilingKey (官方 master 在 9.3.0 下同样失败,非本 PR 引入) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6606 | 14 days ago |
| fix: E*9****内部错误码整改为正式语义码并保留内部异常EZ9999上报 Co-authored-by: chenyifeng<chenyifeng27@h-partners.com> # message auto-generated for no-merge-commit merge: !6606 merge fix_errorNum_1021 into master fix: E*9****内部错误码整改为正式语义码并保留内部异常EZ9999上报 Created-by: chen_0715 Commit-by: chenyifeng Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次 PR 整改以下 43 个算子中非法使用的内部错误码(E*9****),使其符合错误码使用规范: - cholesky / complex / cross / cummax / cummin / cumprod / get_shape / histogram_v2 / is_finite / is_inf - kl_div_v2 / lin_space / log_add_exp / non_finite_check / pdist / polar / pows / radix_top_k - reduce_log_sum / reduce_log_sum_exp / reduce_max / reduce_mean / reduce_mean_with_count / reduce_min - reduce_nansum / reduce_std_with_mean / rfft1_d / search_sorted / signbit / sin / sinc / sinkhorn / topk - affine_grid / amp_update_scale / angle_v2 / arg_max_v2 / arg_min / arg_min_with_value / atan2 / bessel_i1e / cdist_grad - conversion/tril 改动原因:上述算子 op_host / op_api / op_graph 源码中存在裸 OP_LOGE (EZ9999 兜底上报)、 OP_CHECK_NULL_WITH_CONTEXT / OP_CHECK_NOTNULL (EZ9999 上报)等不符合错误码使用规范的上报路径,需按失败原因分类整改为正式语义码或内部透传。 采取的方法: - op_host 参数/输入校验类(shape / dtype / format / attr 值域等)裸 OP_LOGE → 正式语义宏(EZ0004 / EZ0008–EZ0038) - op_host 内部 API 失败类(平台能力查询、tiling API 失败等)→ OP_LOGE_WITHOUT_REPORT 透传,去掉 EZ9999 上报、保留日志 - OP_CHECK_NULL_WITH_CONTEXT (EZ9999)→ 显式空指针检查 + 正式码宏 - op_api OP_CHECK_NOTNULL (EZ9999)→ 显式检查 + OP_LOGE_WITHOUT_REPORT(ACLNN_ERR_INNER_NULLPTR) + 返回公共错误码 - op_api OP_LOGE(ACLNN_ERR_INNER_* / RUNTIME_ERROR) (561xxx / 361xxx)→ OP_LOGE_WITHOUT_REPORT ;正式参数码 ACLNN_ERR_PARAM_* (161xxx)保留 - 删除 CREATE_EXECUTOR 之后不可达的空指针死检查( CHECK_RET(executor.get()!=nullptr, ACLNN_ERR_INNER_CREATE_EXECUTOR) ,40 处) - op_graph(histogram_v2 / reduce_mean 融合 pass)E9 上报 → 正式码或透传 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3977 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 43 算子 op_host / op_api / op_graph 全量编译通过,exit 0(910b + 950/arch35) - 本地增加ut测试130 用例全量通过(910b 83 + 950 47),日志级验证触发 78 次正式 EZ 错误码上报,覆盖 14 个正式错误码 - 原版 math_op_host_ut 300 用例全量通过,无回归 - 静态复扫:范围内 E*9**** 正式上报清零(残留均为 CHECK_RET 返回公共码 / 动态 return 等允许项) - 附:适配 CANN 9.3.0 atvoss 库 tiling key 编码变化,更新 reduce_max / reduce_mean_with_count 测试的 9 处 expectedTilingKey (官方 master 在 9.3.0 下同样失败,非本 PR 引入) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6606 | 14 days ago |
| feat: arg_max_v2/arg_max_with_value/arg_min/arg_min_with_value 适配 ascend960dt Co-authored-by: jzj007<jiangzhijie9@huawei.com> # message auto-generated for no-merge-commit merge: !5787 merge v121 into master feat: arg_max_v2/arg_max_with_value/arg_min/arg_min_with_value 适配 ascend960dt Created-by: jzj007 Commit-by: jzj007 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为 diag、arg_max_v2、arg_max_with_value、arg_min、arg_min_with_value 五个算子新增 ascend960dt 芯片平台适配,使其可在 ascend960dt(arch35)上完成算子定义注册、tiling 编译与二进制 kernel 配置生成。 ### 改动原因 算子 v121 分支合入主线,并为上述 5 个算子补齐 ascend960dt 平台支持。 ### 改动方法 1. 各算子 CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 新增 ascend960dt,SUPPORT_TILING_DIR 对应追加 arch35,复用 arch35 tiling 实现。 2. 各算子 op_host/*_def.cpp 增加 this->AICore().AddConfig("ascend960dt", aicore_config),完成 AICore 配置注册。 3. 新增 op_host/config/ascend960dt/ 目录,包含 {op}_binary.json(二进制 kernel 配置)与 {op}_simplified_key.ini(simplified_key_mode 配置,default=0)。 4. scripts/kernel/binary_config/ascendc_config.json 为 Diag/ArgMaxWithValue/ArgMaxV2/ArgMinWithValue/ArgMin 增加 ascend960dt compute_units,并配置编译选项 -mllvm -cce-aicore-dcci-before-kernel-end=false。 5. math/arg_min/framework/argmin_onnx_plugin.cpp 的 IsRegBasePlatform() 将 NpuArch::DAV_9201 加入 regbase 架构集合。 ### 变更文件 - conversion/diag:CMakeLists.txt、op_host/diag_def.cpp、新增 config/ascend960dt/{diag_binary.json, diag_simplified_key.ini} - math/arg_max_v2:CMakeLists.txt、op_host/arg_max_v2_def.cpp、新增 config/ascend960dt/{arg_max_v2_binary.json, arg_max_v2_simplified_key.ini} - math/arg_max_with_value:CMakeLists.txt、op_host/arg_max_with_value_def.cpp、新增 config/ascend960dt/{arg_max_with_value_binary.json, arg_max_with_value_simplified_key.ini} - math/arg_min:CMakeLists.txt、framework/argmin_onnx_plugin.cpp、op_host/arg_min_def.cpp、新增 config/ascend960dt/{arg_min_binary.json, arg_min_simplified_key.ini} - math/arg_min_with_value:CMakeLists.txt、op_host/arg_min_with_value_def.cpp、新增 config/ascend960dt/{arg_min_with_value_binary.json, arg_min_with_value_simplified_key.ini} - scripts/kernel/binary_config/ascendc_config.json ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> - 关联 Issue:https://gitcode.com/cann/ops-math/issues/3306 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 本次改动为芯片平台适配(CMake 编译配置、算子定义注册、binary/simplified_key 配置),未修改 kernel 计算逻辑,复用 arch35 tiling 与 kernel 实现。需在 ascend960dt 环境完成编译及算子泛化、二级冒烟验证。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5787 | 21 days ago |
| move argSeries base function Co-authored-by: zhu-xun00613388<zhuxun7@huawei.com> # message auto-generated for no-merge-commit merge: !1486 merge master into master move argSeries base function Created-by: zhu-xun Commit-by: zhu-xun00613388 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> move argSeries base function ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!1486 | 8 months ago |
| add hard_max fusion pass Co-authored-by: wangxun21<wangxun21@huawei.com> # message auto-generated for no-merge-commit merge: !6412 merge feat/hardmax-fusion-pass into master add hard_max fusion pass Created-by: wangxun21 Commit-by: wangxun21 Merged-by: cann-robot Description: ## 描述 将 canndev 旧框架 HardMaxPass 迁移到 ops-math 新版 Pattern Fusion Pass + ES Graph Builder 框架(注册名保持 HardMaxPass,Stage kAfterInferShape)。 - 平台分支对齐旧版:950/regbase 用 ArgMaxV2+OneHot,非 regbase(910B 等)用 ArgMaxD+OneHotD - on/off 常量按输入 dtype 匹配(FP16 用半精度位模式构造),保证 OneHot/OneHotD 输出 dtype 与 HardMax 一致 - axis 越界在 MeetRequirements 拒绝融合(旧版为未定义行为,实测导致 ATC 崩溃 exit 134) - CMake DEPENDENCIES 声明 arg_max_v2/one_hot,支持 --ops=hard_max 过滤构建 - UT 6 用例覆盖 950/910B 两分支、FP32/FP16、正负 axis、非法 dtype/axis ## 验证 - 专项 UT(--ops=hard_max)6/6,全量 graph UT 136/136 - ATC(Ascend950PR_9599)OPP overlay 取证:RunPatternFusion:GraphFusionPass[HardMaxPass] matched_times=1, effected_times=1 - NPU E2E 4 用例(FP32 12x4x3 axis=1 / FP16 / 5x8x6 axis=-1 / 3x9x2x7 axis=2)均 max_abs_error=0.0 - 910B 分支(ArgMaxD+OneHotD)ATC/NPU E2E 已在cannlab单独验证 See merge request: cann/ops-math!6412 | 14 days ago |
| feat: arg_max_v2/arg_max_with_value/arg_min/arg_min_with_value 适配 ascend960dt Co-authored-by: jzj007<jiangzhijie9@huawei.com> # message auto-generated for no-merge-commit merge: !5787 merge v121 into master feat: arg_max_v2/arg_max_with_value/arg_min/arg_min_with_value 适配 ascend960dt Created-by: jzj007 Commit-by: jzj007 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为 diag、arg_max_v2、arg_max_with_value、arg_min、arg_min_with_value 五个算子新增 ascend960dt 芯片平台适配,使其可在 ascend960dt(arch35)上完成算子定义注册、tiling 编译与二进制 kernel 配置生成。 ### 改动原因 算子 v121 分支合入主线,并为上述 5 个算子补齐 ascend960dt 平台支持。 ### 改动方法 1. 各算子 CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 新增 ascend960dt,SUPPORT_TILING_DIR 对应追加 arch35,复用 arch35 tiling 实现。 2. 各算子 op_host/*_def.cpp 增加 this->AICore().AddConfig("ascend960dt", aicore_config),完成 AICore 配置注册。 3. 新增 op_host/config/ascend960dt/ 目录,包含 {op}_binary.json(二进制 kernel 配置)与 {op}_simplified_key.ini(simplified_key_mode 配置,default=0)。 4. scripts/kernel/binary_config/ascendc_config.json 为 Diag/ArgMaxWithValue/ArgMaxV2/ArgMinWithValue/ArgMin 增加 ascend960dt compute_units,并配置编译选项 -mllvm -cce-aicore-dcci-before-kernel-end=false。 5. math/arg_min/framework/argmin_onnx_plugin.cpp 的 IsRegBasePlatform() 将 NpuArch::DAV_9201 加入 regbase 架构集合。 ### 变更文件 - conversion/diag:CMakeLists.txt、op_host/diag_def.cpp、新增 config/ascend960dt/{diag_binary.json, diag_simplified_key.ini} - math/arg_max_v2:CMakeLists.txt、op_host/arg_max_v2_def.cpp、新增 config/ascend960dt/{arg_max_v2_binary.json, arg_max_v2_simplified_key.ini} - math/arg_max_with_value:CMakeLists.txt、op_host/arg_max_with_value_def.cpp、新增 config/ascend960dt/{arg_max_with_value_binary.json, arg_max_with_value_simplified_key.ini} - math/arg_min:CMakeLists.txt、framework/argmin_onnx_plugin.cpp、op_host/arg_min_def.cpp、新增 config/ascend960dt/{arg_min_binary.json, arg_min_simplified_key.ini} - math/arg_min_with_value:CMakeLists.txt、op_host/arg_min_with_value_def.cpp、新增 config/ascend960dt/{arg_min_with_value_binary.json, arg_min_with_value_simplified_key.ini} - scripts/kernel/binary_config/ascendc_config.json ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> - 关联 Issue:https://gitcode.com/cann/ops-math/issues/3306 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 本次改动为芯片平台适配(CMake 编译配置、算子定义注册、binary/simplified_key 配置),未修改 kernel 计算逻辑,复用 arch35 tiling 与 kernel 实现。需在 ascend960dt 环境完成编译及算子泛化、二级冒烟验证。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5787 | 21 days 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 |