README.md

Ascend C 算子开发系列教程

本教程将带你学习面向昇腾 NPU 的Ascend C高性能算子开发全流程教程,包含 Tiling 模板化编程、算子调试、性能优化等核心内容。

教程按章节划分,每个章节均包含以下内容:

  • Notebooks:包含课程知识点与练习题,适用于自主学习或讲师引导式教学,可在 gitcode提供的轻量级 notebook 上运行。也可自行搭建jupyter lab,在本地环境执行使用。
  • SRC:包含课程中所有的源码,供开发者自行下载及修改。
  • PPT(建设中):包含各课时的授课内容。
  • 注意:
  • 本教程当前仅针对Atlas A2系列产品进行验证,其它产品使用存在问题,欢迎开发者提出issue或PR进行共建。

Ascend C算子开发系列(初级)

第一章:面向昇腾NPU的高性能算子开发语言

Notebook Link 状态
1.1 章节介绍 在线体验 ✅ 已发布
1.2 人工智能与算子基础 在线体验 ✅ 已发布
1.3 CANN架构与昇腾NPU原理 在线体验 ✅ 已发布
1.4 Ascend C算子开发的基本概念 在线体验 ✅ 已发布
1.5 章节练习 在线体验 ✅ 已发布

第二章:Ascend C算子开发基础知识

Notebook Link 状态
2.1 章节介绍 在线体验 ✅ 已发布
2.2 Ascend C的"Hello world" 在线体验 ✅ 已发布
2.3 AscendC编程范式介绍与API介绍 在线体验 ✅ 已发布
2.4 基于Add算子的核函数介绍 在线体验 ✅ 已发布
2.5 章节实践 在线体验 ✅ 已发布

Ascend C算子开发系列(中级)

第三章:Vector算子开发

Notebook Link 状态
3.1 章节介绍 在线体验 ✅ 已发布
3.2 工程化算子开发介绍 在线体验 ✅ 已发布
3.3 aclnn和pybind调用 在线体验 ✅ 已发布
3.4 泛化Tiling设计 在线体验 ✅ 已发布
3.5 tiling模板化编程、属性、Tbuf、workspace的使用 在线体验 ✅ 已发布
3.6 章节实践 在线体验 ✅ 已发布

第四章:矩阵算子开发

Notebook Link 状态
4.1 章节介绍 在线体验 ✅ 已发布
4.2 矩阵乘法介绍 在线体验 ✅ 已发布
4.3 基于高阶API的矩阵乘算子开发 在线体验 ✅ 已发布
4.4 章节实践 在线体验 ✅ 已发布

第五章:融合算子开发

Notebook Link 状态
5.1 章节介绍 在线体验 ✅ 已发布
5.2 融合算子概念介绍 在线体验 ✅ 已发布
5.3 VV融合算子开发 在线体验 ✅ 已发布
5.4 CV融合算子开发 在线体验 ✅ 已发布
5.5 章节实践 在线体验 ✅ 已发布

第六章:CANN开源算子仓--昇腾NPU异构计算全场景算子开发、验证与贡献一站式平台

Notebook Link 状态
6.1 章节介绍 在线体验 ✅ 已发布
6.2 开源仓介绍及验证 在线体验 ✅ 已发布
6.3 基于开源仓的算子开发 在线体验 ✅ 已发布
6.4 UT的编写及验证 在线体验 ✅ 已发布
6.5 章节实践 在线体验 ✅ 已发布

Ascend C算子开发系列(高级)

第七章:Ascend C算子功能调试

Notebook Link 状态
7.1 章节介绍 在线体验 ✅ 已发布
7.2 CPU域孪生调试 在线体验 ✅ 已发布
7.3 NPU域上板调试 在线体验 ✅ 已发布
7.4 Ascend C算子开发典型问题 在线体验 ✅ 已发布
7.5 章节实践 在线体验 ✅ 已发布

第八章:Ascend C算子性能优化

Notebook Link 状态
8.1 章节介绍 在线体验 ✅ 已发布
8.2 msProf工具使用技巧 在线体验 ✅ 已发布
8.3 仿真分析 在线体验 ✅ 已发布
8.4 Ascend C算子性能优化典型示例 在线体验 ✅ 已发布
8.5 章节实践 在线体验 ✅ 已发布