| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 7 天前 | |
fix: Acosh/Asinh 示例 include 路径加 aclnnop/ 前缀,修复默认模式编译找不到头文件 Co-authored-by: cann-robot<cann@cann.team> # message auto-generated for no-merge-commit merge: !4804 merge master into master fix: Acosh/Asinh 示例 include 路径加 aclnnop/ 前缀,修复默认模式编译找不到头文件 Created-by: Coder_Nerd Commit-by: cann-robot Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复Asinh、Acosh算子example运行失败问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/2669 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4804 | 2 个月前 | |
迁移开源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 | 2 个月前 | |
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 | 14 天前 | |
整改 Acosh/Asinh/Cosh/Real def 驱动、推导逻辑及异常拦截 Co-authored-by: m0_73979701<1958538170@qq.com> # message auto-generated for no-merge-commit merge: !4623 merge feat/def-dtype-infershape-exception-checks-v2 into master 整改 Acosh/Asinh/Cosh/Real def 驱动、推导逻辑及异常拦截 Created-by: m0_73979701 Commit-by: m0_73979701 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 整改了 acosh、asinh、cosh、real 四个算子的 def 驱动、推导逻辑及异常拦截: - def 驱动 dtype:acosh/asinh/real 删除多余 dtype TilingKey,kernel 使用 DTYPE_X/DTYPE_OUTPUT;cosh 保留既有非 dtype 单值调度轴。 - InferShape/InferDataType:InferShape 复用 Ops::Base::InferShape4Elewise 并保留在 op_host;InferDataType 放在 op_graph/*_graph_infer.cpp,其中 Real 保留 complex 到实数的特殊映射。 - 异常拦截:补充 RegBase 私有格式、rank、负 shape size、输入输出 shape/dtype 等校验。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-math/issues/2661 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> - bash build.sh --pkg --ops=acosh,asinh,cosh,real --soc=ascend950 -j8:通过,13 个 kernel 变体完成编译。 - InferShape UT:8/8 通过。 - API UT:53/53 通过。 - pre-commit 全量检查(含 clang-format、codespell、OAT):通过。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无,未修改 CMake、license、README/设计文档,也未改变 DISABLE_IN_OPP 配置。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-math!4623 | 2 个月前 | |
docs: 修复注释与代码不一致(asinh dtype 范围与 cdist UB 注释) Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6492 merge docs/comment-cleanup-20261019-19 into master docs: 修复注释与代码不一致(asinh dtype 范围与 cdist UB 注释) Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 - math/asinh/op_host/asinh_def.cpp:注释改为 FP32/FP16/BF16 均已实现。 - math/cdist/op_host/arch35/cdist_tiling_arch35.cpp:HL fp32 平面注释由 4096 元素/32KB 修正为 8192 元素/每平面 32KB(共 64KB)。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3801 ## 测试 - pre-commit(含 OAT):通过 - Markdown 链接/图片检查:无新增失效项 - Markdown 代码围栏检查:通过 - 全部 26 个分支合并验证:无冲突 ## 文档更新 - math/asinh/op_host/asinh_def.cpp - math/cdist/op_host/arch35/cdist_tiling_arch35.cpp ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6492 | 11 小时前 | |
fix(asinh): improve large-value precision Co-authored-by: wang-xing001<wangxing73@huawei.com> # message auto-generated for no-merge-commit merge: !4822 merge fix/asinh-large-value-precision into master fix(asinh): improve large-value precision Created-by: m0_73979701 Commit-by: wang-xing001 Merged-by: cann-robot Description: ## 描述 修复 Asinh 在中大数值区间的精度问题。 原有实现对所有非小值统一使用 log(u) * r / (u - 1) 补偿;该补偿在中大数值区间会额外引入约 1~2 ULP 误差。本次改动按输入绝对值进行分段处理: - |x| < 10:保留原有 log1p 补偿路径,保证小值精度; - 10 <= |x| < 2^28:直接保留 log(u),避免额外乘除带来的精度损失; - |x| >= 2^28:使用 log(|x|) + ln(2) + 1 / |x|^2 渐近式,避免 u ≈ 2|x| 溢出; - 保留 NaN 传播语义。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2734 ## 测试 - 使用 Asinh 对应的 golden 和测试用例完成三方精度测试; - 修改后的 Asinh 三方精度测试全部通过; - 覆盖 FP32、FP16、BF16 及中值、大值、极大值和 NaN 场景。 ## 文档更新 无文档更新。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4822 | 2 个月前 | |
fix(aicpu): correct op def config for math ops Co-authored-by: zhaowenrui666<zhaowenrui7@huawei.com> # message auto-generated for no-merge-commit merge: !2876 merge opdeffix into master fix(aicpu): correct op def config for math ops Created-by: zhaowenrui666 Commit-by: zhaowenrui666 Merged-by: cann-robot Description: ## 描述 修正一批 math 仓 AICPU 算子的 op def 配置信息错误。 本次修改主要覆盖 opsFlag、subTypeOfInferShape、formatAgnostic 等配置项;其中与默认配置一致的场景,优先回收为默认值,减少冗余显式配置。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1633 ## 测试 完成静态检查与配置项比对,确认相关算子的 def 配置修改后符合预期。 ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2876 | 4 个月前 | |
整改 Acosh/Asinh/Cosh/Real def 驱动、推导逻辑及异常拦截 Co-authored-by: m0_73979701<1958538170@qq.com> # message auto-generated for no-merge-commit merge: !4623 merge feat/def-dtype-infershape-exception-checks-v2 into master 整改 Acosh/Asinh/Cosh/Real def 驱动、推导逻辑及异常拦截 Created-by: m0_73979701 Commit-by: m0_73979701 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 整改了 acosh、asinh、cosh、real 四个算子的 def 驱动、推导逻辑及异常拦截: - def 驱动 dtype:acosh/asinh/real 删除多余 dtype TilingKey,kernel 使用 DTYPE_X/DTYPE_OUTPUT;cosh 保留既有非 dtype 单值调度轴。 - InferShape/InferDataType:InferShape 复用 Ops::Base::InferShape4Elewise 并保留在 op_host;InferDataType 放在 op_graph/*_graph_infer.cpp,其中 Real 保留 complex 到实数的特殊映射。 - 异常拦截:补充 RegBase 私有格式、rank、负 shape size、输入输出 shape/dtype 等校验。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-math/issues/2661 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> - bash build.sh --pkg --ops=acosh,asinh,cosh,real --soc=ascend950 -j8:通过,13 个 kernel 变体完成编译。 - InferShape UT:8/8 通过。 - API UT:53/53 通过。 - pre-commit 全量检查(含 clang-format、codespell、OAT):通过。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无,未修改 CMake、license、README/设计文档,也未改变 DISABLE_IN_OPP 配置。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-math!4623 | 2 个月前 | |
适配ascend350:11个conversion/math算子新增ascend350计算单元支持 Co-authored-by: ly_cann_coder<liyao152@huawei.com> # message auto-generated for no-merge-commit merge: !6424 merge ascend350 into master 适配ascend350:11个conversion/math算子新增ascend350计算单元支持 Created-by: ly_cann_coder Commit-by: ly_cann_coder Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 11个conversion/math算子新增ascend350计算单元支持 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3649 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6424 | 3 天前 | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 7 天前 |
Asinh
反双曲正弦(Inverse Hyperbolic Sine)算子,对应PyTorch
torch.asinh/torch.asinh_。 在线aclnn API文档:docs/aclnnAsinh&aclnnInplaceAsinh.md
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR&950DT系列产品 | √ |
| Atlas A3系列产品 | √ |
| Atlas A2系列产品 | √ |
| Atlas 200I/500 A2推理产品 | √ |
| Atlas推理系列产品 | √ |
| Atlas训练系列产品 | √ |
功能说明
-
接口功能:对输入Tensor中的每个元素进行反双曲正弦操作后输出。
-
计算公式:
yi=ln(xi+xi2+1)y_{i}=ln(x_{i} + \sqrt{x_{i}^2 + 1}) yi=ln(xi+xi2+1)
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x | 输入 | 公式中的输入x,dtype与y一致,shape任意(0~8维),支持空Tensor,支持非连续Tensor。 | FLOAT、FLOAT16、BFLOAT16 | ND |
| y | 输出 | 公式中的输出y,shape与x完全一致;非原地接口专有。 | FLOAT、FLOAT16、BFLOAT16 | ND |
| selfRef | 输入/输出 | 原地接口专有,既作输入又作输出的张量,计算结果原地写回。 | FLOAT、FLOAT16、BFLOAT16 | ND |
约束说明
无
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用(非原地) | examples/test_aclnn_asinh.cpp | 参考ops-math仓库根build.sh完成算子编译与算子包安装,再用examples验证(NPU真机)。 |
| 图模式(GE IR)调用 | examples/test_geir_asinh.cpp |