| Files | Last commit | Last update |
|---|---|---|
UT工程添加ARCH的设置替换SOC设置 Co-authored-by: zhu-lei0614<zhulei113@huawei.com> # message auto-generated for no-merge-commit merge: !3499 merge master into master UT工程添加ARCH的设置替换SOC设置 Created-by: huang-qiang Commit-by: zhu-lei0614 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3499 | 4 months ago | |
feat: Infershape整改,25个math算子InferDataType注册迁移至op_graph目录(IMPL_OP独立链)及UT看护 Co-authored-by: ywx1080114<yuanbin22@huawei.com> # message auto-generated for no-merge-commit merge: !6392 merge infershape-dtype into master feat: Infershape整改,25个math算子InferDataType注册迁移至op_graph目录(IMPL_OP独立链)及UT看护 Created-by: yuanbin_22 Commit-by: ywx1080114 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 作为 Infershape 整改的一部分,为 25 个 math 算子在 op_graph/ 目录新增 InferDataType(输出数据类型推导)独立注册及 UT 看护,共 50 个文件(+1757 -0,纯新增),对齐 ops-nn 仓方案(参考 PR#9839 样板): **注册方案(IMPL_OP 独立链):** - 每个算子新增 op_graph/<op>_graph_infer.cpp,通过 IMPL_OP(X).InferDataType(InferDataTypeX) 独立注册链注册,与 op_host 的 IMPL_OP_INFERSHAPE(InferShape)链解耦; - 涉及 25 个算子:abs_grad、add_n、assign_add、assign_sub、cast、cos、erf、exp、expm1、floor、log1p、logical_not、masked_scale、nan_to_num、neg、reciprocal、rsqrt、rsqrt_grad、sign、sin、sqrt、sqrt_grad、square、tanh、trunc; - 原 35 个算子中的另外 10 个(atan、ceil、is_finite、is_inf、is_nan、is_neg_inf、is_pos_inf、log、right_shift、round)的 op_graph 迁移已单独合入 master,不在本 PR 范围; **实现分类:** - 24 个算子输出 dtype 与第一个输入一致(SetOutputDataType(0, GetInputDataType(0))); - Cast 按属性推导并**新增枚举范围校验**:从 gert::RuntimeAttrs 读取 dst_type 属性,校验合法值域为 [0, DT_MAX) 且排除 DT_UNDEFINED(=28),非法值在推导处直接报错返回 GRAPH_FAILED(与 arch31 tiling 的 TransAclToGeDataType 白名单校验同款防御,防止非法值静默写入输出 desc)。 **UT 看护(25 个测试文件,26 个用例):** - 每算子新增 tests/ut/op_graph/test_<op>_graph_infer_pass.cpp,直接调用导出的 ops::InferDataTypeX 函数,通过 OpInferDataTypeContextBuilder 构造上下文,参数化断言推导返回 GRAPH_SUCCESS 且输出 dtype 符合预期; - Cast 参数化覆盖 dst_type 集合(含 FP16/FLOAT/BF16/INT 系列等),并新增非法值专项用例:dst_type 为 -1/DT_UNDEFINED/DT_MAX/999 时断言推导返回 GRAPH_FAILED。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> - 关联 Issue #3792 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 25 个算子各新增 InferDataTypeTest 参数化 UT 用例(直接函数调用),全部通过; - Cast 额外新增非法 dst_type 专项用例(-1/DT_UNDEFINED/DT_MAX/999 断言 GRAPH_FAILED),覆盖枚举校验防御路径。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> - 无需文档更新。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6392 | 7 days ago | |
批量算子使用elewise16B接口 Co-authored-by: ligen<ligen75@h-partners.com> # message auto-generated for no-merge-commit merge: !4390 merge master into master 批量算子使用elewise16B接口 Created-by: ligen75 Commit-by: ligen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> elewise算子使用elewise16B接口 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/2493 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 自验通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4390 | 3 months ago | |
【描 述】 AICPU supports addn-kernel and neg implementation Co-authored-by: j00427146<jialimin1@huawei.com> # message auto-generated for no-merge-commit merge: !2128 merge master into master 【描 述】 AICPU supports addn-kernel and neg implementation Created-by: jialimin1 Commit-by: j00427146 Merged-by: cann-robot Description: ## 描述 math仓支持aicpu的addn 和 neg算子功能 ## 关联的Issue issue#1187 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 addn geir测试结果: addn ut测试结果: [2026-04-08 09:33:19] [==========] Running 17 tests from 1 test suite. [2026-04-08 09:33:19] [----------] Global test environment set-up. [2026-04-08 09:33:19] [----------] 17 tests from TEST_ADD_N_UT [2026-04-08 09:33:19] [ RUN ] TEST_ADD_N_UT.INT8_TWO_INPUTS_ADD_N_SUCC [2026-04-08 09:33:19] [ OK ] TEST_ADD_N_UT.INT8_TWO_INPUTS_ADD_N_SUCC (3 ms) [2026-04-08 09:33:19] [ RUN ] TEST_ADD_N_UT.INT16_THREE_INPUTS_ADD_N_SUCC [2026-04-08 09:33:19] [ OK ] TEST_ADD_N_UT.INT16_THREE_INPUTS_ADD_N_SUCC (0 ms) [2026-04-08 09:33:19] [ RUN ] TEST_ADD_N_UT.INT32_FOUR_INPUTS_ADD_N_SUCC [2026-04-08 09:33:19] [ OK ] TEST_ADD_N_UT.INT32_FOUR_INPUTS_ADD_N_SUCC (0 ms) [2026-04-08 09:33:19] [ RUN ] TEST_ADD_N_UT.INT64_TWO_INPUTS_ADD_N_SUCC [2026-04-08 09:33:19] [ OK ] TEST_ADD_N_UT.INT64_TWO_INPUTS_ADD_N_SUCC (0 ms) [2026-04-08 09:33:19] [ RUN ] TEST_ADD_N_UT.UINT8_TWO_INPUTS_ADD_N_SUCC [2026-04-08 09:33:19] [ OK ] TEST_ADD_N_UT.UINT8_TWO_INPUTS_ADD_N_SUCC (0 ms) [2026-04-08 09:33:19] [ RUN ] TEST_ADD_N_UT.UINT16_TWO_INPUTS_ADD_N_SUCC [2026-04-08 09:33:19] [ OK ] TEST_ADD_N_UT.UINT16_TWO_INPUTS_ADD_N_SUCC (0 ms) [2026-04-08 09:33:19] [ RUN ] TEST_ADD_N_UT.UINT32_TWO_INPUTS_ADD_N_SUCC [2026-04-08 09:33:19] [ OK ] TEST_ADD_N_UT.UINT32_TWO_INPUTS_ADD_N_SUCC (0 ms) [2026-04-08 09:33:19] [ RUN ] TEST_ADD_N_UT.UINT64_TWO_INPUTS_ADD_N_SUCC [2026-04-08 09:33:19] [ OK ] TEST_ADD_N_UT.UINT64_TWO_INPUTS_ADD_N_SUCC (0 ms) [2026-04-08 09:33:19] [ RUN ] TEST_ADD_N_UT.FLOAT16_TWO_INPUTS_ADD_N_SUCC [2026-04-08 09:33:19] [ OK ] TEST_ADD_N_UT.FLOAT16_TWO_INPUTS_ADD_N_SUCC (0 ms) [2026-04-08 09:33:19] [ RUN ] TEST_ADD_N_UT.FLOAT_TWO_INPUTS_ADD_N_SUCC [2026-04-08 09:33:19] [ OK ] TEST_ADD_N_UT.FLOAT_TWO_INPUTS_ADD_N_SUCC (0 ms) [2026-04-08 09:33:19] [ RUN ] TEST_ADD_N_UT.DOUBLE_TWO_INPUTS_ADD_N_SUCC [2026-04-08 09:33:19] [ OK ] TEST_ADD_N_UT.DOUBLE_TWO_INPUTS_ADD_N_SUCC (0 ms) [2026-04-08 09:33:19] [ RUN ] TEST_ADD_N_UT.COMPLEX64_TWO_INPUTS_ADD_N_SUCC [2026-04-08 09:33:19] [ OK ] TEST_ADD_N_UT.COMPLEX64_TWO_INPUTS_ADD_N_SUCC (0 ms) [2026-04-08 09:33:19] [ RUN ] TEST_ADD_N_UT.COMPLEX128_TWO_INPUTS_ADD_N_SUCC [2026-04-08 09:33:19] [ OK ] TEST_ADD_N_UT.COMPLEX128_TWO_INPUTS_ADD_N_SUCC (0 ms) [2026-04-08 09:33:19] [ RUN ] TEST_ADD_N_UT.INPUT_DTYPE_DISMATCH [2026-04-08 09:33:19] [ OK ] TEST_ADD_N_UT.INPUT_DTYPE_DISMATCH (0 ms) [2026-04-08 09:33:19] [ RUN ] TEST_ADD_N_UT.INPUT_OUTPUT_DTYPE_DISMATCH [2026-04-08 09:33:19] [ OK ] TEST_ADD_N_UT.INPUT_OUTPUT_DTYPE_DISMATCH (0 ms) [2026-04-08 09:33:19] [ RUN ] TEST_ADD_N_UT.INPUT_SHAPE_DISMATCH [2026-04-08 09:33:19] [ OK ] TEST_ADD_N_UT.INPUT_SHAPE_DISMATCH (0 ms) [2026-04-08 09:33:19] [ RUN ] TEST_ADD_N_UT.UNSUPPORTED_DTYPE_BOOL [2026-04-08 09:33:19] [ OK ] TEST_ADD_N_UT.UNSUPPORTED_DTYPE_BOOL (0 ms) [2026-04-08 09:33:19] [----------] 17 tests from TEST_ADD_N_UT (4 ms total) [2026-04-08 09:33:19] [2026-04-08 09:33:19] [----------] Global test environment tear-down [2026-04-08 09:33:19] [==========] 17 tests from 1 test suite ran. (4 ms total) [2026-04-08 09:33:19] [ PASSED ] 17 tests. neg geir测试结果: 26851:[2026-04-08 09:28:23] result[0] is: 254 26852:[2026-04-08 09:28:23] result[1] is: 255 26853:[2026-04-08 09:28:23] result[2] is: 255 26854:[2026-04-08 09:28:23] result[3] is: 255 26855:[2026-04-08 09:28:23] result[4] is: 254 26856:[2026-04-08 09:28:23] result[5] is: 255 26857:[2026-04-08 09:28:23] result[6] is: 255 26858:[2026-04-08 09:28:23] result[7] is: 255 26859:[2026-04-08 09:28:23] result[8] is: 254 26860:[2026-04-08 09:28:23] result[9] is: 255 26861:[2026-04-08 09:28:23] result[10] is: 255 26862:[2026-04-08 09:28:23] result[11] is: 255 neg ut测试结果: [2026-04-08 09:34:08] [==========] Running 6 tests from 1 test suite. [2026-04-08 09:34:08] [----------] Global test environment set-up. [2026-04-08 09:34:08] [----------] 6 tests from TEST_NEG_UT [2026-04-08 09:34:08] [ RUN ] TEST_NEG_UT.Failed [2026-04-08 09:34:08] [ OK ] TEST_NEG_UT.Failed (0 ms) [2026-04-08 09:34:08] [ RUN ] TEST_NEG_UT.TestNeg_DT_FLOAT [2026-04-08 09:34:08] [ OK ] TEST_NEG_UT.TestNeg_DT_FLOAT (3 ms) [2026-04-08 09:34:08] [ RUN ] TEST_NEG_UT.TestNeg_DT_DOUBLE [2026-04-08 09:34:08] [ OK ] TEST_NEG_UT.TestNeg_DT_DOUBLE (0 ms) [2026-04-08 09:34:08] [ RUN ] TEST_NEG_UT.TestNeg_DT_FLOAT16 [2026-04-08 09:34:08] [ OK ] TEST_NEG_UT.TestNeg_DT_FLOAT16 (0 ms) [2026-04-08 09:34:08] [ RUN ] TEST_NEG_UT.TestNeg_DT_INT32 [2026-04-08 09:34:08] [ OK ] TEST_NEG_UT.TestNeg_DT_INT32 (0 ms) [2026-04-08 09:34:08] [ RUN ] TEST_NEG_UT.TestNeg_DT_INT64 [2026-04-08 09:34:08] [ OK ] TEST_NEG_UT.TestNeg_DT_INT64 (0 ms) [2026-04-08 09:34:08] [----------] 6 tests from TEST_NEG_UT (3 ms total) [2026-04-08 09:34:08] [2026-04-08 09:34:08] [----------] Global test environment tear-down [2026-04-08 09:34:08] [==========] 6 tests from 1 test suite ran. (3 ms total) [2026-04-08 09:34:08] [ PASSED ] 6 tests. [2026-04-08 09:34:08] [100%] Built target math_aicpu_op_kernel_ut <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 docs/zh/op_list.md math/add_n/README.md math/neg/README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2128 | 6 months ago |