| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat: 算子910B~910E区间判断追加IsRegBase()并统一DAV_3510硬编码判断以兼容后续Regbase芯片 Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !5467 merge q_aclnn_version into master feat: 算子910B~910E区间判断追加IsRegBase()并统一DAV_3510硬编码判断以兼容后续Regbase芯片 Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 以 RegBase 架构(NpuArch = DAV_3510,含 Ascend950 及后续 Regbase 芯片)兼容为目标,统一两类芯片判断写法: 1. **区间判断追加**:对 13 个算子 op_api 中 GetSocVersion() >= ASCEND910B && GetSocVersion() <= ASCEND910E 区间判断追加 || IsRegBase(),使 RegBase 平台在 SocVersion 区间之外时也复用 910B 支持分支(放开 BF16 dtype 校验) 2. **硬编码统一**:将 11 个算子文件中 case NpuArch::DAV_3510: 硬编码判断改为 IsRegBase() 谓词,后续 Regbase 芯片(IsRegBase 集合扩展新 arch 值时)无需逐文件修改即可自动命中 ## 修改内容一:区间判断追加(13 个文件,15 处) | 算子 | 文件 | 修改位置 | |------|------|----------| | less | math/less/op_api/aclnn_lt_scalar.cpp | GetDtypeSupportList、GetOutDtypeSupportList(2 处) | | less | math/less/op_api/aclnn_lt_tensor.cpp | GetDtypeSupportList、GetOutDtypeSupportList(2 处) | | less_equal | math/less_equal/op_api/aclnn_le_scalar.cpp | GetOutputDtypeSupportList(1 处) | | logical_or | math/logical_or/op_api/aclnn_logical_or.cpp | CheckSocVersionIsSupportBf16(1 处) | | maximum | math/maximum/op_api/aclnn_maximum.cpp | GetDtypeSupportList(1 处) | | minimum | math/minimum/op_api/aclnn_minimum.cpp | GetDtypeSupportList(1 处) | | mul | math/mul/op_api/aclnn_mul.cpp | GetDtypeSupportList(1 处) | | not_equal | math/not_equal/op_api/aclnn_logical_xor.cpp | CheckSocVersionIsSupportBf16(1 处) | | pow | math/pow/op_api/aclnn_pow.cpp | CheckSocVersionIsSupportBf16(1 处) | | pow | math/pow/op_api/aclnn_pow_tensor_tensor.cpp | CheckSocVersionIsSupportBf16(1 处) | | signbit | math/signbit/op_api/aclnn_signbit.cpp | GetDtypeSupportList(1 处) | | sub | math/sub/op_api/sub.cpp | IsAiCoreSupport(1 处) | | equal | math/tensor_equal/op_api/aclnn_equal.cpp | CheckSocVersionGe910B(1 处) | 其中 sub.cpp、aclnn_pow_tensor_tensor.cpp、aclnn_logical_xor.cpp、aclnn_equal.cpp 补充 #include "op_api/aclnn_check.h"。 pow.cpp 的 IsAiCoreSupport、aclnn_ne_scalar.cpp、aclnn_ne_tensor.cpp:区间判断前已有 if (IsRegBase()) 提前返回分支(追加会造成死条件),经评审不修改。 ## 修改内容二:硬编码判断统一(11 个文件,13 处) ### A类:switch 双 case(DAV_3510 与 DAV_2201 同分支,8处) switch 前置 if (IsRegBase(curArch)) 返回原 DAV_3510 分支列表,删除 case NpuArch::DAV_3510: fall-through 行: - Add:math/add/op_api/add.cpp、aclnn_add.cpp - Sub:math/sub/op_api/aclnn_sub.cpp、aclnn_rsub.cpp - div:math/div/op_api/div.cpp(补 include) - floordiv:math/floor_div/op_api/floordiv.cpp(补 include) - tanhgrad:math/tanh_grad/op_api/aclnn_tanh_backward.cpp - floormod:math/floor_mod/op_api/aclnn_remainder.cpp ### B类:switch 独立 case(DAV_3510 单独返回 REGBASE 专用列表,3处) switch 前置 if (IsRegBase(curArch)) 返回 REGBASE 列表,删除独立 case 块: - mul:math/mul/op_api/mul.cpp(REGBASE_AICORE_DTYPE_SUPPORT_LIST) - equal:math/equal/op_api/aclnn_eq_tensor.cpp、aclnn_eq_scalar.cpp(REGBASE_DTYPE_SUPPORT_LIST) ## 关联的Issue - #3100 (math仓910B~910E区间判断的RegBase兼容遗留清理:isclose恒真条件bug、8个同类判断文件未覆盖IsRegBase) ## 测试 - pre-commit 检查(clang-format/codespell/OAT 等)全部通过(含对修改文件的全量格式化) - 全部修改文件 g++ -fsyntax-only 语法验证通过 - 已触发 compile 编译 - 建议测试项: 1. RegBase(DAV_3510)平台验证上述算子 BF16 输入/输出 dtype 校验与 910B 平台一致 2. Ascend950 平台回归 A/B 类算子 dtype 选择行为不变 3. 回归 910B~910E、910/1980、310/310P 平台行为不受影响 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ### 关联issue - [cann/ops-math#5512(报错 dtype 支持列表双层中括号修复,同改 aclnn_remainder.cpp/eq 系列)](https://gitcode.com/cann/ops-math/pull/5512) - [cann/ops-math#5519(RemainderScalarTensor Regbase 计算类型校验,同改 aclnn_remainder.cpp)](https://gitcode.com/cann/ops-math/pull/5519) - [cann/ops-nn#10101(ops-nn 侧同类 Regbase 判断统一)](https://gitcode.com/cann/ops-nn/pull/10101) See merge request: cann/ops-math!5467 | 1 个月前 | |
fix: 修复比较类算子示例资源泄漏、文档错误与代码格式问题 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !6328 merge code_check_1013 into master fix: 修复比较类算子示例资源泄漏、文档错误与代码格式问题 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 本 PR 针对 equal、greater、greater_equal、less、less_equal、maximum、minimum、not_equal 共 8 个比较类算子,修复代码检视(code check)发现的问题,具体包括: 1. 修复示例代码资源管理缺陷:examples/*.cpp 改用 RAII(std::unique_ptr + 自定义删除器)统一管理 aclrtStream、device 侧内存、aclTensor、aclScalar 等资源,避免异常路径下资源泄漏。 2. 修复头文件复制粘贴错误:maximum_struct.h 中 tiling key 误写为 Minimum,修正为 Maximum;greater_proto.h 中精度约束公式 (x2 - x1) 修正为 (x1 - x2)。 3. 修复文档注释错误:aclnn_eq_tensor.h 中 workspaceSize 描述引用错误接口名 aclnnInplaceAddGetWorkspaceSize,修正为 aclnnInplaceEqTensorGetWorkspaceSize。 4. 修复文档描述问题:修正 README 与 docs 中失效链接、参数名(self → tensors)、错误码行数、数据类型表格填充、章节标题等。 5. 修复测试用例数据:less 算子 ST 用例 ttk_kernel_less_st.csv 中 uint64 infnan 用例数据类型由 uint64 修正为 float32。 6. 规范代码格式:清理行尾空格、规范函数签名换行、补齐文件结尾换行符等。 ## 关联的Issue - #3619 ## 测试 本次变更主要为示例代码、头文件注释、文档与 ST 测试数据的修正,不涉及算子 kernel 计算逻辑变更。 ## 文档更新 更新了 equal/greater/greater_equal/less/less_equal/not_equal 的 README.md,以及 equal/less/maximum/minimum/not_equal 的 docs/*.md。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6328 | 1 天前 | |
feat: 算子910B~910E区间判断追加IsRegBase()并统一DAV_3510硬编码判断以兼容后续Regbase芯片 Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !5467 merge q_aclnn_version into master feat: 算子910B~910E区间判断追加IsRegBase()并统一DAV_3510硬编码判断以兼容后续Regbase芯片 Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 以 RegBase 架构(NpuArch = DAV_3510,含 Ascend950 及后续 Regbase 芯片)兼容为目标,统一两类芯片判断写法: 1. **区间判断追加**:对 13 个算子 op_api 中 GetSocVersion() >= ASCEND910B && GetSocVersion() <= ASCEND910E 区间判断追加 || IsRegBase(),使 RegBase 平台在 SocVersion 区间之外时也复用 910B 支持分支(放开 BF16 dtype 校验) 2. **硬编码统一**:将 11 个算子文件中 case NpuArch::DAV_3510: 硬编码判断改为 IsRegBase() 谓词,后续 Regbase 芯片(IsRegBase 集合扩展新 arch 值时)无需逐文件修改即可自动命中 ## 修改内容一:区间判断追加(13 个文件,15 处) | 算子 | 文件 | 修改位置 | |------|------|----------| | less | math/less/op_api/aclnn_lt_scalar.cpp | GetDtypeSupportList、GetOutDtypeSupportList(2 处) | | less | math/less/op_api/aclnn_lt_tensor.cpp | GetDtypeSupportList、GetOutDtypeSupportList(2 处) | | less_equal | math/less_equal/op_api/aclnn_le_scalar.cpp | GetOutputDtypeSupportList(1 处) | | logical_or | math/logical_or/op_api/aclnn_logical_or.cpp | CheckSocVersionIsSupportBf16(1 处) | | maximum | math/maximum/op_api/aclnn_maximum.cpp | GetDtypeSupportList(1 处) | | minimum | math/minimum/op_api/aclnn_minimum.cpp | GetDtypeSupportList(1 处) | | mul | math/mul/op_api/aclnn_mul.cpp | GetDtypeSupportList(1 处) | | not_equal | math/not_equal/op_api/aclnn_logical_xor.cpp | CheckSocVersionIsSupportBf16(1 处) | | pow | math/pow/op_api/aclnn_pow.cpp | CheckSocVersionIsSupportBf16(1 处) | | pow | math/pow/op_api/aclnn_pow_tensor_tensor.cpp | CheckSocVersionIsSupportBf16(1 处) | | signbit | math/signbit/op_api/aclnn_signbit.cpp | GetDtypeSupportList(1 处) | | sub | math/sub/op_api/sub.cpp | IsAiCoreSupport(1 处) | | equal | math/tensor_equal/op_api/aclnn_equal.cpp | CheckSocVersionGe910B(1 处) | 其中 sub.cpp、aclnn_pow_tensor_tensor.cpp、aclnn_logical_xor.cpp、aclnn_equal.cpp 补充 #include "op_api/aclnn_check.h"。 pow.cpp 的 IsAiCoreSupport、aclnn_ne_scalar.cpp、aclnn_ne_tensor.cpp:区间判断前已有 if (IsRegBase()) 提前返回分支(追加会造成死条件),经评审不修改。 ## 修改内容二:硬编码判断统一(11 个文件,13 处) ### A类:switch 双 case(DAV_3510 与 DAV_2201 同分支,8处) switch 前置 if (IsRegBase(curArch)) 返回原 DAV_3510 分支列表,删除 case NpuArch::DAV_3510: fall-through 行: - Add:math/add/op_api/add.cpp、aclnn_add.cpp - Sub:math/sub/op_api/aclnn_sub.cpp、aclnn_rsub.cpp - div:math/div/op_api/div.cpp(补 include) - floordiv:math/floor_div/op_api/floordiv.cpp(补 include) - tanhgrad:math/tanh_grad/op_api/aclnn_tanh_backward.cpp - floormod:math/floor_mod/op_api/aclnn_remainder.cpp ### B类:switch 独立 case(DAV_3510 单独返回 REGBASE 专用列表,3处) switch 前置 if (IsRegBase(curArch)) 返回 REGBASE 列表,删除独立 case 块: - mul:math/mul/op_api/mul.cpp(REGBASE_AICORE_DTYPE_SUPPORT_LIST) - equal:math/equal/op_api/aclnn_eq_tensor.cpp、aclnn_eq_scalar.cpp(REGBASE_DTYPE_SUPPORT_LIST) ## 关联的Issue - #3100 (math仓910B~910E区间判断的RegBase兼容遗留清理:isclose恒真条件bug、8个同类判断文件未覆盖IsRegBase) ## 测试 - pre-commit 检查(clang-format/codespell/OAT 等)全部通过(含对修改文件的全量格式化) - 全部修改文件 g++ -fsyntax-only 语法验证通过 - 已触发 compile 编译 - 建议测试项: 1. RegBase(DAV_3510)平台验证上述算子 BF16 输入/输出 dtype 校验与 910B 平台一致 2. Ascend950 平台回归 A/B 类算子 dtype 选择行为不变 3. 回归 910B~910E、910/1980、310/310P 平台行为不受影响 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ### 关联issue - [cann/ops-math#5512(报错 dtype 支持列表双层中括号修复,同改 aclnn_remainder.cpp/eq 系列)](https://gitcode.com/cann/ops-math/pull/5512) - [cann/ops-math#5519(RemainderScalarTensor Regbase 计算类型校验,同改 aclnn_remainder.cpp)](https://gitcode.com/cann/ops-math/pull/5519) - [cann/ops-nn#10101(ops-nn 侧同类 Regbase 判断统一)](https://gitcode.com/cann/ops-nn/pull/10101) See merge request: cann/ops-math!5467 | 1 个月前 | |
fix: 修复比较类算子示例资源泄漏、文档错误与代码格式问题 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !6328 merge code_check_1013 into master fix: 修复比较类算子示例资源泄漏、文档错误与代码格式问题 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 本 PR 针对 equal、greater、greater_equal、less、less_equal、maximum、minimum、not_equal 共 8 个比较类算子,修复代码检视(code check)发现的问题,具体包括: 1. 修复示例代码资源管理缺陷:examples/*.cpp 改用 RAII(std::unique_ptr + 自定义删除器)统一管理 aclrtStream、device 侧内存、aclTensor、aclScalar 等资源,避免异常路径下资源泄漏。 2. 修复头文件复制粘贴错误:maximum_struct.h 中 tiling key 误写为 Minimum,修正为 Maximum;greater_proto.h 中精度约束公式 (x2 - x1) 修正为 (x1 - x2)。 3. 修复文档注释错误:aclnn_eq_tensor.h 中 workspaceSize 描述引用错误接口名 aclnnInplaceAddGetWorkspaceSize,修正为 aclnnInplaceEqTensorGetWorkspaceSize。 4. 修复文档描述问题:修正 README 与 docs 中失效链接、参数名(self → tensors)、错误码行数、数据类型表格填充、章节标题等。 5. 修复测试用例数据:less 算子 ST 用例 ttk_kernel_less_st.csv 中 uint64 infnan 用例数据类型由 uint64 修正为 float32。 6. 规范代码格式:清理行尾空格、规范函数签名换行、补齐文件结尾换行符等。 ## 关联的Issue - #3619 ## 测试 本次变更主要为示例代码、头文件注释、文档与 ST 测试数据的修正,不涉及算子 kernel 计算逻辑变更。 ## 文档更新 更新了 equal/greater/greater_equal/less/less_equal/not_equal 的 README.md,以及 equal/less/maximum/minimum/not_equal 的 docs/*.md。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6328 | 1 天前 | |
[ascend350] 15个算子新增ascend350平台支持 Co-authored-by: Developer user<zhuzixian1@h-partners.com> # message auto-generated for no-merge-commit merge: !5523 merge ascend350_adapt into master [ascend350] 15个算子新增ascend350平台支持 Created-by: zhuzixian-lr Commit-by: Developer user Merged-by: cann-robot Description: ## 描述 15个算子新增ascend350平台支持:muls、addcdiv、addcmul、bias_add、div_no_nan、floor_div、floor_mod、lerp、less_equal、logical_and、logical_or、not_equal、select_v2、tanh_grad、clip_by_value_v2。 修改模式(350与ascend950完全同配,两者同为 DAV_3510,走同一代码分支): - op_host/<op>_def.cpp:追加 AddConfig("ascend350"),复用 ascend950 同一 config 对象 - CMakeLists:SUPPORT_COMPUTE_UNIT/SUPPORT_TILING_DIR 增加 ascend350/arch35(含 add_kernel_sources 块 COMPUTE_UNITS) - op_host/config/ascend350/:拷贝 ascend950 的 <op>_binary.json(不拷 simplified_key.ini) - scripts/kernel/binary_config/ascendc_config.json:compute_units 加 ascend350,compile_options 与 ascend950 逐项相同(仅对 json 中已有条目的算子修改,原无条目的算子不新增登记,避免影响既有编译选项行为) ## 测试 A5(Ascend950PR)环境实测: - build.sh --pkg --soc=ascend350 --ops=<op> --vendor_name=customize -j4 全部 15 算子编译通过(self config 日志、ascend350 kernel .o 产物、run 包产出、json 选项注入均验证) - 950 硬件伪装 350 路径(ASCEND_OPP_PATH overlay + Short_SoC_version=Ascend350)ttk kernel 精度验证:已验收算子 bin_precision 100%、precision_status 全 PASS(muls 100用例、bias_add 100用例等,详见验收记录) - pre-commit 全部检查通过(按文件运行,含 clang-format/codespell/OAT 合规) ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3114 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 ## SocVersion 判断合规化(2026-09-11 追加) - 规则:不允许 SocVersion 区间判断隐式覆盖芯片,950/350 需显式 IsRegBase() 判断,不再依赖枚举顺序副作用 - 本 MR 清单 18 处复查结果:1 处由本 MR 修改(math/equal/op_api/aclnn_isin.cpp,清单中唯一未被 master 覆盖处);13 处已被 master !5467(823210994)修复,rebase 后去重不再重复修改;4 处跳过(math/not_equal/op_api/aclnn_ne_scalar.cpp×2、aclnn_ne_tensor.cpp×2,区间判断前已有 if (IsRegBase()) 提前返回兜底,追加会造成死条件) - 改法:保留原 [ASCEND910B, ASCEND910E] 区间(覆盖 910B/910C/910E),或逻辑增加 IsRegBase()(显式覆盖 regbase 芯片) - 行为零变化:950 原区间命中(true)→现 IsRegBase()(true);350 原被区间覆盖(true)→现 IsRegBase()(true);910B/C/E 走原区间不变 - 分支已 rebase 至最新 upstream master See merge request: cann/ops-math!5523 | 1 个月前 | |
refactor: 规范化 math仓部分算子代码格式 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !6203 merge ccc_1010 into master refactor: 规范化 math仓部分算子代码格式 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 本次改动对 math/ 目录下 9 个算子(Equal、FloorDiv、Greater、GreaterEqual、Less、LessEqual、Maximum、Minimum、NotEqual)进行代码格式规范化,不涉及任何功能变更。 ### 改动原因 统一代码风格,符合 clang-format 规范,提升可读性与可维护性。 ### 改动方法 1. 按 clang-format 规范统一缩进、换行与对齐; 2. 补充缺失的文件末尾换行符; 3. 清理尾随空格与多余空行; 4. 修复配置文件注释拼写错误(build-in → built-in); 5. 统一 Python 测试脚本 docstring 风格(''' → """)。 ## 关联的Issue - #3467 ## 测试 本次改动仅涉及代码格式调整,无功能变更,不涉及二级冒烟、算子泛化等验证。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式规范化(重构) See merge request: cann/ops-math!6203 | 5 天前 | |
refactor: 为公共op_api头文件增加math后缀 Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !5839 merge refactor/math-prefix-common-headers into master refactor: 为公共op_api头文件增加math后缀 Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 ops-math/common/inc/op_api 中的 level2_base.h、level2_base_caculation.h、op_api_def.h 名称缺少仓库标识。在软件包合并交付或公共 include 目录集成时,存在被其他仓库同名文件覆盖,或因 include 路径顺序产生误引用的风险。 本 MR 参考同目录已有的 op_resource_math.h 命名,为三个公共头文件增加 _math 后缀,并通过兼容转发头分阶段迁移现有引用。 ## 修改内容 - 新增 level2_base_math.h、level2_base_caculation_math.h、op_api_def_math.h,作为带仓库标识的正式实现; - 原 level2_base.h、level2_base_caculation.h、op_api_def.h 保留为轻量兼容转发头,避免未迁移代码立即失效; - 新头文件之间的内部依赖统一使用 _math 后缀路径; - 更新 classify_rule.yaml,让 level2_base_math.h 继承原组件及 UT 覆盖率分类; - 将 89 处旧头文件引用迁移到新名称: - level2_base.h:20 处; - level2_base_caculation.h:9 处; - op_api_def.h:60 处; - 当前 MR 共修改 81 个文件,新增 434 行、删除 384 行。 为减少无关格式变化和后续合并冲突,本次未迁移会触发额外 clang-format、尾部空白或 EOF 修复,或组合触发既有 UT 隔离问题的文件。这些文件将拆分到后续 MR 逐步处理。 ## 剩余迁移 当前仓内仍有 67 处旧引用,分布在 65 个唯一文件中,继续通过兼容转发头工作: - level2_base.h:24 个文件; - level2_base_caculation.h:2 个文件; - op_api_def.h:41 个文件。 待旧引用分批迁移完成后,再结合实际打包和安装规则移除兼容转发头。本 MR 不移除旧头文件,也不声明已完成最终软件包去重。 ## 关联的 Issue 关联并在合入后关闭 #3243: https://gitcode.com/cann/ops-math/issues/3243 ## 测试 已完成: - 对本轮新增的 69 个纯引用替换文件逐行检查,80 组增删均仅修改目标 include,无其他代码或格式变化; - 额外纳入 aclnn_log10.cpp 和 aclnn_logdet.cpp,每个文件最终均为 3 行新增、3 行删除,低于 10 行修改阈值;math/sin/op_api/aclnn_sin.cpp 因聚合 UT 存在平台状态泄漏暂缓迁移; - 在 CANN 9.0.0 容器执行完整 pre-commit,尾部空白、EOF、clang-format、codespell 和 OAT 等检查全部通过; - 在 CANN 9.0.0 容器执行 bash build.sh --opapi -j32,全量构建通过; - 成功生成 build/libopapi_math.so,SHA-256:abaa8f8408979d931a8dad09f8e06875722fc42bbdddc72aaf9f14944bc163ea; - classify_rule.yaml 可正常解析,三个旧文件继续作为兼容转发头使用。 ## 文档更新 不涉及用户文档变更。 ## 类型标签 - [ ] Bug 修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他:代码重构 See merge request: cann/ops-math!5839 | 12 天前 | |
refactor: 规范化 math仓部分算子代码格式 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !6203 merge ccc_1010 into master refactor: 规范化 math仓部分算子代码格式 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 本次改动对 math/ 目录下 9 个算子(Equal、FloorDiv、Greater、GreaterEqual、Less、LessEqual、Maximum、Minimum、NotEqual)进行代码格式规范化,不涉及任何功能变更。 ### 改动原因 统一代码风格,符合 clang-format 规范,提升可读性与可维护性。 ### 改动方法 1. 按 clang-format 规范统一缩进、换行与对齐; 2. 补充缺失的文件末尾换行符; 3. 清理尾随空格与多余空行; 4. 修复配置文件注释拼写错误(build-in → built-in); 5. 统一 Python 测试脚本 docstring 风格(''' → """)。 ## 关联的Issue - #3467 ## 测试 本次改动仅涉及代码格式调整,无功能变更,不涉及二级冒烟、算子泛化等验证。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式规范化(重构) See merge request: cann/ops-math!6203 | 5 天前 | |
refactor: 规范化 math仓部分算子代码格式 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !6203 merge ccc_1010 into master refactor: 规范化 math仓部分算子代码格式 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 本次改动对 math/ 目录下 9 个算子(Equal、FloorDiv、Greater、GreaterEqual、Less、LessEqual、Maximum、Minimum、NotEqual)进行代码格式规范化,不涉及任何功能变更。 ### 改动原因 统一代码风格,符合 clang-format 规范,提升可读性与可维护性。 ### 改动方法 1. 按 clang-format 规范统一缩进、换行与对齐; 2. 补充缺失的文件末尾换行符; 3. 清理尾随空格与多余空行; 4. 修复配置文件注释拼写错误(build-in → built-in); 5. 统一 Python 测试脚本 docstring 风格(''' → """)。 ## 关联的Issue - #3467 ## 测试 本次改动仅涉及代码格式调整,无功能变更,不涉及二级冒烟、算子泛化等验证。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式规范化(重构) See merge request: cann/ops-math!6203 | 5 天前 | |
abs等算子A5实现 Co-authored-by: ly_cann_coder<liyao152@huawei.com> # message auto-generated for no-merge-commit merge: !495 merge develop into master abs等算子A5实现 Created-by: ly_cann_coder Commit-by: ly_cann_coder Merged-by: cann-robot Description: ## 描述 新增以下算子的A5实现 |序号| 算子 | 功能 | |--|--|--| |1| abs | 为输入张量的每一个元素取绝对值 | |2| add | 对输入完成相加操作 | |3| addcdiv | 张量运算函数,用于执行乘除加组合操作,将张量除法(带缩放)+ 张量加法合并为单个操作 | |4| addcmul | 张量运算函数,用于执行乘除加组合操作,将张量乘法(带缩放)+ 张量加法合并为单个操作 | |5| axpy | 源操作数中每个元素与标量求积后和目的操作数中的对应元素相加 | |6| bincount | 计算非负整数数组中每个数的频率 | |7| ceil | 返回输入tensor中每个元素向上取整的结果 | |8| clip_by_value_v2 | 将输入的所有元素限制在一定范围内 | |9| concat | 用于沿指定维度将多个输入 Tensor 进行拼接,输出包含所有输入数据按顺序拼接后的 Tensor | |10| concat_v2 | 用于沿指定维度将多个输入 Tensor 进行拼接,输出包含所有输入数据按顺序拼接后的 Tensor | |11| equal | 计算两个Tensor是否有相同的大小和元素,返回一个Bool类型 | |12|exp|返回一个新的张量,该张量的每个元素都是输入张量对应元素的指数| |13| fill | 对张量进行填充操作,支持非连续的Tensor操作 | |14| floor | 返回输入Tensor中每个元素向下取整,并将结果回填到输入Tensor中 | |15| floor_div | 完成除法计算,对余数向下取整 | |16| floor_mod | 用于计算两个数的模 | |17| is_neg_inf | 判断输入张量的元素是否为负无穷 | |18| is_pos_inf | 判断输入张量的元素是否为正无穷 | |19| less | 判断输入self中的每个元素是否小于输入other的值,返回一个Bool类型的Tensor | |20| less_equal | 判断输入self中的元素值是否小于等于other的值,并将self的每个元素的值与other值的比较结果写入out中 | |21| logical_and | 对两个输入张量的对应元素执行「与逻辑」判断,输出布尔型张量(True/False) | |22| log | 对输入张量x的元素,逐元素进行对数计算,并将结果保存到输出张量y中 | |23| not_equal | 逐元素比较两个输入张量是否不相等 | |24| ones_like | 返回形状和类型相同的张量,所有元素都设置为1 | |25|sign|对输入的tensor逐元素进行Sign符号函数的运算并输出结果tensor| |26| sqrt | 完成非负数平方根计算,负数情况返回nan | |27| sqrt_grad | 完成梯度平方根计算 | |28| square | 为输入张量的每一个元素计算平方值 | |29| squared_difference | 为第一个输入张量减去第二个输入张量,并计算其平方值 | |30| tanh | 激活函数,返回与输入tensor shape相同的tensor,对输入tensor进行elementwise的计算 | |31| tril | 将输入的self张量的最后二维(按shape从左向右数)沿对角线的右上部分置零 | |32| triu | 将输入的self张量的最后二维(按shape从左向右数)沿对角线的左下部分置零 | |33| zeros_like | 将张量填充为全零 | ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!495 | 9 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 天前 | ||
| 1 个月前 | ||
| 1 天前 | ||
| 1 个月前 | ||
| 5 天前 | ||
| 12 天前 | ||
| 5 天前 | ||
| 5 天前 | ||
| 9 个月前 |