课程内容
- 入门篇
- 算子基本概念
- CANN 与 Ascend C
- 昇腾 AI 处理器架构
- Host 与 Device
- 核函数开发
- 算子开发环境搭建
- 进阶篇
- Add 算子完整开发流程
- Host 侧实现与 Tiling
- Shape 推导与算子注册
- 算子工程开发
- Ascend C API 使用
- 算子调用方式
- 非对齐尾块处理
- 高级篇
- 算子调试
- 矩阵乘算子开发
- 高级 API 使用
- 融合算子开发
- 算子性能优化
笔记正文
- ‣ Ascend C算子开发(入门)笔记
包含 算子基本概念;Tensor、Shape、Format 与 Axis;算子运行演示;算子开发的问题与挑战;CANN 与 Ascend C;昇腾 AI 处理器架构;Ascend C 的特点;Host 与 Device;核函数;Hello World 算子实现;完整核函数实现;算子开发环境部署概述;CPU 上部署开发环境;香橙派上部署开发及运行环境;华为云 ModelArts 上部署开发与运行环境
- ‣ Ascend C算子开发(进阶)笔记
包含 AI Core 架构抽象;Ascend C 编程对象;Vector 算子开发流程;Add 算子实现与运行验证;Host 侧实现;Tiling 下发;固定 Shape 与动态 Shape 的 Tiling;Shape 推导;算子原型注册;算子开发工程;Kernel 直调工程;自定义算子工程;算子工程编译与部署;Ascend C 基础 API 与高阶 API;Tensor 高维切分参数;数据搬运、内存管理与任务同步;算子的多种调用方式;Kernel 直调;Ascend CL 调用算子;PyTorch 调用算子;非对齐数据处理;尾块处理;复杂 Tiling 实现;多数据类型算子实现
- ‣ Ascend C算子开发(高级)笔记
包含 算子调试概述;CPU 域调试;NPU 域调试;矩阵乘基础知识;矩阵乘核函数;矩阵乘 Tiling;矩阵乘运行验证;AI Core 架构与融合算子;融合算子基础知识;Matmul + LeakyRelu 融合算子实现;融合算子代码精讲与运行验证;数据搬运优化;内存优化;Ascend C API 使用优化