| Files | Last commit | Last update |
|---|---|---|
[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 | |
[Atanh] 修复公开格式误拦截及 Arch35 GEIR 示例编译问题 Co-authored-by: yourealize<chenzhanxi1@huawei.com> # message auto-generated for no-merge-commit merge: !6832 merge codex/atanh-remove-format-checks-20261029 into master [Atanh] 修复公开格式误拦截及 Arch35 GEIR 示例编译问题 Created-by: yourealize Commit-by: yourealize Merged-by: cann-robot Description: ## 描述 Atanh Arch35 tiling 将输入、输出格式限制为 ND,Torch 传入连续的 NCL、NCHW、NCDHW 描述时会报 EZ0017,导致性能问题记录中的 9 条用例无法执行。删除输入、输出两处 ND 格式校验,并补充 ND 与这些公开格式的 12 组输入、输出组合单测。 Arch35 GEIR 示例引用 ../op_graph/atanh_proto.h,相对于 examples/arch35/ 会解析到不存在的 examples/op_graph/,导致编译失败。将其改为 ../../op_graph/atanh_proto.h,同时按 pre-commit 要求规范该示例的许可证头和格式;除 include 路径外,示例的 C++ token 序列保持一致。 ## 关联的Issue - 质量加固跟踪:https://gitcode.com/cann/ops-math/issues/4241 (Atanh Host/API 参数校验、错误码与测试参考不完整)。 - 性能问题及复测用例来源:https://gitcode.com/wangyueting/changwei_yezhao/issues/17 ## 测试 - 删除格式校验后,原来失败的 9 条用例(001、006、007、008、014、018、021、025、031)均通过原始 torch.atanh 调用及全量精度检查;每条采集 100 次 Level0 profile,并确认加载 math 仓实现。 - 5 项相关 host 单测通过,覆盖公开格式、非法 dtype、shape 和元素数量。公开格式回归在原版 tiling 上失败,在修复版上通过。 - CANN 9.1.0-beta.1 / ascend950 的 Atanh 单算子 Host/API、kernel 编译和 .run 打包通过。 - 使用仓库 GEIR runner 相同的 include 与链接参数,Arch35 原文件在修复前复现头文件找不到;修复后的 math/atanh/examples/arch35/test_geir_atanh.cpp 实际源码编译、NPU 图执行均返回 0。默认 complex128、shape [2, 3] 的 6 个输出与 Python cmath.atanh 逐元素比对通过,最大绝对误差约 2.78e-17。该结果验证示例编译与图执行,不代表 AICore dtype 覆盖。 - 追加修复后,三个改动文件的完整 pre-commit 检查通过,包括 clang-format、OAT;git diff --check 通过。tiling 和相关单测源码保持九条重测时的版本,GEIR 示例与单独编译运行通过的版本一致。 - 已知环境问题:完整 host 单测中的 NullContextReportsStageErrorOnce 未收到预期 EZ1008 记录,修改前 tiling 也复现同样失败;其余 5 项通过。GE 初始化另有 SDK 内置 opgraph_nn/opgraph_transformer 缺少 EsCast/EsTranspose 的日志,Atanh 图执行与输出检查均通过。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6832 | 10 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 | |
增加A2 A3新算子支持 Co-authored-by: slx2008<shaolixin@huawei.com> # message auto-generated for no-merge-commit merge: !448 merge master into master 增加A2 A3新算子支持 Created-by: songkai111 Commit-by: slx2008 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!448 | 10 months ago |
| Files | Last commit | Last update |
|---|---|---|
| 12 days ago | ||
| 10 days ago | ||
| 5 months ago | ||
| 10 months ago |