| Files | Last commit | Last update |
|---|---|---|
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 | 17 days ago | |
fix(math): release resources on init failure in brc aclnn examples Co-authored-by: xjh2527<522024330101@smail.nju.edu.cn> # message auto-generated for no-merge-commit merge: !4633 merge fix/init-resource-leak-brc-ifaces into master fix(math): release resources on init failure in brc aclnn examples Created-by: xjh2527 Commit-by: xjh2527 Merged-by: cann-robot Description: ## 描述 修复 ops-math 仓库中 BRC(二元广播计算)类算子调用示例在初始化失败场景下资源释放不完整的问题。 - aclrtSetDevice 失败时,在返回前调用 aclFinalize,释放已初始化的 ACL 资源。 - aclrtCreateStream 失败时,在返回前依次调用 aclrtResetDevice 和 aclFinalize,释放已设置的 Device 及 ACL 资源。 - 保留原有 CHECK_RET 写法和正常执行路径的资源释放顺序。 - 同步修改文档示例和对应的可执行示例源码,保证两处代码一致。 本次修改参考 ops-nn PR #8603(aclnnSoftmax)的修复方式,仅补齐资源释放逻辑,不涉及算子 Tiling、Kernel 和计算功能变更。修复范围严格对应 Issue #2653 中描述的 BRC 算子 ACLNN 接口清单,逐接口匹配对应的 docs/aclnn*.md 文档与 examples/test_aclnn_*.cpp 示例。experimental/ 镜像不在本次范围内。 ## 涉及算子 共 138 个文件(69 个 examples/test_aclnn_*.cpp + 69 个 docs/aclnn*.md),仅覆盖 math/ 和 conversion/ 目录: ### math(120 个文件) - **Add**:aclnnAdd / aclnnAdds / aclnnInplaceAdd / aclnnInplaceAdds - **Sub**:aclnnSub / aclnnSubs / aclnnRsub / aclnnRsubs / aclnnInplaceSub / aclnnInplaceSubs - **Mul / Muls**:aclnnMul / aclnnMuls / aclnnInplaceMul / aclnnInplaceMuls - **Minimum / Maximum**:aclnnMinimum / aclnnMinN / aclnnMaximum / aclnnMaxN - **Signbit**:aclnnSignbit - **Less / LessEqual**:aclnnLtScalar / aclnnLtTensor / aclnnLeScalar / aclnnLeTensor(及 Inplace 变体) - **Greater / GreaterEqual**:aclnnGtScalar / aclnnGtTensor / aclnnGeScalar / aclnnGeTensor(及 Inplace 变体) - **NotEqual / Equal**:aclnnNeScalar / aclnnNeTensor / aclnnLogicalXor / aclnnEqScalar / aclnnEqTensor(及 Inplace 变体) - **Lerp**:aclnnLerp / aclnnLerps / aclnnInplaceLerp / aclnnInplaceLerps - **LogicalAnd / LogicalOr**:aclnnLogicalAnd / aclnnLogicalOr(及 Inplace 变体) - **BitwiseOr / BitwiseAnd / BitwiseXor**:aclnnBitwiseOrScalar / aclnnBitwiseOrTensor / aclnnBitwiseAndScalar / aclnnBitwiseAndTensor / aclnnBitwiseXorScalar / aclnnBitwiseXorTensor(及 Inplace 变体) - **TanhGrad**:aclnnTanhBackward - **Addcmul / Ger / Gcd**:aclnnAddcmul / aclnnGer / aclnnGcd - **SelectV2**:aclnnSWhere - **RealDiv**:aclnnDiv / aclnnDivs / aclnnDivMod / aclnnDivMods(及 Inplace 变体) - **FloorDiv**:aclnnFloorDivide / aclnnFloorDivides(及 Inplace 变体) - **Pow**:aclnnExp2 / aclnnPowTensorScalar / aclnnPowTensorTensor / aclnnPowScalarTensor(及 Inplace 变体) - **Addcdiv**:aclnnAddcdiv / aclnnInplaceAddcdiv - **Mod**:aclnnFmodScalar / aclnnFmodTensor(及 Inplace 变体) - **FloorMod**:aclnnRemainderScalarTensor / aclnnRemainderTensorScalar / aclnnRemainderTensorTensor(及 Inplace 变体) ### conversion(18 个文件) - **ClipByValueV2**:aclnnClamp / aclnnClampMax / aclnnClampMaxTensor / aclnnClampMin / aclnnClampMinTensor / aclnnClampTensor / aclnnHardtanh(及 Inplace 变体) 注:upstream 已用 C++ RAII(StreamPtr / aclGuard)重构的 16 个文件本 PR 跳过,不再重复修改。 ## 关联的Issue Issue #2653:https://gitcode.com/cann/ops-math/issues/2653 ## 测试 - git diff --check:通过。 - pre-commit 全部通过(clang-format / trailing-whitespace / end-of-file-fixer / codespell / markdownlint / OAT 等)。 - CI 流水线全部通过(cann-cla/yes、api-check-pass、ci-pipeline-passed):全平台编译、UT 测试、PreSmoke 均成功。 - 本次仅修改调用示例的异常处理逻辑,未执行 NPU 运行测试。 ## 文档更新 - 更新上述算子 docs/ 目录下的 aclnn*.md 中的调用示例。 - 同步更新 examples/ 目录下的 test_aclnn_*.cpp 可执行示例源码。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4633 | 2 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 | |
style: 统一算子代码格式并规范License头声明 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !6326 merge ccc_1013 into master style: 统一算子代码格式并规范License头声明 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 本次提交对 math 与 conversion 目录下 13 个算子进行统一的代码格式整改,不涉及功能逻辑变更: 1. 统一 clang-format 代码格式:函数体、参数列表、REG_OP 宏、初始化列表、空函数体等按 clang-format 风格重排。 2. 规范 License 头声明:framework 下 CMakeLists 与 ONNX 插件源文件头统一为标准格式,并修正 License 文本(补充 OR)。 3. 修复文件末尾换行符:补齐缺失的末尾换行。 4. 统一 Python 文档字符串风格:golden.py 中 ''' 调整为 """。 涉及算子:clip_by_value、clip_by_value_v2、addcdiv、addcmul、bitwise_and、bitwise_or、bitwise_xor、floor_mod、lerp、logical_and、logical_or、mod、pow,以及 tests/ut/op_host/CMakeLists.txt。 ## 关联的Issue - #3651 ## 测试 本次仅代码格式调整,无逻辑变更;UT/ST 用例同步格式化,不影响用例语义与预期结果。 ## 文档更新 无 ## 类型标签 - [x] 其他,请描述:代码格式整改 See merge request: cann/ops-math!6326 | 24 days ago | |
fix(proto): 修复39个算子proto.h注释的拼写与语法错误 Co-authored-by: sun-yibo1<sunyibo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !5815 merge fix/proto-comment-grammar into master fix(proto): 修复39个算子proto.h注释的拼写与语法错误 Created-by: sun-yibo1 Commit-by: sun-yibo1 Merged-by: cann-robot Description: ## 描述 对 39 个算子的 op_graph/*_proto.h 注释做拼写与语法修复,仅注释与格式变更,不涉及任何代码逻辑: - **拼写错误**:select_v2 condittion→condition(2处)、axpy_v2 opratioan→operation、clip_by_value 英文 dtype 列表中的全角逗号改半角 - **系统性语法(历史模板复制扩散)**:Support broadcasting→Supports broadcasting(27个文件)、A ND→An ND(33个文件97处) - **单文件语法修复 71 处(含 signbit returns→Returns、axpy should→Should 两处句首大写补漏)**:ger has→have、addcmul/addcdiv multiply→multiplies、muls An required→A required、equal (x=y)→(x1==x2)、Elementwise→Element-wise、bias_add/lerp/gcd 语序与冠词修复、aicore→AiCore、mod/floor_mod 矛盾表述统一、句首大小写与标点空格等 - 附带 pre-commit 钩子强制规范化(clang-format 重排、尾随空白、文件末尾换行),并保留各文件原有行尾风格(CRLF/LF) 涉及算子:add/sub/mul/muls/div/real_div/floor_div/div_no_nan/pow/minimum/maximum/signbit/less/less_equal/greater/greater_equal/not_equal/equal/bias_add/squared_difference/lerp/logical_and/logical_or/bitwise_or/bitwise_and/bitwise_xor/tanh_grad/axpy/axpy_v2/addcmul/addcdiv/select/select_v2/mod/floor_mod/ger/gcd/clip_by_value/clip_by_value_v2 ## 关联的Issue - #3234 - https://gitcode.com/cann/ops-math/issues/3234 ## 测试 - 纯注释变更,无功能影响 - pre-commit 钩子全部通过(clang-format / trailing-whitespace / end-of-file-fixer / codespell / OAT 合规检查) - 严格限定在上述 39 个算子文件,全仓其余算子未改动(其余算子同类问题可后续另行清理) ## 文档更新 不涉及仓内 docs/ 目录;本 PR 即为 proto.h 注释(算子原型文档源)的修正 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5815 | 21 days ago | |
style: 统一算子代码格式并规范License头声明 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !6326 merge ccc_1013 into master style: 统一算子代码格式并规范License头声明 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 本次提交对 math 与 conversion 目录下 13 个算子进行统一的代码格式整改,不涉及功能逻辑变更: 1. 统一 clang-format 代码格式:函数体、参数列表、REG_OP 宏、初始化列表、空函数体等按 clang-format 风格重排。 2. 规范 License 头声明:framework 下 CMakeLists 与 ONNX 插件源文件头统一为标准格式,并修正 License 文本(补充 OR)。 3. 修复文件末尾换行符:补齐缺失的末尾换行。 4. 统一 Python 文档字符串风格:golden.py 中 ''' 调整为 """。 涉及算子:clip_by_value、clip_by_value_v2、addcdiv、addcmul、bitwise_and、bitwise_or、bitwise_xor、floor_mod、lerp、logical_and、logical_or、mod、pow,以及 tests/ut/op_host/CMakeLists.txt。 ## 关联的Issue - #3651 ## 测试 本次仅代码格式调整,无逻辑变更;UT/ST 用例同步格式化,不影响用例语义与预期结果。 ## 文档更新 无 ## 类型标签 - [x] 其他,请描述:代码格式整改 See merge request: cann/ops-math!6326 | 24 days ago | |
style: 统一算子代码格式并规范License头声明 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !6326 merge ccc_1013 into master style: 统一算子代码格式并规范License头声明 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 本次提交对 math 与 conversion 目录下 13 个算子进行统一的代码格式整改,不涉及功能逻辑变更: 1. 统一 clang-format 代码格式:函数体、参数列表、REG_OP 宏、初始化列表、空函数体等按 clang-format 风格重排。 2. 规范 License 头声明:framework 下 CMakeLists 与 ONNX 插件源文件头统一为标准格式,并修正 License 文本(补充 OR)。 3. 修复文件末尾换行符:补齐缺失的末尾换行。 4. 统一 Python 文档字符串风格:golden.py 中 ''' 调整为 """。 涉及算子:clip_by_value、clip_by_value_v2、addcdiv、addcmul、bitwise_and、bitwise_or、bitwise_xor、floor_mod、lerp、logical_and、logical_or、mod、pow,以及 tests/ut/op_host/CMakeLists.txt。 ## 关联的Issue - #3651 ## 测试 本次仅代码格式调整,无逻辑变更;UT/ST 用例同步格式化,不影响用例语义与预期结果。 ## 文档更新 无 ## 类型标签 - [x] 其他,请描述:代码格式整改 See merge request: cann/ops-math!6326 | 24 days ago | |
test: 同步 Math BRC 零 workspace 的 Host UT 期望值 Co-authored-by: zhang-song-rui<zhangsongrui@h-partners.com> # message auto-generated for no-merge-commit merge: !6242 merge fix/ascend950-vector-workspace into master test: 同步 Math BRC 零 workspace 的 Host UT 期望值 Created-by: zhang-song-rui Commit-by: zhang-song-rui Merged-by: cann-robot Description: ## 修改内容 仅同步公共 BroadcastBaseTiling(BRC)workspace 清零所影响的 Host UT:把成功 BRC 用例的 workspace 期望由 16777216(16 MiB)改为 0。 共修改 38 个已有 UT 文件,228 行增加、228 行删除,全部为上述 workspace 字面值替换。无生产代码、kernel、CMake、公共 UT 框架、依赖版本或失败用例修改;分支保持一次提交。 ## Major 意见核对与处理 opbase #1007 在 BroadcastBaseTiling::DoTiling 公共成功出口写入 DEFAULT_TILING_WORKSPACE_SIZE=0,默认 kernel type 同样受影响,并非可排除条件。结合本地 opbase 与当前 ops-math 源码,逐项处理如下: | 算子 | 本 PR 处理 | 保留原期望的依据 | | --- | --- | --- | | AddV2 | 生产文件及 UT 均保持主线原样 | BRC 返回后 SetWorkspace 显式按 CompileInfo/平台信息重新申请 workspace,最终结果仍为 16 MiB;不能仅改 UT 为 0。 | | LeftShift | 8 个成功用例改为 0 | 另 1 个失败用例的占位期望不参与 workspace 检查,保持原样。 | | RightShift | 10 个成功用例改为 0 | 另 2 个失败用例同上,保持原样。 | | MaximumGrad | 7 个成功 BRC 用例改为 0 | 另 4 个空张量用例走 HandleEmptyTensor 独立分支,仍显式申请系统 workspace,保留 16 MiB。 | | MinimumGrad | 7 个成功 BRC 用例改为 0 | 同上,另 4 个空张量独立分支保留 16 MiB。 | | MaskedFill | 7 个成功 BRC 用例改为 0 | 无遗漏。 | | TruncateDiv | 6 个成功 BRC 用例改为 0 | 原有两个 0 是失败用例,不是非 BRC 成功路径;保持原样。 | 全仓扫描发现的另外三组遗漏也已补齐:FusedMulAdd(10 处)、FusedMulAddAdd(10 处)、MulNoNan(11 处)。上述新增补齐共 9 个文件、76 处。其余原有 UT 中仅属于失败用例的 8 处占位值修改也已撤回,避免无关修改。 ## 本地验证(2026-11-05) 最终提交: ae55efaba。 环境:aarch64、GNU 9.4.0、CANN 9.2.0(用户目录安装)、目标 ascend950。使用仓库默认固定 opbase 8e8cf1b60b28bc1f8aaa1652fe054ac7e35d5852,未叠加本地 opbase 补丁。 - 最终 UT-only 版本已重新编译、最终链接并运行 math_op_host_ut:**548/548 测试通过,78 个测试套件,构建退出码 0**。范围包括全部 38 个变更算子,以及保持原样的 AddV2,共 39 个算子;保留 16 MiB 的 AddV2/梯度空张量用例也实际通过。 - 逐字节检查全部 38 个变更文件,仅存在 {16777216} → {0} 的替换;失败用例无差异,AddV2 无差异。 - 按原有 CRLF 换行格式执行差异空白检查,通过。 - 扫描仓库 50 个直接 BRC Host 消费算子,核对剩余 16 MiB 用例及上述独立分支。 最终复测日志:/tmp/pr6242-ut-only-final.log。日志含复用构建目录产生的 gcov profile 时间戳提示;测试和构建均成功,本次不提供覆盖率结论。Host UT 不替代设备 kernel 精度、性能或越界验证;本轮未执行设备测试。 ## 关联 PR - [opbase #1007](https://gitcode.com/cann/opbase/pull/1007):已合入的公共 BRC workspace 清理。 - [ops-math #6711](https://gitcode.com/cann/ops-math/pull/6711):已合入独立实现路径清理及其 4 个 UT 文件。已同步包含该修改的主线,上述 10 个文件不在本 PR 差异中。 See merge request: cann/ops-math!6242 | 9 days ago | |
feat(ascend960): 39个算子使能ascend960 Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !6137 merge feat/ascend960-enable into master feat(ascend960): 39个算子使能ascend960 Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 为 ascend960 新增芯片形态适配算子,覆盖 math 与 conversion 目录下共 39 个算子,无 kernel 代码改动,复用现有 arch35 kernel 与 tiling。 ### 改动原因 ascend960 为新增芯片形态,现有算子需补齐平台注册、编译单元与二进制配置后,才能在新平台上被算子信息库发现、编译并选择正确的 kernel 二进制。 ### 改动方法 1. **算子信息库注册**( *_def.cpp):新增 ascend960 平台注册(AICore().AddConfig) 2. **编译配置**(CMakeLists.txt):在 SUPPORT_COMPUTE_UNIT / COMPUTE_UNITS 中追加 ascend960,并在 SUPPORT_TILING_DIR 中追加对应的 arch35(tiling 目录沿用 arch35);Add / ClipByValue / ClipByValueV2 的编译选项并入既有 add_kernel_sources 块(选项与 ascend950 / ascend350 既有块一致) 3. **二进制配置**:为每个算子新增 ascend960 二进制配置目录,包含 <op>_binary.json 与 <op>_simplified_key.ini,内容沿用 ascend950 既有配置 4. **中央注册表**(scripts/kernel/binary_config/ascendc_config.json):33 个既有条目补齐 ascend960 编译选项,Mod 条目同步补齐(平台注册与编译单元主线已就绪) 5. **注册口径**:Signbit / Add / Ger / Gcd / BitwiseXor 不在中央注册表新增 ascend960 条目(Add 编译选项已迁移至 CMake 管理,其余沿主线现状,主线 ascend950 亦无对应条目) ### 算子清单(共 39 个) - math 目录 36 个:Add、Sub、Mul、Muls、Div、DivNoNan、RealDiv、FloorDiv、FloorMod、BitwiseAnd、BitwiseOr、BitwiseXor、Equal、NotEqual、Less、LessEqual、Greater、GreaterEqual、LogicalAnd、LogicalOr、Select、SelectV2、Maximum、Minimum、Pow、Lerp、BiasAdd、Axpy、AxpyV2、Addcmul、Addcdiv、Ger、Gcd、Signbit、TanhGrad、SquaredDifference、Mod - conversion 目录 2 个:ClipByValue、ClipByValueV2 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3597 ## 测试 - pre-commit 全部 hook 通过(clang-format / OAT / codespell 等) - CI compile 门禁通过(18 个 Compile Job) - ascend960 内核编译与上板验证待具备 ascend960 环境后执行,合入前补充 ## 文档更新 无(仅平台适配,不改变算子功能与约束,不涉及 README 更新) ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6137 | 29 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 |
LogicalAnd
English | 简体中文
Product Support Status
| Product | Supported |
|---|---|
| Ascend 950PR&950DT products | √ |
| Atlas A3 products | √ |
| Atlas A2 products | √ |
| Atlas 200I/500 A2 inference products | × |
| Atlas inference products | √ |
| Atlas training products | √ |
Function Description
-
Operator function: performs a logical AND check on the corresponding elements of the two input tensors and outputs a Boolean tensor (True/False).
-
Computation formula:
out=input1∧input2out=input1∧input2out=input1∧input2
Parameter Description
| Parameter Name | Input/Output/Attribute | Description | Data Type | Data Format |
|---|---|---|---|---|
| input_1 | Input | Input parameter for the logical_and computation, which is input_1 in the formula. | BOOL | ND |
| input_2 | Input | Input parameter for the logical_and computation, which is input_2 in the formula. | BOOL | ND |
| out | Output | Output parameter for the logical_and computation, which is out in the formula. | BOOL | ND |
- Atlas training products and Atlas inference products: BFLOAT16 is not supported.
Constraint Description
None
Invocation Description
| Invocation Method | Invocation Sample | Description |
|---|---|---|
| aclnn invocation | test_aclnn_logical_and | Invokes the LogicalAnd operator through the aclnnLogicalAnd API. |
| Graph-mode invocation | - | Invokes the LogicalAnd operator by building a graph through the operator IR. |