简介
说明:
- 目前算子库中大部分算子运行在AI Core上,少部分算子运行在AI CPU上。默认情况下,项目中提到的算子指AI Core算子。
- 关于AI Core和AI CPU的介绍请参见《Ascend C算子开发》中“概念原理和术语 > 硬件架构与数据处理原理”。
本项目提供了AI Core算子和AI CPU算子的开发和调用样例,请开发者根据实际情况参考对应实现。
目录说明
├── examples
│ ├── add_example # AI Core算子名
│ │ ├── CMakeLists.txt # 算子编译配置文件,保留原文件即可
│ │ ├── examples # 算子使用示例
│ │ ├── op_graph # 算子构图相关目录
│ │ ├── op_host # 算子信息库、Tiling、InferShape相关实现
│ │ └── op_kernel # 算子kernel目录
│ ├── add_example_c_api # AI Core C API算子名(使用C API/asc_simd开发kernel)
│ │ ├── CMakeLists.txt # 算子编译配置文件,保留原文件即可
│ │ ├── examples # 算子使用示例
│ │ ├── op_graph # 算子构图相关目录
│ │ ├── op_host # 算子信息库、Tiling、InferShape相关实现
│ │ └── op_kernel # 算子kernel目录(C API风格)
│ ├── add_example_aicpu # AI CPU算子名
│ │ ├── CMakeLists.txt # 算子编译配置文件,保留原文件即可
│ │ ├── examples # 算子使用示例
│ │ ├── op_graph # 算子构图相关目录
│ │ ├── op_host # 算子信息库、InferShape相关实现
│ │ └── op_kernel_aicpu # 算子kernel目录
│ ├── CMakeLists.txt # 算子编译配置文件,保留原文件即可
│ └── README.md # 算子说明文档
算子开发样例
| 样例目录 | 样例介绍 | 算子开发 | 算子调用 |
|---|---|---|---|
| add_example | 实现两个张量相加功能的算子。 | 算子端到端开发过程参见AI Core算子开发指南 | 调用参见README |
| add_example_c_api | 实现两个张量相加功能的算子,kernel使用C API(asc_simd)开发方式。 | 算子端到端开发过程参见AI Core算子开发指南 | 调用参见README |
| add_example_aicpu | 实现两个张量相加功能的算子。 | 算子端到端开发过程参见AI CPU算子开发指南 | 调用参见README |
| fast_kernel_launch_example | 实现一种PyTorch场景下快速端到端开发算子的样例。 | 算子端到端开发过程参见PyTorch算子快速开发指南 | 调用参见README |