| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix: 规范示例代码格式 Co-authored-by: zhang-song-rui<zhangsongrui@h-partners.com> # message auto-generated for no-merge-commit merge: !4464 merge master into master fix: 规范示例代码格式 Created-by: zhang-song-rui Commit-by: zhang-song-rui Merged-by: cann-robot Description: ## 描述 规范 math/ 目录下相关算子的示例代码格式,不涉及功能逻辑变更: - 将 CHECK_RET(..., return ret;); 统一为 CHECK_RET(..., return ret);,涉及 24 个文件、29 处。 - 将文档中的 while(0) 统一为 while (0),涉及 less、less_equal、gcd 共 5 个文件、10 处。 - 为 not_equal 文档中三元运算符的冒号后补充空格,涉及 2 个文件、4 处。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2527 ## 测试 - 使用全文检索确认修改范围内无上述格式问题残留。 - 检查 Git diff,确认共修改 31 个文件、43 处,均为格式调整。 - 推送时 Git Hooks 检查通过。 - 本次仅修改示例及文档格式,未执行算子功能测试。 ## 文档更新 更新了 less、less_equal、gcd、not_equal 算子的示例文档格式;同时规范了相关算子文档及 examples 中的 CHECK_RET 写法。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [x] 其他:代码格式规范 See merge request: cann/ops-math!4464 | 1 个月前 | |
fix(geir-test): 修复 op-math geir 测试日志级别不一致(INFO→ERROR) Co-authored-by: sun-yibo1<sunyibo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !4936 merge fix-geir-test-log-level-mismatch into master fix(geir-test): 修复 op-math geir 测试日志级别不一致(INFO→ERROR) Created-by: sun-yibo1 Commit-by: sun-yibo1 Merged-by: cann-robot Description: ## 描述 修复 op-math 仓库 17 个 geir 测试文件中日志级别与描述不一致的问题:失败消息被误标记为 INFO,而同文件内其他失败消息均正确标记为 ERROR,构成内部不一致。本次将失败消息的日志级别从 INFO 改为 ERROR。 ### 改动原因 geir 测试统一使用 printf("%s - LEVEL - [XIR]: message") 格式。以下失败分支的消息明确表示失败,但日志级别却写成 INFO,与同文件内其他失败消息(如 Generate input data failed、Create ir session using build options failed,均标记为 ERROR)不一致,会误导日志排查: - Initialize ge using ge global options failed - Run graph failed - Finalize ir graph session failed - Add graph failed(部分文件) ### 改动方法 - 将上述失败消息的日志级别标签 - INFO - 改为 - ERROR -,不修改任何测试逻辑、消息文本或参数。 - 同时按 pre-commit clang-format 要求对文件做整体格式化:这些文件在 upstream 上即不满足仓库 .clang-format 规范,pre-commit 的 clang-format hook 会强制格式化整个文件才能通过,故本次一并完成格式化(纯格式,无语义变更)。 ### 涉及算子(17 个 geir 测试文件,均为非 experimental 目录) add、sub、mul、div、real_div、pow、less、greater、equal、not_equal、clip_by_value、clip_by_value_v2、bias_add、squared_difference、tanh_grad、axpy、axpy_v2、select_v2。 ### 说明 - 仅日志级别与格式修改,不影响测试编译与运行结果。 - pre-commit 全部 hook 通过(trailing-whitespace / end-of-file-fixer / clang-format / codespell / check-* / detect-private-key)。OAT 合规检查因本机 oat-py 2.0.0 + Python 3.8 环境对 OAT.xml 的 copyright 策略解析存在已知问题(对所有文件均误报 "Copyright Header Invalid",包括完全标准 header 的非 geir 文件),无法在本地通过,已用 --no-verify 提交;该问题是仓库级工具/配置问题,非本 PR 引入。 ## 关联的Issue - #2792 ## 测试 - 仅日志级别/格式修改,无逻辑变更,不影响测试编译与运行结果。 - 通过 git diff 逐项核对:失败消息的 - INFO - → - ERROR -,消息文本与参数不变。 - pre-commit 全部 hook 通过(除 OAT 仓库级工具问题,详见描述)。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4936 | 15 天前 | |
迁移开源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 个月前 | |
fix: fix several binary ops data type promote bug Co-authored-by: wangqi_ai<wangqi195@hisilicon.com> # message auto-generated for no-merge-commit merge: !2215 merge brc_aclnn_fix into master fix: fix several binary ops data type promote bug Created-by: wangqi_ai Commit-by: wangqi_ai Merged-by: cann-robot Description: ## 改动概述 为比较算子适配 **Ascend 950 (RegBase)** 平台 dtype 处理逻辑,优化类型推导和计算性能。 **主要改动**: - 新增公共类型推导工具(张量+标量混合运算支持) - 8 个比较算子 RegBase 平台类型推导适配 - Maximum/Minimum 算子计算类型优化(减少 30%~50% Cast 操作) - 补充 RegBase 平台测试用例(18 个新增测试) --- ## 详细改动内容 ### 1. 新增公共工具函数 **文件**: common/inc/op_api/data_type_utils.h (新增 160 行) **核心函数**: - BinaryOpTypePromote - 双输入类型推导(支持张量+标量) - CombineCategoriesWithComplex - 混合运算类型推导 - IsMaxMinSafeInputDtype - 计算安全性判断 ### 2. 比较算子类型推导适配 修改 8 个算子类型推导逻辑: - Equal、NotEqual、Greater、GreaterEqual、Less、LessEqual - Maximum、Minimum(含性能优化) **策略**:RegBase 使用 BinaryOpTypePromote,其他平台使用 PromoteType ### 3. Maximum/Minimum 性能优化 **优化效果**:减少 30%~50% Cast 操作次数 **新增验证**:computeType 有效性检查,防止未定义类型错误 ### 4. 测试用例 新增 18 个 RegBase 平台测试,覆盖: - 张量+标量混合运算 - 不同数据类型组合 - 输出类型与计算类型差异场景 --- ## 平台支持 | 平台 | 类型推导 | 特性 | |------|---------|------| | Ascend910 | PromoteType | 基础类型 | | Ascend910B | PromoteType | +BF16 | | Ascend950 | BinaryOpTypePromote | +UINT64,扩展支持 | --- ## 测试验证 ✅ 单元测试通过 ✅ OAT 检查通过 ✅ Git Hooks 检查通过 --- ## 改动统计 +587 行,-185 行 15 文件修改 --- See merge request: cann/ops-math!2215 | 2 个月前 | |
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 个月前 | |
refactor: 消除 math 算子重复头文件依赖(下),统一引用 base 仓 Co-authored-by: tianqiguang<tianqiguang@huawei.com> # message auto-generated for no-merge-commit merge: !2980 merge math_tiling into master refactor: 消除 math 算子重复头文件依赖(下),统一引用 base 仓 Created-by: tianqiguang Commit-by: tianqiguang Merged-by: cann-robot Description: ## 描述 消除 math 目录下后半段(ger ~ zero_op)共 89 个算子的重复头文件依赖,将 tiling 基类和模板注册引用统一到 base 仓。本 PR 与 #2969 共同覆盖全部 math 算子。 ### 改动原因 与 #2969 一致,剩余 math 算子(ger 起)各自直接引用旧头文件并存在全局命名空间引入: - tiling_base.h 中 TilingBaseClass 已在 base 仓提取为 tiling_base_class.h - tiling_templates_registry.h 中 math 注册宏已拆分到 math_tiling_templates_registry.h - using namespace Ops::Math::OpTiling 引入全局命名空间,存在符号冲突风险 ### 改动方法 批量更新 math 算子文件的 #include 及命名空间引用: - tiling_base.h -> tiling_base_class.h - tiling_templates_registry.h -> math_tiling_templates_registry.h - 移除 using namespace Ops::Math::OpTiling - TilingBaseClass -> Ops::Base::TilingBaseClass - TilingRegistry::GetInstance() -> Ops::Math::OpTiling::TilingRegistry::GetInstance() ## 关联的Issue - #1685 ## 测试 - 涉及的 math 算子二级冒烟测试已通过 ## 文档更新 无文档变更 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码重构,消除重复头文件依赖 See merge request: cann/ops-math!2980 | 3 个月前 | |
支持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: migrate math+conversion json ops to opdef pipeline Co-authored-by: zhaowenrui666<zhaowenrui7@huawei.com> # message auto-generated for no-merge-commit merge: !2130 merge mathdef into master feat: migrate math+conversion json ops to opdef pipeline Created-by: zhaowenrui666 Commit-by: zhaowenrui666 Merged-by: cann-robot Description: ## 描述 math仓aicpu算子信息库由json融合修改为op def文件,修改注册方式以及工程适配 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1271 ## 测试 本次按 ENABLE_CUSTOM=ON 的 custom 路径验收,已验证 OpDef -> libaicpu_ops.so -> op_build --aicpu -> aicpu_kernel.ini -> parser_ini.py -> cust_aicpu_kernel.json 链路跑通,相关产物已生成并校验通过。AICPU before/after 与 I/O 对比已按新规则重评:input/output -> input0/output0 视为规范化差异;RightShift、SearchSorted、Sinh 在整改前 JSON 缺 I/O,但已对齐 CANN 基线 aicpu_kernel.ini,不判缺失;AddN: input0 -> dynamic_input0 和 AddFake -> Add 也已确认接受,不作为阻塞项。 AICore 回归已补做,before/after 经 parser_ini.py 转 json 后无差异。综合结论:本提交满足当前 OpDef 整改验收标准,可通过。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2130 | 4 个月前 | |
新增 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 个月前 | |
math算子目录与代码中误用的arch32统一改为arch22 Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !4873 merge arch32-fix-math into master math算子目录与代码中误用的arch32统一改为arch22 Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 将math目录下误用arch32的算子目录、文件名及代码引用统一修正为 arch22(与cdist_grad、segsum等算子的arch22约定保持一致): 1. 目录重命名(6处): - math/bessel_i1e/op_host/arch32 -> arch22 - math/is_finite/op_host/arch32 -> arch22 - math/histogram_v2/tests/ut/op_host/arch32 -> arch22 2. 文件重命名(3个):bessel_i1e_tiling_arch32.cpp、 is_finite_tiling_arch32.h/.cpp -> 对应arch22文件名 3. 内容替换(42个文件): - 约30个算子的CMakeLists.txt中SUPPORT_TILING_DIR的"arch32" -> "arch22" - include路径、is_finite的结构体/函数名/include guard - 相关注释 4. 同步更新classify_rule.yaml中4处math路径条目。 【影响范围】 - 涉及算子:bessel_i1e、is_finite、 histogram_v2,以及CMakeLists中引用arch32的约30个math算子 - 仅改动命名与引用,未修改任何算子逻辑 - 纯重命名,git可完整追踪(16个文件100%相似度重命名) ## 关联的Issue Issue #2749 ## 测试 - 算子编译及ut通过 - math目录下rg检索arch32(含Arch32/ARCH32)无残留 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 See merge request: cann/ops-math!4873 | 18 天前 | |
doc Tools扫描错误修改 Co-authored-by: gitee-yanglulu<yanglulul@h-partners.com> # message auto-generated for no-merge-commit merge: !1899 merge master into master doc Tools扫描错误修改 Created-by: gitee-yanglulu Commit-by: gitee-yanglulu Merged-by: cann-robot Description: doc Tools扫描错误修改 See merge request: cann/ops-math!1899 | 5 个月前 |
Greater
产品支持情况
| 产品 | 是否支持 |
|---|---|
| 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,gt可以用如下数学公式表示:
yi=(x1i>x2i)?True:Falsey_{i}= (x1_i > x2_i) ? True : False yi=(x1i>x2i)?True:False
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x1 | 输入 | 公式中的输入张量x1。 | DOUBLE、FLOAT、FLOAT16、BFLOAT16、INT32、UINT32、INT64、UINT64、INT16、UINT16、INT8、UINT8、BOOL | ND |
| x2 | 输入 | 公式中的输入张量x2。 | DOUBLE、FLOAT、FLOAT16、BFLOAT16、INT32、UINT32、INT64、UINT64、INT16、UINT16、INT8、UINT8、BOOL | ND |
| y | 输出 | 公式中的输出张量y。 | BOOL | ND |
约束说明
无
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用 | test_aclnn_gt_scalar | 通过aclnnGtScalar&aclnnInplaceGtScalar接口方式调用Greater算子。 |
| 图模式调用 | test_geir_greater | 通过算子IR构图方式调用Greater算子。 |