| 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 | |
算子资料修改后同步修改example Co-authored-by: FelixTang7<tangyanfeng@huawei.com> # message auto-generated for no-merge-commit merge: !5542 merge md into master 算子资料修改后同步修改example Created-by: FelixTang7 Commit-by: FelixTang7 Merged-by: cann-robot Description: ## 描述 部分算子资料有误,修改算子文档后同步对example进行修改 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3040 ## 测试 文档修改,无需测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5542 | 2 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 | |
修复issue的问题 Co-authored-by: sakuraqqz<furao15@h-partners.com> # message auto-generated for no-merge-commit merge: !6812 merge master into master 修复issue的问题 Created-by: sakuraqqz Commit-by: sakuraqqz Merged-by: cann-robot Description: ## 描述 本 PR 修复 6 个算子问题,均为 Bug 修复(含 1 项文档修正): 1. **is_inf 尾块越界读写(#3925)**:数据长度不足 32B 对齐时,尾块原先按 32B 整倍搬运导致 GM 越界读/写。修复为整块用 DataCopy、尾块用 DataCopyPad 按真实字节搬运,ComputePerCore 尾块输出按真实计数写出。math/is_inf/op_kernel/is_inf.h。 2. **addcmul value=NaN 走错快路径(#3894)**:IsEqualToOne 对 NaN 判等为 true(所有比较均 false 取反),导致 value=NaN 时误走 AxpyV2 快路径、缺失 value 项。修复为显式排除 NaN。math/addcmul/op_api/aclnn_addcmul.cpp。 3. **cdist 非法 shape 返回码(#3929)**:out 形状与推导不匹配时返回内部空指针错误 561103,修复为在 GetWorkspaceSize 增加 out 期望形状校验,返回标准参数错误 161002。math/cdist/op_api/aclnn_cdist.cpp。 4. **div 非法参数返回码(#3962)**:日志错误码与返回码不一致,统一返回 161002。math/div/op_api/aclnn_div.cpp。 5. **VarMean 文档矛盾(#4182)**:中英文档 self 维度列由 1-8 修正为 0-8(与「shape 支持 0 到 8 维」及 meanOut/varOut 的 0-8 保持一致);参数表 varOut/meanOut 行序与原型(varOut 为第 5 参、meanOut 为第 6 参)对齐。math/reduce_var/docs/。 6. **LinSpace legacy tiling 丢失 INT64 num 精度(#3347):** LinSpaceGetConstValue 的 DT_INT64 分支先将 int64_t 经 float 转换,num=16777219 被舍入为 16777220,与 InferShape 输出维度不一致;修复为直接读取 int64 数值、经 double 无损保留。math/lin_space/op_host/lin_space_tiling.cpp。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3925 - https://gitcode.com/cann/ops-math/issues/3894 - https://gitcode.com/cann/ops-math/issues/3929 - https://gitcode.com/cann/ops-math/issues/3962 - https://gitcode.com/cann/ops-math/issues/4182 - https://gitcode.com/cann/ops-math/issues/3347 ## 测试 910B3 / CANN 9.3.0 上板验证(2026-10-29): - **is_inf**:尾块用例长度 17/25/31/33/40(非 32B 对齐),尾部放置 inf/-inf/nan,输入输出 buffer 后 64B 金丝雀检测越界,5 组全部 PASS 且无越界读写。 - **addcmul**:value=NaN → out=NaN(修复前误得 7.0);value=1.0/2.0 回归正常。 - **cdist**:out 形状不匹配返回 161002,合法形状返回 0。 - **div**:shape 不匹配/非法 mode 均返回 161002。 - **VarMean**:issue 复现脚本实测命中 0 处(纯文档改动,无需上板)。 - **LinSpace**:tiling data 中 num=16777219 保留、InferShape 输出 [16777219](num=17 对照),Host UT 6/6 PASS,基线回归证实旧实现舍入为 16777220。 ## 文档更新 - math/reduce_var/docs/aclnnVarMean.md、math/reduce_var/docs/aclnnVarMean_en.md(维度范围与参数顺序修正)。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6812 | 14 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 | |
refactor: 将 addcmul/gcd/select/select_v2 测试 golden进行 TTK TestSpec 适配 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !7074 merge op_golden into master refactor: 将 addcmul/gcd/select/select_v2 测试 golden进行 TTK TestSpec 适配 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 将 addcmul、gcd、select、select_v2 四个算子的测试 golden 文件( tests/assets/golden.py) 从旧的 __golden__ + numpy 函数式格式迁移到新的 TTK TestSpec 框架。 改动原因: - 统一算子测试 golden 文件的编写规范,测试用例入/出由 numpy 迁移为 torch。 改动方法: - 使用 __spec__ 字典注册各算子的 TestSpec 类,覆盖 kernel/GEIR、aclnn、torch e2e 三种入口; - 将原 numpy 实现的 golden 函数改写为基于 torch 的 TestSpec 实现; - 补充 dtype 字符串到 torch dtype 的映射及输入/输出转换辅助函数。 涉及算子及接口: - addcmul:kernel addcmul、aclnnAddcmul / aclnnInplaceAddcmul、torch.addcmul - gcd:kernel gcd、aclnnGcd、torch.gcd - select:kernel select、aclnnSWhere、torch.where - select_v2:kernel select_v2、aclnnSWhere、torch.where ## 关联的Issue - #4517 ## 测试 - 通过算子单测(golden 对比)验证迁移后输出与原实现一致 ## 文档更新 - 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:测试用例重构(golden 迁移至 TTK TestSpec) See merge request: cann/ops-math!7074 | 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 |
Addcmul
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: a tensor computation function that performs the combined multiply-divide-add operation and merges tensor multiplication (with scaling) + tensor addition into a single operation.
-
Computation formula:
out=self+value×input1×input2out = self + value × input_1 × input_2out=self+value×input1×input2
Parameter Description
| Parameter Name | Input/Output/Attribute | Description | Data Type | Data Format |
|---|---|---|---|---|
| self | Input | Input parameter for the addcmul computation, which is self in the formula. | FLOAT16, BFLOAT16, FLOAT, INT32 | ND |
| input_1 | Input | Input parameter for the addcmul computation, which is input_1 in the formula. | FLOAT16, BFLOAT16, FLOAT, INT32 | ND |
| input_2 | Input | Input parameter for the addcmul computation, which is input_2 in the formula. | FLOAT16, BFLOAT16, FLOAT, INT32 | ND |
| value | Input | Input parameter for the addcmul computation, which is value in the formula. | FLOAT16, BFLOAT16, FLOAT, INT32 | ND |
| out | Output | Output parameter for the addcmul computation, which is out in the formula. | FLOAT16, BFLOAT16, FLOAT, INT32 | 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_addcmul | Invokes the Addcmul operator through the aclnnAddcmul API. |
| Graph-mode invocation | - | Invokes the Addcmul operator by building a graph through the operator IR. |