| docs: 修复math算子文档错误码表缺项并对齐数据类型约束与实现 Co-authored-by: chenyifeng<chenyifeng27@h-partners.com> # message auto-generated for no-merge-commit merge: !6765 merge fix_mathMD_1028 into master docs: 修复math算子文档错误码表缺项并对齐数据类型约束与实现 Created-by: chen_0715 Commit-by: chenyifeng Merged-by: cann-robot Description: ## 描述 本次PR针对多个math算子文档与实现不一致或错误码表缺项的问题进行修复,共涉及6份算子文档: 1. aclnnMaxDim:错误码表161002补充"self、out、indices维度大于8时"子项,与参数表维度0-8说明对齐; 2. aclnnBitwiseXorTensor:删除out不支持UINT16/UINT32/UINT64/COMPLEX64/COMPLEX128的约束描述,对齐实际实现的放行行为; 3. aclnnFloor:删除非连续Tensor列UINT16/UINT32/UINT64不支持的无效约束(A2真机实测非连续输入均正常支持); 4. aclnnLeScalar/aclnnLeTensor:补充out、selfRef不支持UINT32/UINT64的平台约束(910/310p、A3/910b),并合并到既有平台约束块; 5. aclnnNeTensor:补充Atlas A2/A3系列self、other不支持UINT64的约束说明(A2真机验证放开校验会产生错误结果,当前拒绝行为是安全的)。 ## 关联的Issue - #3884:aclnnMaxDim错误码表缺少维度大于8子项 - #3881:aclnnBitwiseXorTensor文档声明out不支持UINT16/UINT32/UINT64/COMPLEX64/COMPLEX128与实现不符 - #3883:aclnnFloor文档多写非连续Tensor不支持UINT16/UINT32/UINT64约束 - #3853:aclnnNeTensor A2平台UINT64支持说明与实现不符 - #3889:aclnnLeTensor/aclnnLeScalar out支持UINT32/UINT64与实现不符 ## 测试 本次为纯文档修改,无代码变更。各文档改动均经实现代码(dtype支持列表、校验逻辑)静态核对,并对以下场景在A2真机验证: - aclnnFloor非连续UINT16/UINT32/UINT64输入6组用例全部成功且结果正确; - aclnnNeTensor UINT64放开校验后输出全假并伴随堆内存损坏,确认kernel未实现UINT64模板,以文档约束闭环; - aclnnBitwiseXorTensor COMPLEX64/COMPLEX128输出语义验证通过。 ## 文档更新 - math/arg_max_with_value/docs/aclnnMaxDim.md - math/bitwise_xor/docs/aclnnBitwiseXorTensor&aclnnInplaceBitwiseXorTensor.md - math/floor/docs/aclnnFloor&aclnnInplaceFloor.md - math/less_equal/docs/aclnnLeScalar&aclnnInplaceLeScalar.md - math/less_equal/docs/aclnnLeTensor&aclnnInplaceLeTensor.md - math/not_equal/docs/aclnnNeTensor&aclnnInplaceNeTensor.md ## 类型标签 - [x] 文档更新 See merge request: cann/ops-math!6765 | 12 days ago |
| Math目录下整改test_example规范命名 Co-authored-by: cjz_<chenjunzhuo@huawei.com> # message auto-generated for no-merge-commit merge: !5769 merge fix_example_0917 into master Math目录下整改test_example规范命名 Created-by: jiangjiawei Commit-by: cjz_ Merged-by: cann-robot Description: ## 描述 math目录下部分"缺失 example"的接口中已有测试文件,仅因命名与接口名对不上被误判缺失 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3212 ## 测试 修改test_example命名,无需测试 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5769 | 1 month ago |
| 日志整改(im2col等算子) Co-authored-by: wow5523<wuao1@huawei.com> # message auto-generated for no-merge-commit merge: !5009 merge log-remediation into master 日志整改(im2col等算子) Created-by: zhu-xun Commit-by: wow5523 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 日志整改(im2col等算子) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5009 | 2 months ago |
| feat: diag算子适配Ascend960,arg_max/arg_min_with_value图模式支持Ascend960DT Co-authored-by: jzj007<jiangzhijie9@huawei.com> # message auto-generated for no-merge-commit merge: !6467 merge diag into master feat: diag算子适配Ascend960,arg_max/arg_min_with_value图模式支持Ascend960DT Created-by: jzj007 Commit-by: jzj007 Merged-by: cann-robot Description: ## 描述 本 PR 为 ops-math 仓补充 Ascend960DT(ascend960dt,NpuArch dav_9201)平台的算子适配:为 Diag 算子使能 960DT,并修正 ArgMaxWithValue / ArgMinWithValue 在 960DT 上的图模式数据类型推导。 ### 改动原因 1. Diag 仅在 ascend950 / ascend350 上注册,scripts/kernel/binary_config/ascendc_config.json 中 Diag 的 compute_units 也只包含这两个平台,导致 Ascend960DT 上缺失该算子能力。 2. ArgMaxWithValue / ArgMinWithValue 的 InferDataType 需要按 NpuArch 白名单决定是否读取 indice_dtype 属性: - arg_max_with_value 的白名单原本只有 NpuArch::DAV_3510,ascend960dt 会落到默认 DT_INT32,忽略 indice_dtype; - arg_min_with_value 使用 short_soc_version == "Ascend950" 字符串比较,同样覆盖不到 ascend960dt; - 两个算子的 CMakeLists.txt 中 SUPPORT_COMPUTE_UNIT 此前已包含 ascend960dt,缺的正是图模式这层推导。 ### 改动方法 1. conversion/diag/CMakeLists.txt:SUPPORT_COMPUTE_UNIT 追加 ascend960dt,对应 SUPPORT_TILING_DIR 使用 arch35,复用现有 tiling 与 kernel,不新增 arch 目录。 2. conversion/diag/op_host/diag_def.cpp:新增 AICore().AddConfig("ascend960dt", aicore_config)。 3. conversion/diag/op_host/config/ascend960dt/: - diag_binary.json:7 条 dtype 组合(float16 / float32 / double / bfloat16 / int32 / int64 / complex64),输入 shape 为动态 [-2],与 ascend950 配置一致; - diag_simplified_key.ini:[Diag] default=0。 4. scripts/kernel/binary_config/ascendc_config.json:Diag 的 compute_units 追加 ascend960dt(auto_sync 保持 true)。 5. math/arg_max_with_value/op_graph/arg_max_with_value_graph_infer.cpp:SUPPORTED_NPU_ARCH_LIST 追加 NpuArch::DAV_9201。 6. math/arg_min_with_value/op_graph/arg_min_with_value_graph_infer.cpp:实现对齐 arg_max_with_value,抽出 IsSupportedNpuArch(),按 NpuArch 值查白名单 {DAV_3510, DAV_9201};补充平台信息与 NpuArch 读取失败时的 OP_LOGW;移除 short_soc_version 字符串比较与内联判断。 ascend960dt 与 dav_9201 的对应关系来自 cmake/soc_arch_variables.cmake 的 ASCEND_ALL_COMPUTE_UNIT / SOC_TO_ARCH_VALUES。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3689 ## 测试 - [x] 对两处 InferDataType 改动执行 g++ -fsyntax-only -std=c++17 语法编译校验,无错误 - [ ] 二级冒烟 / 算子泛化:本次未执行,需在 Ascend960DT 环境验证 Diag 编译与执行,以及 ArgMaxWithValue / ArgMinWithValue 图模式下 indice_dtype=int64 的推导结果 > 说明:本次未改动 kernel 代码与 tiling 逻辑,Diag 直接复用 op_kernel/arch35 与 op_host/arch35。 ## 文档更新 本次未修改 docs/ 与算子文档。需注意 conversion/diag/README.md 的"产品支持情况"表尚未列出 Ascend960DT 系列,如需对外声明支持范围,建议同步补充该表。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6467 | 20 days ago |
| diag等算子冗余workspace改为分配0 Co-authored-by: xufeng12121<1074805447@qq.com> # message auto-generated for no-merge-commit merge: !6418 merge new_ww into master diag等算子冗余workspace改为分配0 Created-by: xufeng12121 Commit-by: xufeng12121 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> diag等算子冗余workspace改为分配0 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3678 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码整改 See merge request: cann/ops-math!6418 | 21 days ago |
| ASC接口兼容性整改:迁移conversion和math目录下算子的旧接口名称 Co-authored-by: wow5523<wuao1@huawei.com> # message auto-generated for no-merge-commit merge: !4815 merge asc-interface-migration into master ASC接口兼容性整改:迁移conversion和math目录下算子的旧接口名称 Created-by: zhu-xun Commit-by: wow5523 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ASC接口兼容性整改:迁移conversion和math目录下算子的旧接口名称 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4815 | 2 months ago |
| 修复masked_select_v3/arg_max_with_value的UT的CMakeLists问题 Co-authored-by: wow5523<wuao1@huawei.com> # message auto-generated for no-merge-commit merge: !4446 merge uttest2 into master 修复masked_select_v3/arg_max_with_value的UT的CMakeLists问题 Created-by: zhu-xun Commit-by: wow5523 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 修复masked_select_v3/arg_max_with_value的CMakeLists问题 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4446 | 3 months 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 |
| Math目录下整改test_example规范命名 Co-authored-by: cjz_<chenjunzhuo@huawei.com> # message auto-generated for no-merge-commit merge: !5769 merge fix_example_0917 into master Math目录下整改test_example规范命名 Created-by: jiangjiawei Commit-by: cjz_ Merged-by: cann-robot Description: ## 描述 math目录下部分"缺失 example"的接口中已有测试文件,仅因命名与接口名对不上被误判缺失 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3212 ## 测试 修改test_example命名,无需测试 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5769 | 1 month ago |