| Files | Last commit | Last update |
|---|---|---|
[CANNBOT]tan atanh算子适配Ascend950 Ascendc实现 Co-authored-by: gcw_YBIAEfqJ<wangweidong15@huawei.com> # message auto-generated for no-merge-commit merge: !2892 merge 0522 into master [CANNBOT]tan atanh算子适配Ascend950 Ascendc实现 Created-by: gcw_YBIAEfqJ Commit-by: gcw_YBIAEfqJ Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> tan atanh算子适配Ascend950 Ascendc实现 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1642 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> # Tan 算子 TTK 测试用例总结 总计 346 个用例,全部 PASS。 按数据类型 ┌──────────┬──────────┬────────┬─────────────────────────┬────────┐ │ 输入类型 │ 输出类型 │ 用例数 │ 精度容忍度 (rtol, atol) │ 通过率 │ ├──────────┼──────────┼────────┼─────────────────────────┼────────┤ │ float32 │ float32 │ 95 │ (0.0001, 0.0001) │ 95/95 │ ├──────────┼──────────┼────────┼─────────────────────────┼────────┤ │ float16 │ float16 │ 95 │ (0.001, 0.001) │ 95/95 │ ├──────────┼──────────┼────────┼─────────────────────────┼────────┤ │ bfloat16 │ bfloat16 │ 91 │ (0.004, 0.004) │ 91/91 │ ├──────────┼──────────┼────────┼─────────────────────────┼────────┤ │ int32 │ float32 │ 65 │ (0.0001, 0.0001) │ 65/65 │ └──────────┴──────────┴────────┴─────────────────────────┴────────┘ 按张量维度 ┌──────┬─────┬─────┬─────┬─────┬─────┐ │ 维度 │ 1D │ 2D │ 3D │ 4D │ 5D │ ├──────┼─────┼─────┼─────┼─────┼─────┤ │ 数量 │ 190 │ 74 │ 36 │ 29 │ 17 │ └──────┴─────┴─────┴─────┴─────┴─────┘ 按输入数据范围 ┌─────────────────────────┬────────┬────────────────┐ │ 范围 │ 用例数 │ 覆盖场景 │ ├─────────────────────────┼────────┼────────────────┤ │ (-1e-6, 1e-6) │ 43 │ 极小值/零附近 │ ├─────────────────────────┼────────┼────────────────┤ │ (-0.5, 0.5) │ 35 │ 小角度 │ ├─────────────────────────┼────────┼────────────────┤ │ (-0.785, 0.785) │ 45 │ ±π/4 以内 │ ├─────────────────────────┼────────┼────────────────┤ │ (-1.0, 1.0) / (-1, 1) │ 47 │ 一般范围 │ ├─────────────────────────┼────────┼────────────────┤ │ (-1.5, 1.5) │ 45 │ 接近 ±π/2 极点 │ ├─────────────────────────┼────────┼────────────────┤ │ (-π, π) / (-3.14, 3.14) │ 32 │ 全周期 │ ├─────────────────────────┼────────┼────────────────┤ │ (-10, 10) │ 30 │ 多周期 │ ├─────────────────────────┼────────┼────────────────┤ │ (-100, 100) │ 37 │ 大值域 │ ├─────────────────────────┼────────┼────────────────┤ │ (-1000, 1000) │ 10 │ 极大值域 │ └─────────────────────────┴────────┴────────────────┘ # atanh TTK 测试结果报告 (torch golden) ## 1. 测试概览 | 测试类型 | 总用例数 | 通过 | 失败 | 通过率 | |---------|--------|------|------|--------| | 黑盒测试 | 119 | 119 | 0 | 100.0% | | 白盒测试 | 24 | 24 | 0 | 100.0% | | 网络测试 | 15 | 15 | 0 | 100.0% | | **合计** | **158** | **158** | **0** | **100.0%** | ## 2. KT流程 - 黑盒测试: 冒烟通过 → dtype覆盖通过 → 全量119条100%通过 - 白盒测试: 冒烟通过 → 全量24条100%通过 - 网络测试: 冒烟通过 → 全量15条100%通过 - DYN_GOLD 和 BIN_GOLD 全部为 100.0% ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2892 | 5 months ago | |
[CANNBot]质量加固:Atanh Co-authored-by: yourealize<chenzhanxi1@huawei.com> # message auto-generated for no-merge-commit merge: !6703 merge codex/atanh-bias-quality-20261026 into master [CANNBot]质量加固:Atanh Created-by: yourealize Commit-by: yourealize Merged-by: cann-robot Description: ## 描述 加固 Ascend 950 的 Atanh Host/API 校验:工作区输出指针为空、输入输出元数据不匹配或 shape 非法时,返回失败并按具体原因上报错误。同时完善实际输出 dtype 的 Golden 参考和回归用例。 - 校验 workspace/executor 空指针、输出分配失败,以及输入输出 shape、dtype、ND 格式、负维度和元素数溢出;覆盖标量、空张量和动态推导。 - 缺失参数、shape、dtype、format 分别使用 SDK 标准错误宏;内部 Tiling/推导错误使用 EZ1008、EZ1014。移除上层重复报错,每次失败只上报一次;AICORE/AICPU 入队失败保留实际返回码。 - 在算子实际加载的 math/atanh/CMakeLists.txt 为 Host UT 配置 SDK pkg_inc 路径及 error_manager、nnopbase 依赖,解决标准 UT 构建找不到 registry 头文件的问题。 - Golden 使用 Torch 计算,将完整结果转换到实际输出 dtype,并支持原生 TestSpec、普通输出及原地写回。Kernel/GEIR 输出映射只声明 FP16、BF16、FP32,精度标准统一为 cross_check/L0。 - 补齐 Host 单测入口和 ACLNN 参数检查用例,整理 2217 条不依赖手工输入二进制的回归用例,保留用例 ID、输入定义和数值阈值。 改动限定于 math/atanh/,kernel 数值实现及 REG_OP 定义未变。 ## 关联的 issue 无。 ## 测试 - 对完整 PR 改动范围执行仓库原始配置的 pre-commit run --from-ref cb6b7761771cf0cc924f7dbc731f4de7c71c6acc --to-ref 660e2f1ce42ae084e63d8054825fc884b9a48acd,所有适用检查通过;另一次性扫描全部 10 个适用文件,OAT 通过。CSV 按仓库原配置排除。 - CANN 9.2.0 / ascend950 的 Atanh 单算子编译及 .run 打包通过,包含 Host/API 和 FP16/BF16/FP32 kernel。构建和 CPU 检查使用 SDK devlib 驱动接口。 - 按门禁相同入口 bash build.sh -u --ops=atanh --ophost --soc=ascend950 --cann_3rd_lib_path=<deps> -j2 完整编译并执行 Host 单测,**5/5 通过**,验证分类错误码和失败时单次上报;本地 SDK 为 CANN 9.2.0。SDK 上下文检查复用此前 **10/10 通过** 的结果,覆盖 InferShape、Tiling、InferDataType 缺失输入/输出、正常输入及空 dtype 推导上下文。 - 新增 ACLNN 单测复用此前源码语法编译检查结果;本轮只调整排版,C++ token 序列一致,未执行 ACLNN 单测。 - CSV 结构已验证为 2217 个唯一用例 ID,保留行逐字段不变;本轮 CSV 哈希一致。Golden 计算函数未变,float16、bfloat16、float32 的精度标准统一为 cross_check/L0。 - Golden 输出类型 CPU 检查 **9/9 通过**,覆盖三种支持类型的直接调用与输出元数据、Kernel/GEIR 的 FP64 输出拒绝,以及既有 ACLNN DOUBLE 契约。 - 已复现门禁缺少 base/registry/op_impl_space_registry_v2.h 的编译错误;为实际 testcase 目标补齐 SDK include 根目录后,同一构建入口通过。线上 CANN 9.3 新一轮门禁结果待重跑验证。 - git diff --check 通过。 本轮未执行真机 L0 精度回归,也未运行 NPU 全量回归;2217 是随仓测试资产数量,不表示设备回归通过数。CPU 检查不作为设备精度或性能结论。 ## 文档更新 修正公开接口说明中 Atanh 公式缺失的 0.5 系数。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [x] 其他:测试资产整理 ## AI/Agent 生成声明 - [ ] 纯人工手写 - [x] AI 辅助编写 - [ ] AI 完全生成 自动化代码核对和上述验证已完成,人工审查待维护者进行。 See merge request: cann/ops-math!6703 | 12 days ago | |
新增 Acosh/Atanh/Exp 算子 AICPU 实现 Co-authored-by: Ding_Jing<dingjing19@huawei.com> # message auto-generated for no-merge-commit merge: !2781 merge acosh_atanh_exp into master 新增 Acosh/Atanh/Exp 算子 AICPU 实现 Created-by: Ding_Jing Commit-by: Ding_Jing Merged-by: cann-robot Description: ## 描述 本次 PR 将 Acosh、Atanh、Exp 三个算子从 canndev 迁移到 ops-math,并新增 AICPU 实现。 ### 主要变更 1. **新增算子 AICPU 实现** - math/acosh/: Acosh 算子(反双曲余弦) - math/atanh/: Atanh 算子(反双曲正切) - math/exp/: Exp 算子(指数函数) 2. **目录结构** - op_graph/<op>_proto.h: IR proto 定义 - op_kernel_aicpu/<op>_aicpu.h/cpp: AICPU 计算核实现 - op_kernel_aicpu/<op>_aicpu_def.cpp: OP_ADD 注册 - op_api/<op>.h/cpp, op_api/aclnn_<op>.h/cpp: aclnn 主机侧 API - tests/ut/op_kernel_aicpu/test_<op>.cpp: AICPU 单元测试 - examples/test_geir_<op>.cpp: 示例代码 3. **测试验证** - AICPU UT: 16/16 PASSED - 自定义算子包构建和安装成功 - Example 执行验证通过(graph 模式) ## 关联的Issue #1577 ## 测试 根据代码变更,测试场景如下: ### 1. AICPU 单元测试 bash bash build.sh -u --opkernel_aicpu --ops=acosh,atanh,exp --soc=ascend910b - 验证所有算子的 AICPU 实现正确性 - **结果**: 16/16 PASSED ### 2. 自定义算子包构建 bash bash build.sh --pkg --soc=ascend910b --vendor_name=custom --ops=acosh,atanh,exp - 验证算子能正确构建为自定义算子包 - **结果**: 成功生成 cann-ops-math-custom_linux-aarch64.run ### 3. 算子包安装验证 bash # 安装 .run 包 ./build_out/cann-ops-math-custom_linux-aarch64.run - 验证算子包能正确安装到 CANN 环境 - **结果**: 安装成功到 /home/developer/Ascend/cann-9.0.0/opp/vendors/custom_math/ ### 4. 算子加载测试 bash # 执行 example 验证算子加载 bash build.sh --run_example acosh graph cust --vendor_name=custom --soc=ascend910b bash build.sh --run_example atanh graph cust --vendor_name=custom --soc=ascend910b - 验证算子接口注册成功 - 验证 AICPU 调度路径正确(使用 aicpu_custom_scheduler) - **结果**: 所有算子数学计算正确,AICPU 调度验证通过 ### 5. 日志验证 - 设置 ASCEND_GLOBAL_LOG_LEVEL=0 捕获详细日志 - 确认算子注册日志:Kernel[<Op>] register successfully - 确认算子执行日志:RunCpuKernel[<Op>] success ## 文档更新 - ✅ 更新 docs/zh/op_list.md,新增 Acosh、Atanh、Exp 算子说明 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述:算子迁移 See merge request: cann/ops-math!2781 | 5 months ago |
| Files | Last commit | Last update |
|---|---|---|
| 5 months ago | ||
| 12 days ago | ||
| 5 months ago |