| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
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 | 20 天前 | |
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 | 20 天前 | |
迁移开源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 | 1 个月前 | |
feat: 抽取 broadcast_util 统一非连续广播门限,div/realdiv/greater/greater_equal 接入并扩大非连续支持 Co-authored-by: zzz2048<zhuhanhan@huawei.com> # message auto-generated for no-merge-commit merge: !4935 merge nc-2803 into master feat: 抽取 broadcast_util 统一非连续广播门限,div/realdiv/greater/greater_equal 接入并扩大非连续支持 Created-by: zzz2048 Commit-by: zzz2048 Merged-by: cann-robot Description: ## 描述 新增共享工具 math/common/op_api/broadcast_util(namespace op),集中实现广播类算子的非连续支持门限判定 IsBroadcastTemplateNonContiguousSupport,div / realdiv / greater / greater_equal 四个算子的 op_api 层 统一接入,替换原先各自分散的 IsRegBase + IsAiCoreSupport 简单组合判定。 ### 改动内容 1. **新增 broadcast_util.cpp/.h** - 对外接口:IsBroadcastTemplateNonContiguousSupport(inputs, outputShape) - 维度折叠:PadSingleInput 补维、ComputeBroadcastFlags 广播标记、 ComputeBroadcastCollapsePlan 合轴决策(KEEP/MERGE/ABSORB,含 IsAxesPairJointContiguous 相邻轴联合连续性校验)、CollapseSingleTensor 折叠执行 - 门限判定 CheckNonContiguousSupport:对齐 opbase broadcast_tiling 的 schMode 301-305 模板选择逻辑——广播轴 / 合轴后超 4D → NonContiguousBase(304/305);末两轴转置且 ≤3D → LastTranspose(303);末轴大且连续 / 小末轴大步幅 / 单核小数据三场景 → NLast(301/302); dimLimit 按各输入自身 dtype 计算(cache_line / dtype_size),与 opbase 决策树逐输入 判定一致;304 与 305 的细分选择交由 opbase tiling 按切分自定,host 侧不模拟 UB 容量切分;输出末轴 > 8192 时 NDDMA 效率下降,回退 Contiguous 转换路径(LastTranspose 与 NonContiguousBase 场景共用该门限,8192 为当前调优值) - 全连续输入短路跳过折叠分析;各判定分支注释标注最终 schMode 2. **realdiv.cpp/.h**:IsRealDivSupportNonContiguous 签名从 (self) 扩展为 (self, other, outputShape);other==nullptr(divs 标量路径)过 IsRegBase/IsAiCoreSupport 门限后直接放行;双 tensor 路径走广播模板门限。 3. **aclnn_div.cpp**: - HandleMixDataTypeDiv:mix-dtype 路径仅在 910B/910_93 使能,与 RegBase 非连续门限 芯片互斥,保持原有 Contiguous 处理不变 - HandleNotMixDataTypeDiv:拆分 CastDivInput / SelectDivInputByNC 辅助函数消除 self/other 重复处理;需 Cast 输入沿用 Cast 产物,不需 Cast 输入按门限结果选择 非连续直通(CreateView)或转连续(Contiguous) - divs 标量路径 other 传 nullptr 4. **greater.cpp / greater_equal.cpp/.h**:IsGreaterSupportNonContiguous / IsGreaterEqualSupportNonContiguous 委托 IsBroadcastTemplateNonContiguousSupport (greater 单输入;greater_equal 双输入且 other 可为 nullptr,新增 other dtype 联合检查)。 5. **aclnn_ge_tensor.cpp**:抽取 CastInput / SelectByNC / PrepareBinaryOpInputs 辅助函数, 消除 self/other 处理重复代码。 6. **构建接入**:新增 math/common/CMakeLists.txt(GLOB 编入 opapi obj); cmake/func.cmake 的 check_compiled_ops 增加 COMMON_DIRS="common" 白名单过滤公共目录; opbase.cmake 的 OPBASE_TAG_ID 更新至 opbase master 最新(f09beaf7,含 303 并行度门限)。 7. **UT**:test_aclnn_real_div.cpp 适配 IsRealDivSupportNonContiguous 新签名。 ### 改动原因 - 各算子非连续判定逻辑分散重复(IsRegBase + IsAiCoreSupport 简单组合),无法区分 广播/转置等细分场景,与 opbase 广播模板实际能力不匹配 - 收敛到统一门限后降低维护成本,同时使非连续放行条件与 opbase 广播模板能力精确对齐 ## 关联的Issue #2866 ## 测试 - 精度:二级冒烟 + 算子泛化通过 - 批量测试性能效果: | 接口 | 用例数 | 平均性能提升 | |------|--------|--------------| | aclnnAdds | 484 | 9.4% | | aclnnGeTensor | 656 | 21.5% | | aclnnGtScalar | 856 | 29% | | aclnnDiv | 601 | 54.5% | > **表注**: 批量测试统计口径为各接口非连续形态用例合入前后的平均性能提升比例。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4935 | 18 天前 | |
math仓算子代码整改 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !881 merge math_op_back_1 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!881 | 7 个月前 | |
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 | 18 天前 | |
支持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 | 8 个月前 | |
feat: 支持八个迁移算子的常量折叠(#2551) Co-authored-by: pan-tong<pantong@huawei.com> # message auto-generated for no-merge-commit merge: !4511 merge feat/constant-folding-infershape into master feat: 支持八个迁移算子的常量折叠(#2551) Created-by: pan-tong Commit-by: pan-tong Merged-by: cann-robot Description: ## 描述 为 Ceil、ConcatV2、Expand、GreaterEqual、InvertPermutation、StridedSlice、StridedSliceV2、TransData 接入 HOSTCPU 常量折叠。 - 为尚未接线的 7 个算子在 CMake 中启用 HOSTCPU TRUE,将现有 AICPU kernel 编入 libopconstant_folding_math.so。 - 8 个算子的 AICPU kernel 使用 OPS_MATH_REGISTER_CPU_KERNELV2,兼容 device 注册和 host CPU Kernel V2 注册。 - 为 GreaterEqual 补齐 OPS_FLAG_OPEN;其余算子沿用已有 OPEN 配置。 - TransData 沿用已有 HOSTCPU 配置,并复用已接入 host object 的 format_transfer 辅助源。 - 增强 Ceil AICPU UT 的输出校验,新增 Ceil 全 Const GE 图常量折叠用例。 本 PR 不修改算子的 infershape 实现。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2551 ## 测试 - AICPU UT:8 个算子共 156 个用例全部通过。 - HOSTCPU 构建:libopconstant_folding_math.so 构建成功,包含 8 个算子的 host 注册。 - 安装级 GE 常量折叠:8 个算子的全 Const 图输出均校验通过。 - 逐算子日志确认对应 host kernel 执行,ConstantFoldingPass 返回码均为 0。 - pre-commit:clang-format、codespell、OAT 等检查全部通过。 - GitCode 服务端 Hooks:通过。 ## 文档更新 无。该改动不改变算子接口和使用方式。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4511 | 1 个月前 | |
新增 fused_mul_add_n/gcd/greater/greater_equal/histogram_v2 的 golden.py Co-authored-by: 鲜磊<xianlei4@h-partners.com> # message auto-generated for no-merge-commit merge: !3287 merge g6 into master 新增 fused_mul_add_n/gcd/greater/greater_equal/histogram_v2 的 golden.py Created-by: xianlei2 Commit-by: 鲜磊 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3287 | 2 个月前 | |
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 | 18 天前 | |
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 | 24 天前 |
GreaterEqual
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |
功能说明
-
算子功能:判断输入Tensor中的每个元素是否大于等于other Scalar的值,返回一个Bool类型的Tensor,对应输入Tensor中每个位置的大于等于判断是否成立。
-
计算公式: 对于入参self,和比较标量other,ge可以用如下数学公式表示:
yi=(x1i>=x2i)?True:Falsey_{i}= (x1_i >= x2_i) ? True : False yi=(x1i>=x2i)?True:False
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x1 | 输入 | 公式中的输入张量x1。 | FLOAT、FLOAT16、BFLOAT16、INT32、INT64、UINT6、INT8、UINT8、BOOL | ND |
| x2 | 输入 | 公式中的输入张量x2。 | FLOAT、FLOAT16、BFLOAT16、INT32、INT64、UINT6、INT8、UINT8、BOOL | ND |
| y | 输出 | 公式中的输出张量y。 | BOOL | ND |
约束说明
无
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用 | test_aclnn_ge_scalar | 通过aclnnGeScalar&aclnnInplaceGeScalar接口方式调用GreaterEqual算子。 |
| 图模式调用 | test_geir_greater_equal | 通过算子IR构图方式调用GreaterEqual算子。 |