| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
md大模型检测低错修改 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5183 merge master into master md大模型检测低错修改 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> md大模型检测低错修改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 2466](https://gitcode.com/cann/ops-math/issues/2446) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5183 | 17 天前 | |
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 | 28 天前 | |
迁移开源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: 修复代码规范问题,统一const修饰与字面量规范化 Co-authored-by: ljt<luojiangtao4@huawei.com> # message auto-generated for no-merge-commit merge: !4925 merge master into master fix: 修复代码规范问题,统一const修饰与字面量规范化 Created-by: xiafengkou Commit-by: ljt Merged-by: cann-robot Description: ## 描述 本次改动对 math 目录下相关算子文件进行代码规范修复,**不改变任何原有代码逻辑与算子行为**,未改动任何公开接口与调用方式,确保不影响既有 UT 与 CI 流程。修复内容如下: **1. 只读参数补充 const 修饰(G.CNS.04-CPP,10 处)** - 涉及文件:reduce_log_sum_exp/op_api/aclnn_logsumexp.cpp(CheckShape/CheckPromoteType/CheckDtypeValid)、reduce_var/op_api/aclnn_var.cpp(CheckShape/CheckDtypeValid)、reduce_var/op_api/aclnn_var_mean.cpp(CheckDtypeValid/CheckShape)、addr/op_api/aclnn_addr.cpp(CheckDtypeValid)、cosh/op_api/aclnn_cosh.cpp(CheckInplaceDtypeValid)。 - 方法:为这些只读校验函数中不修改对象本身的 aclTensor* 输出参数添加 const。均为函数内部 static 校验函数的签名调整,调用方无需任何改动。 **2. 字面量提取为命名常量(G.CNS.02-CPP,1 处)** - cross/op_host/arch35/cross_tiling.cpp:cross 维度大小字面量 3 提取为常量 CROSS_DIM_SIZE,消除难以理解的魔法数字。 **3. 其他规范问题(3 处)** - cross/op_host/arch35/cross_tiling.cpp:删除注释掉的死代码 // coreNum = 1;(G.EXP.43-CPP)。 - reduce_mean_with_count/op_api/reduce_mean_with_count.cpp:axisSet.count(d) 改为 axisSet.count(d) > 0,使 if 条件为显式布尔表达式(G.EXP.36-CPP)。 - asinh/op_api/aclnn_asinh.cpp:删除变量声明与 if 之间的冗余空行(G.FMT.17-CPP)。 **4. 成员变量显式初始化(G.CLS.01-CPP,2 处)** - cross/op_host/arch35/cross_tiling.h、polar/op_host/arch35/polar_tiling.h:未初始化的 compileInfo_ 指针成员显式初始化为 nullptr。 ## 关联的Issue 无 ## 测试 - 已通过 IDE 语言诊断检查,无新增编译告警/错误。 - 已通过 git diff 全量复核,确认所有改动均为规范层面的等价改写(const 修饰、字面量常量化、删除死代码/冗余空行、布尔表达式显式化、成员初始化),不影响算子原有计算逻辑与分支。 - 未修改算子 kernel 计算流程与任何公开 API 签名,不影响既有调用方。 ## 文档更新 无文档改动。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码规范修复(const 修饰、字面量常量化、删除死代码/冗余空行、布尔表达式显式化、成员变量初始化) See merge request: cann/ops-math!4925 | 25 天前 | |
整改 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 | 29 天前 | |
整改 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 | 29 天前 | |
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 | 27 天前 | |
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 | 3 个月前 | |
整改 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 | 29 天前 | |
新增asin asinh tanh_grad三个AICPU算子 Co-authored-by: Ding_Jing<dingjing19@huawei.com> # message auto-generated for no-merge-commit merge: !2654 merge add_tanh_asin_op into master 新增asin asinh tanh_grad三个AICPU算子 Created-by: Ding_Jing Commit-by: Ding_Jing Merged-by: cann-robot Description: ## 描述 本次 PR 新增三个 AICPU 算子实现: ### Asin(反正弦) - 实现文件: math/asin/op_kernel_aicpu/asin_aicpu.cpp - 支持 dtype: float16, float, double - 使用 std::asin 实现单元素计算,支持多核并行分发 ### Asinh(反双曲正弦) - 实现文件: math/asinh/op_kernel_aicpu/asinh_aicpu.cpp - 支持 dtype: float16, float, double, complex64, complex128 - 使用 std::asinh 实现,复数类型通过 std::asinh(std::complex) 计算 ### TanhGrad(双曲正切反向) - 实现文件: math/tanh_grad/op_kernel_aicpu/tanh_grad_aicpu.cpp - 支持 dtype: float16, float, double, complex64, complex128 - 实现梯度公式: z = dy * (1 - y * y) - 支持 complex_conj 属性,控制复数计算时是否取共轭 ## 关联的Issue #1534 ## 测试 根据代码变更,测试场景如下: 1. **AICPU 单元测试** - test_asin.cpp: 验证 Asin 各 dtype 计算正确性 - test_asinh.cpp: 验证 Asinh 各 dtype(含 complex)计算正确性 - test_tanh_grad.cpp: 验证 TanhGrad 正向和 complex_conj 模式正确性 2. **Example 执行测试** - test_geir_asin.cpp: GE IR 运行验证 - test_geir_asinh.cpp: GE IR 运行验证 - test_geir_tanh_grad.cpp: GE IR 运行验证 3. **构建测试** - math/asinh/CMakeLists.txt: 验证 CMake 配置变更正确 4. **文档验证** - docs/zh/op_list.md: 确认算子支持列表更新正确 ## 文档更新 - 更新 docs/zh/op_list.md,标注 Asin、Asinh、TanhGrad 支持 AI CPU ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-math!2654 | 4 个月前 | |
docs: 对齐 math 算子产品支持信息 Co-authored-by: gcw_YBIAEfqJ<wangweidong15@huawei.com> # message auto-generated for no-merge-commit merge: !5142 merge docs/canndev-product-support-matrix into master docs: 对齐 math 算子产品支持信息 Created-by: gcw_YBIAEfqJ Commit-by: gcw_YBIAEfqJ Merged-by: cann-robot Description: ## 描述 依据产品与芯片配置映射,修正 math 正式主仓算子的产品支持信息,并补全 Tan 算子 kernel README。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3063 ## 测试 - 18/18 math 算子产品支持矩阵校验通过 ## 文档更新 更新 15 个 math 算子 README 的产品支持信息,并补全 Tan 算子 kernel README。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-math!5142 | 18 天前 |
Asinh
反双曲正弦(Inverse Hyperbolic Sine)算子,对应PyTorch
torch.asinh/torch.asinh_。 在线aclnn API文档:docs/aclnnAsinh&aclnnInplaceAsinh.md
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/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 |