| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix(floor_mod,floor_div): 修复日志拼写 form→from 及字符串拼接缺空格 Co-authored-by: sun-yibo1<sunyibo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !4779 merge fix/log-spelling-semantic into master fix(floor_mod,floor_div): 修复日志拼写 form→from 及字符串拼接缺空格 Created-by: sun-yibo1 Commit-by: sun-yibo1 Merged-by: cann-robot Description: ## 描述 修复 floor_mod 和 floor_div 两个算子中的日志拼写错误与字符串拼接缺空格问题。参照 log_audit_report.md 中 floor_div 的 3 处发现,全部修复。 ### 改动原因 1. **form → from 拼写错误**(floor_mod + floor_div 的 arch35 tiling,各 2 处): - "Get ubSize form compileInfo" → "Get ubSize from compileInfo" - "Get ubSize form ascendcPlatform" → "Get ubSize from ascendcPlatform" 2. **字符串拼接缺空格**(floor_div 的 aclnn_floor_divide.cpp,1 处): - C++ 相邻字符串字面量 "...dtype %s," + "should be..." 运行时拼接为 "%s,should"(逗号后缺空格) - 修复为 "...dtype %s, " + "should be..." → "%s, should" ### 改动方法 - 仅修改日志文案,不改动任何逻辑。 - 同时按 pre-commit clang-format 要求对文件做格式化(这些文件在 upstream 上即不满足 .clang-format,hook 强制格式化才能通过;纯格式,无语义变更)。 ### 涉及文件 - math/floor_mod/op_host/arch35/floor_mod_tiling_arch35.cpp(form→from,2 处) - math/floor_div/op_host/arch35/floor_div_tiling_arch35.cpp(form→from,2 处) - math/floor_div/op_api/aclnn_floor_divide.cpp(%s,should→%s, should,1 处) ## 关联的Issue - #2796 ## 测试 - 仅日志文案/格式修改,无逻辑变更,不影响编译与功能。 - 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!4779 | 1 个月前 | |
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 | 8 个月前 | |
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 | 19 天前 | |
aclnnDiv\aclnnDivMod混合数据类型内存优化 Co-authored-by: xiu_ling_wang<wangxiuling2@h-partners.com> # message auto-generated for no-merge-commit merge: !943 merge aclnndiv_aclnndivmod-memory into master aclnnDiv\aclnnDivMod混合数据类型内存优化 Created-by: xiu_ling_wang Commit-by: xiu_ling_wang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!943 | 7 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 8 个月前 | ||
| 19 天前 | ||
| 7 个月前 |