| feat: 新增 Add 算子 C API(asc_simd)风格示例工程
Co-authored-by: songkai111<songkai16@huawei.com>
# message auto-generated for no-merge-commit merge:
!2708 merge master into master
feat: 新增 Add 算子 C API(asc_simd)风格示例工程
Created-by: songkai111
Commit-by: songkai111
Merged-by: cann-robot
Description: ## 描述
新增 Add 算子的 C API(asc_simd)风格示例工程 add_example_c_api,展示使用 C API 方式开发 AI Core 算子的完整流程,区别于传统 C++ 类方式的 AscendC API。
### 改动原因
现有示例仅包含 C++ 类方式(AscendC API)和 AI CPU 方式的算子开发样例,缺少 C API(asc_simd)风格的示例。本 PR 补充了该开发方式的端到端示例,方便开发者参考。
### 改动方法
1. 新增 examples/add_example_c_api/ 目录,包含完整的算子工程结构:
- op_kernel/:使用 C API(asc_simd)实现加法 kernel,核心接口包括 asc_init()、asc_copy_gm2ub_sync()、asc_add_sync()、asc_copy_ub2gm_sync()
- op_host/:Tiling 实现、算子定义(OpDef)、InferShape 实现
- op_graph/:图推理(InferShape/InferDataType)及 proto 定义
- examples/:aclnn 调用样例(test_aclnn_add_example_c_api.cpp)
2. 算子定义支持 ascend910b、ascend910_93、ascend950 硬件平台
3. 输入输出仅支持 FLOAT 数据类型,4 维 ND 格式
4. 更新 examples/README.md 添加新示例目录说明和样例表格条目
## 关联的Issue
- #1535
## 测试
提供 aclnn 调用样例(test_aclnn_add_example_c_api.cpp),使用 32×4×4×4 的 FLOAT 张量进行端到端验证,计算 x1 + x2 = y 并打印结果。
## 文档更新
- 新增 examples/add_example_c_api/README.md,说明产品支持情况、功能说明、参数说明、约束说明、调用方式和 Kernel 开发方式
- 更新 examples/README.md 添加 add_example_c_api 目录结构和样例表格
## 类型标签
- [ ] Bug修复
- [x] 新特性
- [ ] 性能优化
- [ ] 文档更新
- [ ] 其他,请描述:
See merge request: cann/ops-math!2708 | 20 天前 |