| Files | Last commit | Last update |
|---|---|---|
docs(math): 对齐 LogicalNot/Neg 接口文档与实现约束 Co-authored-by: tianye<tianye82@h-partners.com> # message auto-generated for no-merge-commit merge: !7255 merge br_fixissuedocs into master docs(math): 对齐 LogicalNot/Neg 接口文档与实现约束 Created-by: transformer910 Commit-by: tianye Merged-by: cann-robot Description: ## 描述 本 PR 修复 LogicalNot、Neg 两个算子 aclnn 接口文档与实现不一致的问题,均为文档口径校正,不改变运行时行为。 1. LogicalNot(#70) - 实现侧 aclnn_logical_not.cpp 对连续 Tensor 明确不限制维度,UT case_17 也断言 9D 连续输入返回 ACL_SUCCESS;原资料维度列仅写 0-8,未披露该例外。 - 中英文档将 self/out/selfRef 维度列改为 0-8(连续Tensor不限制)。 - 161002 错误码补充「self/out/selfRef 维度大于8(非连续Tensor)」。 2. Neg(#101) - 实现侧 aclnn_neg.cpp 通过 CheckPromoteType/CanCast(self, out) 允许整型 self 的 out 为 UINT8;原资料 out 类型列表未列 UINT8。 - 中英文档 out 数据类型补充 UINT8。 - 使用说明补充「self 为整型时,out 可支持 UINT8 等可转换的整型」。 ## 关联的Issue - https://gitcode.com/Alice_zhou/issue/issues/70 - https://gitcode.com/Alice_zhou/issue/issues/101 ## 测试 - 纯文档变更,不涉及代码逻辑。 - 已对照 aclnn_logical_not.cpp、aclnn_neg.cpp 的校验逻辑及 LogicalNot UT case_17 核实。 - git diff --check 通过。 ## 文档更新 - math/logical_not/docs/aclnnLogicalNot&aclnnInplaceLogicalNot.md - math/logical_not/docs/aclnnLogicalNot&aclnnInplaceLogicalNot_en.md - math/neg/docs/aclnnNeg&aclnnInplaceNeg.md - math/neg/docs/aclnnNeg&aclnnInplaceNeg_en.md ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7255 | 2 days ago | |
修复 examples 及 docs 中 CHECK_RET 宏调用末尾多余分号和行尾空格问题 Co-authored-by: ywx1080114<yuanbin22@huawei.com> # message auto-generated for no-merge-commit merge: !4460 merge fix/check-ret-and-trailing-whitespace into master 修复 examples 及 docs 中 CHECK_RET 宏调用末尾多余分号和行尾空格问题 Created-by: yuanbin_22 Commit-by: ywx1080114 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复 examples 及 docs 中 CHECK_RET 宏调用末尾多余分号和行尾空格问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-nn/issues/4603 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4460 | 3 months ago | |
迁移开源TF插件--math Co-authored-by: yaochen<yaochen15@huawei.com> # message auto-generated for no-merge-commit merge: !4308 merge transfer-math into master 迁移开源TF插件--math Created-by: nextyale Commit-by: yaochen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:迁移TF插件 See merge request: cann/ops-math!4308 | 3 months ago | |
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 | 1 month 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 | 11 days ago | |
feat: vector算子批量适配ascend960pr(DV122)平台 Co-authored-by: biabu111<hebaojing1@huawei.com> # message auto-generated for no-merge-commit merge: !6663 merge feat/dv122-ascend960pr-adaptation into master feat: vector算子批量适配ascend960pr(DV122)平台 Created-by: biabu111 Commit-by: biabu111 Merged-by: cann-robot Description: ## 描述 DV122(Ascend960PR / dav_9202 / Ascend960PR_969A1)vector 算子批量适配。参照 ascend960dt(DAV_9201) 既有适配模式,为 vector 算子清单内 66 个算子补齐 ascend960pr 支持,适配原则:9201 支持的能力 9202 均支持。 **注册级适配(66 算子):** - CMakeLists.txt:SUPPORT_COMPUTE_UNIT 追加 "ascend960pr",SUPPORT_TILING_DIR 按位插入对应 arch35 - op_host/*_def.cpp:AICore().AddConfig("ascend960pr", <960dt 同款配置>) - op_host/config/ascend960pr/:二进制配置(*_binary.json / *_simplified_key.ini,复制自 ascend960dt,与 960dt 内容一致) - op_kernel*/CMakeLists.txt:COMPUTE_UNITS 追加 ascend960pr(arch92 kernel 入口同步生效) - scripts/kernel/binary_config/ascendc_config.json:compute_units 与 compile_options 补齐 **代码级补齐(9201 → 9201||9202):** - tiling/aclnn/infershape/fusion_pass/kernel 中 NpuArch::DAV_9201、__NPU_ARCH__ == 9201、"Ascend960DT" 等 960 平台门禁补齐 DAV_9202 / 9202 / "Ascend960PR" - 覆盖 concat/tanh_grad/slice/strided_slice/expand/tensor_equal/lin_space/range 等的 tiling/aclnn/graph_infer/fusion_pass 平台门禁(家族特性判定依据:gather_v2 适配提交中 isAscend96_ = DAV_9201||DAV_9202、unsorted_segment_sum 注释"ascend960dt/ascend960pr(DAV_9201/DAV_9202) 平台判定,用于 960 专属特性(ScatterDataCopy 等)的运行时开关") ## 关联的Issue https://gitcode.com/cann/ops-math/issues/4682 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 冒烟、ut、st已通过 <!--描述进行了哪些测试来验证你的改动。--> - CANN 9.3.0 工具链 --soc=ascend960pr 构建 19 个抽样算子(覆盖全部修改类型):宿主侧(def/tiling/infershape/aclnn)100% 编译通过,0 错误 - 构建日志确认正确消费新增的 config/ascend960pr/*_binary.json - --soc=ascend960dt 同算子集构建行为一致,无回归 - 一致性审计:范围内 960dt-without-960pr 注册缺口 0;修改过的 CMakeLists SUPPORT_COMPUTE_UNIT/TILING_DIR 位置对齐 0 问题;ascendc_config.json 语法有效 - 注:opc 二进制生成阶段因当前工具链缺 Ascend960PR_969A1 平台数据无法本地执行,需在 CI(含 960PR 平台数据的工具链)完成二进制编译与上板验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-math!6663 | 3 days ago | |
批量修改ws=0 Co-authored-by: ligen<ligen75@h-partners.com> # message auto-generated for no-merge-commit merge: !6212 merge master into master 批量修改ws=0 Created-by: ligen75 Commit-by: ligen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 批量修改算子workspace=0 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3013 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 自验通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6212 | 1 month 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 | 11 days ago | |
feat: vector算子批量适配ascend960pr(DV122)平台 Co-authored-by: biabu111<hebaojing1@huawei.com> # message auto-generated for no-merge-commit merge: !6663 merge feat/dv122-ascend960pr-adaptation into master feat: vector算子批量适配ascend960pr(DV122)平台 Created-by: biabu111 Commit-by: biabu111 Merged-by: cann-robot Description: ## 描述 DV122(Ascend960PR / dav_9202 / Ascend960PR_969A1)vector 算子批量适配。参照 ascend960dt(DAV_9201) 既有适配模式,为 vector 算子清单内 66 个算子补齐 ascend960pr 支持,适配原则:9201 支持的能力 9202 均支持。 **注册级适配(66 算子):** - CMakeLists.txt:SUPPORT_COMPUTE_UNIT 追加 "ascend960pr",SUPPORT_TILING_DIR 按位插入对应 arch35 - op_host/*_def.cpp:AICore().AddConfig("ascend960pr", <960dt 同款配置>) - op_host/config/ascend960pr/:二进制配置(*_binary.json / *_simplified_key.ini,复制自 ascend960dt,与 960dt 内容一致) - op_kernel*/CMakeLists.txt:COMPUTE_UNITS 追加 ascend960pr(arch92 kernel 入口同步生效) - scripts/kernel/binary_config/ascendc_config.json:compute_units 与 compile_options 补齐 **代码级补齐(9201 → 9201||9202):** - tiling/aclnn/infershape/fusion_pass/kernel 中 NpuArch::DAV_9201、__NPU_ARCH__ == 9201、"Ascend960DT" 等 960 平台门禁补齐 DAV_9202 / 9202 / "Ascend960PR" - 覆盖 concat/tanh_grad/slice/strided_slice/expand/tensor_equal/lin_space/range 等的 tiling/aclnn/graph_infer/fusion_pass 平台门禁(家族特性判定依据:gather_v2 适配提交中 isAscend96_ = DAV_9201||DAV_9202、unsorted_segment_sum 注释"ascend960dt/ascend960pr(DAV_9201/DAV_9202) 平台判定,用于 960 专属特性(ScatterDataCopy 等)的运行时开关") ## 关联的Issue https://gitcode.com/cann/ops-math/issues/4682 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 冒烟、ut、st已通过 <!--描述进行了哪些测试来验证你的改动。--> - CANN 9.3.0 工具链 --soc=ascend960pr 构建 19 个抽样算子(覆盖全部修改类型):宿主侧(def/tiling/infershape/aclnn)100% 编译通过,0 错误 - 构建日志确认正确消费新增的 config/ascend960pr/*_binary.json - --soc=ascend960dt 同算子集构建行为一致,无回归 - 一致性审计:范围内 960dt-without-960pr 注册缺口 0;修改过的 CMakeLists SUPPORT_COMPUTE_UNIT/TILING_DIR 位置对齐 0 问题;ascendc_config.json 语法有效 - 注:opc 二进制生成阶段因当前工具链缺 Ascend960PR_969A1 平台数据无法本地执行,需在 CI(含 960PR 平台数据的工具链)完成二进制编译与上板验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-math!6663 | 3 days ago | |
docs(math): 修正addcdiv/addcmul/logical_and/logical_not算子README交付件与图模式说明 Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !7253 merge docs/readme-4514 into master docs(math): 修正addcdiv/addcmul/logical_and/logical_not算子README交付件与图模式说明 Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 本 PR 修复 #4514 指出的 4 个算子 README 与仓内实际交付件不符的问题,中英文文档成对修改(README.md 与 README_en.md),全部为文档口径校正,不改动代码、编译配置与运行行为。 | README | Issue 指出的问题 | 本 PR 修复 | | --- | --- | --- | | math/addcdiv/README.md | 声称“本目录仅包含Addcdiv算子对应的aclnn接口”,但目录内已交付 arch35 Ascend C kernel 与图模式交付件;“图模式调用”行为空 | 删除失实声明;图模式行按模板跳转 op_graph/addcdiv_proto.h | | math/addcmul/README.md | 同 addcdiv,且“图模式调用”行为空 | 删除失实声明;图模式行跳转 op_graph/addcmul_proto.h | | math/logical_and/README.md | 同 addcdiv,且“图模式调用”行为空 | 删除失实声明;图模式行跳转 op_graph/logical_and_proto.h | | math/logical_not/README.md | 原“仅包含 aclnn 接口”表述已由 !7166(Issue 3722)修复,本次仅“调用说明”仍缺图模式调用行 | 补图模式调用行,跳转 op_graph/logical_not_proto.h;英文版 README_en.md 同步镜像中文侧既有结构与内容 | 补充说明: - 图模式调用入口的核实依据:同一算子目录内 op_graph/{op}_proto.h(REG_OP 注册)、op_graph/{op}_graph_infer.cpp(InferDataType)、op_host/{op}_infershape.cpp(InferShape)、op_host/{op}_def.cpp(OpDef 与 AICore 配置)、op_host/arch35/{op}_tiling_arch35.cpp(Tiling)、op_kernel/{op}_apt.cpp(Kernel)齐备,故按“算子IR构图方式调用”填写。 - 改动保持最小:删除失实声明后不再另写“实现位置”表述,也不新增自定义章节;实现位置可由算子目录结构(op_kernel/{op}_apt.cpp、op_graph/{op}_proto.h)与图模式行链接直接定位,避免与“调用说明”重复。 - 未改动“产品支持情况”表与“参数说明”表:本 PR 不由 kernel 存在推导平台支持范围或调用方式支持范围,产品支持度仍以各 README 原口径与对应 aclnn 接口文档为准。 - 图模式行“调用样例”列填 -:四个算子 examples/ 下目前仅有 aclnn 用例、无 geir 样例,按 README 模板“若没有示例代码则填写 -(表示不涉及)”处理。 - logical_not 中文侧“交付件”表为 master 既有内容(!7166 引入),本 PR 不改动;其英文版 README_en.md 原为缺失“仅 aclnn 接口”声明的占位,本次按中文侧镜像补全(含 Deliverables 表与图模式调用行)。 - 已采纳检视意见([Minor] 英文侧图模式行用语不一致):4 篇英文 README 的图模式行由 by constructing a graph with the 统一为仓内主流写法 by building a graph through the [operator IR](master 全仓 README_en.md 240 篇均为该写法,仅 math/hypot 一处例外);中文侧原已与仓内既有写法一致,未改动。 - 同类残留未纳入本 PR:math/reduce_max、math/reduce_min、math/reduce_nansum、math/reduce_log_sum 的 README 仍为仅含该句的 3 行占位文件,属整体补齐范畴,不在本 Issue 范围。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/4514 ## 测试 - 链接有效性:脚本核验 8 篇文档(4 篇中文 + 4 篇英文)内全部相对链接指向的仓内文件均存在,0 缺失。 - 双语配对:4 篇 README.md 均同步修改对应 README_en.md,满足仓内 Check ops-math md files 的成对修改要求。 - 用词核对:英文侧图模式行与 math/abs 等 240 篇既有 README_en.md 的 by building a graph through the [operator IR] 写法一致;中文侧沿用 通过[算子IR]构图方式调用Xxx算子。 - 结构核对:对照仓 wiki《算子README文档模板.md》,“调用说明”表保留调用方式、调用样例、说明三列,图模式行说明列跳转 {op}_proto.h(模板要求 GE 图模式跳转 ascendIR 对应 proto.h)。 - 门禁:pre-commit 全 hook(trailing-whitespace、end-of-file-fixer、codespell、OAT 合规)通过;git diff --check 通过。 - 未执行 NPU 上板验证:本次仅 Markdown 文档改动,未改代码与配置。 ## 文档更新 - math/addcdiv/README.md、math/addcdiv/README_en.md - math/addcmul/README.md、math/addcmul/README_en.md - math/logical_and/README.md、math/logical_and/README_en.md - math/logical_not/README.md、math/logical_not/README_en.md ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7253 | 2 days ago | |
docs(math): 修正addcdiv/addcmul/logical_and/logical_not算子README交付件与图模式说明 Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !7253 merge docs/readme-4514 into master docs(math): 修正addcdiv/addcmul/logical_and/logical_not算子README交付件与图模式说明 Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 本 PR 修复 #4514 指出的 4 个算子 README 与仓内实际交付件不符的问题,中英文文档成对修改(README.md 与 README_en.md),全部为文档口径校正,不改动代码、编译配置与运行行为。 | README | Issue 指出的问题 | 本 PR 修复 | | --- | --- | --- | | math/addcdiv/README.md | 声称“本目录仅包含Addcdiv算子对应的aclnn接口”,但目录内已交付 arch35 Ascend C kernel 与图模式交付件;“图模式调用”行为空 | 删除失实声明;图模式行按模板跳转 op_graph/addcdiv_proto.h | | math/addcmul/README.md | 同 addcdiv,且“图模式调用”行为空 | 删除失实声明;图模式行跳转 op_graph/addcmul_proto.h | | math/logical_and/README.md | 同 addcdiv,且“图模式调用”行为空 | 删除失实声明;图模式行跳转 op_graph/logical_and_proto.h | | math/logical_not/README.md | 原“仅包含 aclnn 接口”表述已由 !7166(Issue 3722)修复,本次仅“调用说明”仍缺图模式调用行 | 补图模式调用行,跳转 op_graph/logical_not_proto.h;英文版 README_en.md 同步镜像中文侧既有结构与内容 | 补充说明: - 图模式调用入口的核实依据:同一算子目录内 op_graph/{op}_proto.h(REG_OP 注册)、op_graph/{op}_graph_infer.cpp(InferDataType)、op_host/{op}_infershape.cpp(InferShape)、op_host/{op}_def.cpp(OpDef 与 AICore 配置)、op_host/arch35/{op}_tiling_arch35.cpp(Tiling)、op_kernel/{op}_apt.cpp(Kernel)齐备,故按“算子IR构图方式调用”填写。 - 改动保持最小:删除失实声明后不再另写“实现位置”表述,也不新增自定义章节;实现位置可由算子目录结构(op_kernel/{op}_apt.cpp、op_graph/{op}_proto.h)与图模式行链接直接定位,避免与“调用说明”重复。 - 未改动“产品支持情况”表与“参数说明”表:本 PR 不由 kernel 存在推导平台支持范围或调用方式支持范围,产品支持度仍以各 README 原口径与对应 aclnn 接口文档为准。 - 图模式行“调用样例”列填 -:四个算子 examples/ 下目前仅有 aclnn 用例、无 geir 样例,按 README 模板“若没有示例代码则填写 -(表示不涉及)”处理。 - logical_not 中文侧“交付件”表为 master 既有内容(!7166 引入),本 PR 不改动;其英文版 README_en.md 原为缺失“仅 aclnn 接口”声明的占位,本次按中文侧镜像补全(含 Deliverables 表与图模式调用行)。 - 已采纳检视意见([Minor] 英文侧图模式行用语不一致):4 篇英文 README 的图模式行由 by constructing a graph with the 统一为仓内主流写法 by building a graph through the [operator IR](master 全仓 README_en.md 240 篇均为该写法,仅 math/hypot 一处例外);中文侧原已与仓内既有写法一致,未改动。 - 同类残留未纳入本 PR:math/reduce_max、math/reduce_min、math/reduce_nansum、math/reduce_log_sum 的 README 仍为仅含该句的 3 行占位文件,属整体补齐范畴,不在本 Issue 范围。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/4514 ## 测试 - 链接有效性:脚本核验 8 篇文档(4 篇中文 + 4 篇英文)内全部相对链接指向的仓内文件均存在,0 缺失。 - 双语配对:4 篇 README.md 均同步修改对应 README_en.md,满足仓内 Check ops-math md files 的成对修改要求。 - 用词核对:英文侧图模式行与 math/abs 等 240 篇既有 README_en.md 的 by building a graph through the [operator IR] 写法一致;中文侧沿用 通过[算子IR]构图方式调用Xxx算子。 - 结构核对:对照仓 wiki《算子README文档模板.md》,“调用说明”表保留调用方式、调用样例、说明三列,图模式行说明列跳转 {op}_proto.h(模板要求 GE 图模式跳转 ascendIR 对应 proto.h)。 - 门禁:pre-commit 全 hook(trailing-whitespace、end-of-file-fixer、codespell、OAT 合规)通过;git diff --check 通过。 - 未执行 NPU 上板验证:本次仅 Markdown 文档改动,未改代码与配置。 ## 文档更新 - math/addcdiv/README.md、math/addcdiv/README_en.md - math/addcmul/README.md、math/addcmul/README_en.md - math/logical_and/README.md、math/logical_and/README_en.md - math/logical_not/README.md、math/logical_not/README_en.md ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7253 | 2 days ago |
LogicalNot
English | 简体中文
Function Description
-
Operator function: computes the element-wise logical NOT of the input tensor. Zero is regarded as False and non-zero as True.
-
Formula:
out[i]={1,if self[i]=00,if self[i]≠0out[i]= \begin{cases} 1, & \text{if } self[i]=0 \\ 0, & \text{if } self[i] \ne 0 \end{cases} out[i]={1,0,if self[i]=0if self[i]=0
For API parameters, data types, and product support, see aclnnLogicalNot&aclnnInplaceLogicalNot_en.
Deliverables
| Deliverable | Location |
|---|---|
| aclnn API | aclnn_logical_not.h, aclnn_logical_not.cpp |
| Ascend C implementation | logical_not_apt.cpp (arch35, depends on logical_not_dag.h) |
| Operator prototype | logical_not_proto.h |
| API documentation | aclnnLogicalNot&aclnnInplaceLogicalNot_en.md |
Invocation Description
| Invocation Method | Invocation Sample | Description |
|---|---|---|
| aclnn invocation | test_aclnn_logical_not | Invokes the LogicalNot operator through the aclnnLogicalNot or aclnnInplaceLogicalNot API. |
| Graph-mode invocation | - | Invokes the LogicalNot operator by building a graph through the operator IR. |