| 新增 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 | 13 天前 |