| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
docs目录基本概念md文件名改为英文 Co-authored-by: chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !4182 merge master into master docs目录基本概念md文件名改为英文 Created-by: gitcode-chenjiao Commit-by: chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> docs目录基本概念md文件名改为英文: 避免link中的中文字符引发的跳转异常,例如两段式接口.md变成%E4%B8%A4%E6%AE%B5%E5%BC%8F%E6%8E%A5%E5%8F%A3.md,不易于维护,可能导致其他平台跳转有问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2283](https://gitcode.com/cann/ops-math/issues/2283) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> docs/zh/context所有md和对应的link ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4182 | 23 天前 | |
950支持静态库功能检查与修正 Co-authored-by: sunwenlong<sunwenlong8@huawei.com> # message auto-generated for no-merge-commit merge: !1872 merge static into master 950支持静态库功能检查与修正 Created-by: LuckySun Commit-by: sunwenlong Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 950支持静态库功能检查与修正。 使用新的tiling模板注册接口。 修改examples中的数据类型,因为走AICORE时不支持double ## 关联的Issue [[Bug-Report|缺陷反馈]: 静态库执行算子样例时出现错误](https://gitcode.com/cann/ops-math/issues/1074) ## 测试 算子样例执行通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!1872 | 4 个月前 | |
资料与头文件接口不一致问题修复 Co-authored-by: weike<weike13@huawei.com> # message auto-generated for no-merge-commit merge: !3652 merge master into master 资料与头文件接口不一致问题修复 Created-by: m0_55003149 Commit-by: weike Merged-by: cann-robot Description: ## 描述 资料与头文件接口不一致问题修复 ## 关联的Issue #3736 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:资料与头文件接口不一致问题修复 See merge request: cann/ops-math!3652 | 1 个月前 | |
update aicpu files copyright and fix opkernel ut cov Co-authored-by: “qiang_zq”<qiang.zhangqiang@huawei.com> # message auto-generated for no-merge-commit merge: !655 merge master into master update aicpu files copyright and fix opkernel ut cov Created-by: qiang_zq Commit-by: “qiang_zq” Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复opkernel ut 覆盖率功能异常, ting_tmp增加 链接 intf_llt_pub_asan_cxx17 更新aicpu files copyright ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:更新aicpu files copyright See merge request: cann/ops-math!655 | 6 个月前 | |
[CANNBOT] sinh 适配Ascend950 Ascendc实现 Co-authored-by: gcw_YBIAEfqJ<wangweidong15@huawei.com> # message auto-generated for no-merge-commit merge: !2742 merge 0513 into master [CANNBOT] sinh 适配Ascend950 Ascendc实现 Created-by: gcw_YBIAEfqJ Commit-by: gcw_YBIAEfqJ Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> sinh 当前实现逻辑 分支 1 — Taylor 多项式(|x| < 1): sinh(x) = x + x³ · P(x²) P(x²) = ((c₅·x² + c₄)·x² + c₃)·x² + c₂ 系数:c₂=1/6, c₃=1/120, c₄=1/5040, c₅=1/362880 分支 2 — Offset-Exp 公式(|x| ≥ 1): t = exp(|x| - ln2) sinh(x) = sign(x) · (t - 0.25/t) 通过减去 ln2 避免 exp 溢出(相当于 exp(|x|)/2 - exp(-|x|)/2) 分支 3 — 溢出保护(|x| ≥ 90): result = sign(x) · ∞ 删除了多余的api 头文件 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1568 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> OBP冒烟:22133 二级冒烟:5449 ### sinh 测试覆盖总结 ┌────────────┬─────────────────────────────────────────────────┐ │ 维度 │ 覆盖情况 │ ├────────────┼─────────────────────────────────────────────────┤ │ 总用例数 │ ~848(TTK 735 + ST 100 + UT 13) │ ├────────────┼─────────────────────────────────────────────────┤ │ 数据类型 │ float32, float16, bfloat16, complex64(AICPU UT) │ ├────────────┼─────────────────────────────────────────────────┤ │ Shape 维度 │ 0D(标量) ~ 8D,含空张量 (0,) │ ├────────────┼─────────────────────────────────────────────────┤ │ 元素数量 │ 0 ~ 50000000 │ └────────────┴─────────────────────────────────────────────────┘ 数据值域: ┌─────────────────────────────────────────┬───────────────────────────────┐ │ 区间 │ 说明 │ ├─────────────────────────────────────────┼───────────────────────────────┤ │ [-0.001, 0.001] / [-1e-5, 1e-5] │ 极小值,Taylor 分支核心区 │ ├─────────────────────────────────────────┼───────────────────────────────┤ │ [-0.99, 0.99] │ Taylor 分支(|x|<1) │ ├─────────────────────────────────────────┼───────────────────────────────┤ │ [0.99, 1.01] / [-1.01, -0.99] │ 分支边界(Taylor↔Exp 切换点) │ ├─────────────────────────────────────────┼───────────────────────────────┤ │ [1, 10] / [-10, -1] │ Exp 分支正常区 │ ├─────────────────────────────────────────┼───────────────────────────────┤ │ [85, 90] / [-90, -85] │ 溢出边界(exp 接近 ±inf) │ ├─────────────────────────────────────────┼───────────────────────────────┤ │ [100, 500] │ 溢出区(结果应为 ±inf) │ ├─────────────────────────────────────────┼───────────────────────────────┤ │ denormal: 1.175e-38(fp32), 6.1e-5(fp16) │ 次正规数 │ └─────────────────────────────────────────┴───────────────────────────────┘ 异常场景: - ±inf 输入 → 输出 ±inf - NaN 输入 → 输出 NaN - ±0 输入 → 输出 ±0(保号性) - 空张量 (0,) → 空输出 - 9D 超维度 → 报错 - 空指针 / dtype 不匹配 → 报错 - Inplace 操作(aclnnInplaceSinh) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2742 | 2 个月前 | |
refactor: 将arch35算子kernel中MicroAPI接口统一迁移为Reg接口 Co-authored-by: tianqiguang<tianqiguang@huawei.com> # message auto-generated for no-merge-commit merge: !4187 merge master into master refactor: 将arch35算子kernel中MicroAPI接口统一迁移为Reg接口 Created-by: tianqiguang Commit-by: tianqiguang Merged-by: cann-robot Description: ## 描述 将 math 模块下 80+ 算子的 arch35 kernel 实现从 MicroAPI 接口迁移为 Reg(寄存器)接口,统一编程范式。 ### 改动范围 涉及算子: abs, abs_grad, add_n, adjacent_difference, arg_max_with_value, assign_add, assign_sub, atan2, bitwise_xor, cast, cdist, cdist_grad, ceil, complex_abs, cummin, cumsum, div, dot, exp, eye, floor, floor_div, floor_mod, fused_mul_add_n, grouped_bias_add_grad, inv, is_close, kth_value, lerp, lin_space, log, log1p, logical_or, mod, nan_to_num, neg, pow, power, reciprocal, reduce_all, reduce_any, reduce_log_sum_exp, reduce_nansum, reduce_prod, reduce_var, right_shift, rint, round, rsqrt, rsqrt_grad, sign, signbit, sinh, sort, sort_with_index, tanh, tanh_grad, tensor_equal, top_k_v2, trunc, truncate_div 等 ### 改动方式 - 将 MicroAPI 调用替换为等价 Reg API 调用 - 适配 arch35(ascend950)指令集特性 - 保持算子功能不变 ## 测试 - 涉及算子全量回归测试 ## 类型标签 - [x] 重构 ## 关联的Issue - #2295 See merge request: cann/ops-math!4187 | 21 天前 | |
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 | 3 个月前 | |
整改st目录下的atk用例统一目录格式 Co-authored-by: yue-ma<mayue54@huawei.com> # message auto-generated for no-merge-commit merge: !2579 merge master into master 整改st目录下的atk用例统一目录格式 Created-by: yue-ma Commit-by: yue-ma Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 整改st目录下的atk用例统一目录格式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1538 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:st用例目录整改 See merge request: cann/ops-math!2579 | 3 个月前 | |
[CANNBOT] sinh 适配Ascend950 Ascendc实现 Co-authored-by: gcw_YBIAEfqJ<wangweidong15@huawei.com> # message auto-generated for no-merge-commit merge: !2742 merge 0513 into master [CANNBOT] sinh 适配Ascend950 Ascendc实现 Created-by: gcw_YBIAEfqJ Commit-by: gcw_YBIAEfqJ Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> sinh 当前实现逻辑 分支 1 — Taylor 多项式(|x| < 1): sinh(x) = x + x³ · P(x²) P(x²) = ((c₅·x² + c₄)·x² + c₃)·x² + c₂ 系数:c₂=1/6, c₃=1/120, c₄=1/5040, c₅=1/362880 分支 2 — Offset-Exp 公式(|x| ≥ 1): t = exp(|x| - ln2) sinh(x) = sign(x) · (t - 0.25/t) 通过减去 ln2 避免 exp 溢出(相当于 exp(|x|)/2 - exp(-|x|)/2) 分支 3 — 溢出保护(|x| ≥ 90): result = sign(x) · ∞ 删除了多余的api 头文件 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1568 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> OBP冒烟:22133 二级冒烟:5449 ### sinh 测试覆盖总结 ┌────────────┬─────────────────────────────────────────────────┐ │ 维度 │ 覆盖情况 │ ├────────────┼─────────────────────────────────────────────────┤ │ 总用例数 │ ~848(TTK 735 + ST 100 + UT 13) │ ├────────────┼─────────────────────────────────────────────────┤ │ 数据类型 │ float32, float16, bfloat16, complex64(AICPU UT) │ ├────────────┼─────────────────────────────────────────────────┤ │ Shape 维度 │ 0D(标量) ~ 8D,含空张量 (0,) │ ├────────────┼─────────────────────────────────────────────────┤ │ 元素数量 │ 0 ~ 50000000 │ └────────────┴─────────────────────────────────────────────────┘ 数据值域: ┌─────────────────────────────────────────┬───────────────────────────────┐ │ 区间 │ 说明 │ ├─────────────────────────────────────────┼───────────────────────────────┤ │ [-0.001, 0.001] / [-1e-5, 1e-5] │ 极小值,Taylor 分支核心区 │ ├─────────────────────────────────────────┼───────────────────────────────┤ │ [-0.99, 0.99] │ Taylor 分支(|x|<1) │ ├─────────────────────────────────────────┼───────────────────────────────┤ │ [0.99, 1.01] / [-1.01, -0.99] │ 分支边界(Taylor↔Exp 切换点) │ ├─────────────────────────────────────────┼───────────────────────────────┤ │ [1, 10] / [-10, -1] │ Exp 分支正常区 │ ├─────────────────────────────────────────┼───────────────────────────────┤ │ [85, 90] / [-90, -85] │ 溢出边界(exp 接近 ±inf) │ ├─────────────────────────────────────────┼───────────────────────────────┤ │ [100, 500] │ 溢出区(结果应为 ±inf) │ ├─────────────────────────────────────────┼───────────────────────────────┤ │ denormal: 1.175e-38(fp32), 6.1e-5(fp16) │ 次正规数 │ └─────────────────────────────────────────┴───────────────────────────────┘ 异常场景: - ±inf 输入 → 输出 ±inf - NaN 输入 → 输出 NaN - ±0 输入 → 输出 ±0(保号性) - 空张量 (0,) → 空输出 - 9D 超维度 → 报错 - 空指针 / dtype 不匹配 → 报错 - Inplace 操作(aclnnInplaceSinh) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2742 | 2 个月前 | |
docs目录基本概念md文件名改为英文 Co-authored-by: chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !4182 merge master into master docs目录基本概念md文件名改为英文 Created-by: gitcode-chenjiao Commit-by: chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> docs目录基本概念md文件名改为英文: 避免link中的中文字符引发的跳转异常,例如两段式接口.md变成%E4%B8%A4%E6%AE%B5%E5%BC%8F%E6%8E%A5%E5%8F%A3.md,不易于维护,可能导致其他平台跳转有问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2283](https://gitcode.com/cann/ops-math/issues/2283) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> docs/zh/context所有md和对应的link ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4182 | 23 天前 |
Sinh
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |
功能说明
-
算子功能:对输入Tensor完成sinh运算。
-
计算公式:
out= sinh(self)out = {\ {{sinh}{(self)}}} out= sinh(self)
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x | 输入 | 公式中的输入张量x。 | INT8、INT16、INT32、INT64、UINT8、BOOL、FLOAT、BFLOAT16、FLOAT16、DOUBLE | ND |
| y | 输出 | 公式中的输出张量y。 | FLOAT、BFLOAT16、FLOAT16、DOUBLE | ND |
约束说明
- 输入类型为INT8、INT16、INT32、INT64、UINT8、BOOL时,转化为FLOAT32进行运算,输出FLOAT32类型。支持非连续的Tensor,数据格式支持ND,非连续的Tensor维度不大于8,且输入与输出的shape需要一致。
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用 | test_aclnn_sinh | 通过aclnnSinh&aclnnInplaceSinh接口方式调用Sinh算子。 |
| 图模式调用 | test_geir_sinh | 通过算子IR构图方式调用Sinh算子。 |