| Files | Last commit | Last update |
|---|---|---|
docs: 修正PowScalarTensor/MaxN/IsInTensorScalar资料dtype列表与代码不一致 Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !5502 merge b-class-md-fix into master docs: 修正PowScalarTensor/MaxN/IsInTensorScalar资料dtype列表与代码不一致 Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 基于错误日志合规报告(error_log_compliance_report.xlsx)、算子清单(list.md)与本仓代码的三方交集分析,修复 B 类(报错 dtype 支持列表与 md 资料不一致)问题中可在本仓闭环的部分,共 3 个算子资料。 ### 修改明细 - math/pow/docs/aclnnPowScalarTensor.md:self/exponent dtype 列表补 BOOL,并在「约束说明」章节新增约束「self与exponent的数据类型不允许同时为BOOL」。依据:aclnn_pow.cpp 的 DTYPE_SUPPORT_LIST 含 DT_BOOL,且代码对 self 与 exponent 同时为 BOOL 的组合显式报错不支持(aclnn_pow.cpp:254)。 - math/maximum/docs/aclnnMaxN.md:tensors/out dtype 列表补 UINT8,并新增注记「A3/A2/训练系列/推理系列:不支持UINT8数据类型」(npu="A3,910b,910,310p")。依据:aclnn_maxn.cpp 中 950 走 IsRegBase 分支的 REGBASE_DTYPE_SUPPORT_LIST 含 DT_UINT8,其余平台列表不含。 - math/equal/docs/aclnnIsInTensorScalar.md:element/testElement dtype 列表删除 BOOL、UINT16、COMPLEX64、COMPLEX128(代码 910 列表 8 种、910B 列表 9 种均不含),并将 Atlas 训练/推理系列注记收敛为「不支持BFLOAT16」。 已按仓库 Wiki《aclnn API文档模板》核对:npu 标签取值与顺序、id 序号唯一性、term 标记对、约束放置位置均合规。 ## 关联的Issue - #3096 ## 测试 - 变更仅涉及 md 资料,不涉及 kernel 与执行逻辑,算子行为无变化。 - 已逐一核对 3 个 md 的 dtype 列表与对应 op_api cpp 中支持列表定义一致。 ## 文档更新 - math/pow/docs/aclnnPowScalarTensor.md:self/exponent 补 BOOL 及 BOOL+BOOL 约束 - math/maximum/docs/aclnnMaxN.md:补 UINT8 及平台注记 - math/equal/docs/aclnnIsInTensorScalar.md:删除过度声明的 dtype ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5502 | 1 month 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 | |
fix: 修复 minimum/maximum 算子日志拼写/语法/copy-paste 错误 Co-authored-by: sun-yibo1<sunyibo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !5188 merge fix/minmax-log-audit into master fix: 修复 minimum/maximum 算子日志拼写/语法/copy-paste 错误 Created-by: sun-yibo1 Commit-by: sun-yibo1 Merged-by: cann-robot Description: ## 描述 参照 log_audit_report.md,修复 ops-math 仓库极值类算子(minimum/maximum)的日志拼写、语法及 copy-paste 错误。本 PR 由原 PR #5158 拆分而来(拆分方案:算术/比较/极值/其他 共 4 个 PR),仅修改日志文案/注释,不改动 REG_OP/INPUT/OUTPUT/ATTR 等代码定义。 ### 改动原因 log_audit_report.md 中 ops-math 仓库共发现 107 个日志问题,此前已通过 PR #4779(floor_mod/floor_div)、PR #4949(mod/mul/pow)、PR #5117(bitwise_and)修复了部分。原 PR #5158 一次性提交剩余 33 个文件的修复,为便于评审与独立合入,按算子类别拆分为 4 个 PR。本 PR 为拆分后的第 3 个,覆盖极值类(8 文件)。 ### 改动方法 仅修改日志文案/注释中的拼写、语法、copy-paste 错误,同时按 pre-commit clang-format 要求对文件做格式化。 ### 涉及修复(8 文件) **拼写/语法:** - only support → only supports(minimum/maximum) - must ge 1 / must >= 1 → must be >= 1(minimum/maximum onnx) **copy-paste/语义:** - minimum:Broadcast 第二个 self → other ## 关联的Issue - #2951 ## 测试 - 仅日志文案/格式修改,无逻辑变更,不影响编译与功能。 - pre-commit 全部代码 hook 通过(trailing-whitespace / end-of-file-fixer / clang-format / codespell / check-* / detect-private-key)。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-math!5188 | 2 months ago | |
fix: 修复 minimum/maximum 算子日志拼写/语法/copy-paste 错误 Co-authored-by: sun-yibo1<sunyibo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !5188 merge fix/minmax-log-audit into master fix: 修复 minimum/maximum 算子日志拼写/语法/copy-paste 错误 Created-by: sun-yibo1 Commit-by: sun-yibo1 Merged-by: cann-robot Description: ## 描述 参照 log_audit_report.md,修复 ops-math 仓库极值类算子(minimum/maximum)的日志拼写、语法及 copy-paste 错误。本 PR 由原 PR #5158 拆分而来(拆分方案:算术/比较/极值/其他 共 4 个 PR),仅修改日志文案/注释,不改动 REG_OP/INPUT/OUTPUT/ATTR 等代码定义。 ### 改动原因 log_audit_report.md 中 ops-math 仓库共发现 107 个日志问题,此前已通过 PR #4779(floor_mod/floor_div)、PR #4949(mod/mul/pow)、PR #5117(bitwise_and)修复了部分。原 PR #5158 一次性提交剩余 33 个文件的修复,为便于评审与独立合入,按算子类别拆分为 4 个 PR。本 PR 为拆分后的第 3 个,覆盖极值类(8 文件)。 ### 改动方法 仅修改日志文案/注释中的拼写、语法、copy-paste 错误,同时按 pre-commit clang-format 要求对文件做格式化。 ### 涉及修复(8 文件) **拼写/语法:** - only support → only supports(minimum/maximum) - must ge 1 / must >= 1 → must be >= 1(minimum/maximum onnx) **copy-paste/语义:** - minimum:Broadcast 第二个 self → other ## 关联的Issue - #2951 ## 测试 - 仅日志文案/格式修改,无逻辑变更,不影响编译与功能。 - pre-commit 全部代码 hook 通过(trailing-whitespace / end-of-file-fixer / clang-format / codespell / check-* / detect-private-key)。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-math!5188 | 2 months ago | |
math仓算子代码整改 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !873 merge math_op_back_2 into master math仓算子代码整改 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 math仓算子代码整改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!873 | 9 months ago | |
abs等20个算子新增ascend350平台支持 Co-authored-by: ASCEND222<dongfei16@h-partners.com> # message auto-generated for no-merge-commit merge: !5322 merge master into master abs等20个算子新增ascend350平台支持 Created-by: ASCEND222 Commit-by: ASCEND222 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> abs等20个算子新增ascend350平台支持 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3028 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5322 | 2 months ago | |
支持neg等单目运算算子下一代kernel实现 Co-authored-by: 张磊<zhanglei121@huawei.com> # message auto-generated for no-merge-commit merge: !494 merge master into master 支持neg等单目运算算子下一代kernel实现 Created-by: zl_hw Commit-by: 张磊 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!494 | 10 months ago | |
add aclnn golden Co-authored-by: gcw_CRjbEjwl<fengdaoyong@h-partners.com> # message auto-generated for no-merge-commit merge: !4593 merge 20260812 into master add aclnn golden Created-by: gcw_CRjbEjwl Commit-by: gcw_CRjbEjwl Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 算子增加aclnn的golden注册函数,由冒烟流水调用,跑新版ttk用例。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 不涉及 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 本地完成验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: See merge request: cann/ops-math!4593 | 2 months ago | |
abs等20个算子新增ascend350平台支持 Co-authored-by: ASCEND222<dongfei16@h-partners.com> # message auto-generated for no-merge-commit merge: !5322 merge master into master abs等20个算子新增ascend350平台支持 Created-by: ASCEND222 Commit-by: ASCEND222 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> abs等20个算子新增ascend350平台支持 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3028 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5322 | 2 months ago | |
md大模型检测低错修改 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5183 merge master into master md大模型检测低错修改 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> md大模型检测低错修改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 2466](https://gitcode.com/cann/ops-math/issues/2446) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5183 | 2 months ago |
Maximum
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |
功能说明
-
算子功能:返回两个输入张量中的最大值组成的新张量。
-
计算公式:
out[i]=max(x1[i],x2[i])out[i] = max(x_1[i], x_2[i]) out[i]=max(x1[i],x2[i])
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x1 | 输入 | 待进行Maximum计算的入参,公式中的x1。 | FLOAT、FLOAT16、BFLOAT16、DOUBLE、INT8、UINT8、INT32、INT64 | ND |
| x2 | 输入 | 待进行Maximum计算的入参,公式中的x2。 | FLOAT、FLOAT16、BFLOAT16、DOUBLE、INT8、UINT8、INT32、INT64 | ND |
| y | 输出 | tensor逐元素取最大值结果,公式中的out。 | FLOAT、FLOAT16、BFLOAT16、DOUBLE、INT8、UINT8、INT32、INT64 | ND |
约束说明
无
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用 | test_aclnn_maximum | 通过aclnnMaximum接口方式调用aclnnMaximum算子。 |
| aclnn调用 | test_aclnn_maxn | 通过aclnnMaxN接口方式调用aclnnMaxN算子。 |