cann-learning-hub:从零开始学昇腾的最短路径
CANN学习中心(cann-learning-hub)为昇腾AI开发者提供结构化学习路径,包含55+仓库的五层架构学习指南。该中心采用三阶段学习路线:1-2天跑通推理、3-5天理解执行链路、1-2周性能调优,并细分为初/中/高级目录,每篇文档标注前置条件确保学习连贯性。特色包括:实战教程与Skill知识库互补、社区学习活动支持、明确的学习路线图。建议新手从beginner目录配合官方示例入手,遇到
CANN 有 55+ 个仓库、五层架构、十几个仓库分类。新人面对这些信息时最常问的问题是:从哪开始学?
cann-learning-hub 是 CANN 社区维护的学习中心——它不是文档,也不是教程合集。它是一张学习路径图,告诉你"按什么顺序学哪些仓库、每个仓库学到什么程度、学完后能做什么"。
cann-learning-hub 是什么
cann-learning-hub 的目录结构:
cann-learning-hub/
├── beginner/ # 新手入门
│ ├── install.md # 环境安装
│ └── first_infer.md # 第一个推理程序
├── intermediate/ # 进阶学习
│ ├── ascendcl.md # AscendCL 深入
│ ├── runtime.md # Runtime 调度
│ └── ge.md # 图执行引擎
├── advanced/ # 高级主题
│ ├── ascend_c.md # 自定义算子
│ ├── optimization.md # 性能调优
│ └── distributed.md # 分布式训练
├── tutorials/ # 实战教程
│ ├── yolov8_deploy.md
│ └── llm_infer.md
└── skills/ # Skill 文件索引
└── README.md
每份文档不是教你翻译 API——它解释"为什么用这个 API"和"调完 API 后在硬件上发生了什么"。
初学者如何学习昇腾
cann-learning-hub 推荐的学习路线:
第一阶段:跑通推理(1-2 天)
- 用 asc-devkit 搭好开发环境
- 用 ATC 把 ONNX 模型转成 OM
- 用 pyasc 或 AscendCL 跑通第一个推理程序
- 目标:看到一个模型在 NPU 上输出正确结果
第二阶段:理解执行链路(3-5 天)
- 学 AscendCL 的初始化流程——Device、Context、Stream 的关系
- 学 GE 的图优化——什么算子在什么条件下被融合
- 学 Runtime 的异步执行——Stream 和 Event 怎么协作
- 目标:理解"从
aclmdlExecute到 NPU 执行完"的全链路
第三阶段:性能调优(1-2 周)
- 学 Tensor Layout——ND 和 NZ 格式对性能的影响
- 学算子融合——graph-autofusion 怎么用
- 学 Memory 分析——哪部分显存被浪费了
- 目标:能在 Benchmark 中定位性能瓶颈
教程与 Skill 的关系
cann-learning-hub 的教程和 skills 仓库的 Skill 文件是互补关系:
- 教程是给人读的——结构化的文字、代码示例、图表
- Skill是给 Agent 读的——结构化的知识库、术语规则、写作模板
教程由社区贡献者花时间写,数量有限但质量高。Skill 文件由 Agent 基于知识库自动生成,覆盖面广但需要人工校准。
cann-learning-hub 会定期把社区反馈中高频出现的问题同步到 Skill 文件的更新中——比如"GELU 融合"这个知识点被 10 个用户问过,就在成对应的 Skill 知识库条目。
社区学习活动
CANN 社区在 cann-learning-hub 上组织学习活动:
- 每周实战任务。 每周发布一个实操任务——“用 ATC 转一个 YOLOv8 模型并跑通推理”
- 代码 Review。 社区维护者对新人的推理代码做 Review
- 学习打卡。 完成指定技能树节点后在社区讨论区打卡
这些活动不是强制性的,但对刚入门的新人来说——跟着社区节奏走比一个人摸索快得多。
学习路线推荐
entry:有 Python 基础、了解基本 AI 概念
↓ 1-2 天
新手:能用 pyasc 跑通推理
↓ 3-5 天
进阶:理解 CANN 执行链路
↓ 1-2 周
熟练:能定位性能瓶颈、做算子融合优化
↓ 持续
高级:能写 Ascend C 算子、做分布式调优
cann-learning-hub 中每篇文档末尾标注了"前置条件"——读完这篇需要先读完哪些其他篇。按标注顺序学习,不会出现"这篇讲的阅读前置知识还没学"的情况。
学习资源的选择
cann-learning-hub 之外还有几个学习资源:
- cann-samples:官方示例代码——每个示例对应一个具体功能(“如何使用 ATC 转模型”、“如何用 pyasc 做推理”)
- cann-recipes-infer:大模型推理参考——LLaMA 的完整部署方案
- Skills 仓库:Agent 可读的技术知识库——生成技术文章
初学阶段建议先看 cann-learning-hub 的 beginner 目录,配合 cann-samples 的示例代码跑一遍。理解了基本流程后再深入 skills 仓库和 cann-recipes-infer。
社区支持
CANN 社区在 atomgit 上提供讨论区和 Issues 渠道。学习过程中遇到问题可以搜索 Issues 看有没有类似问题。如果搜索不到新开 Issue 提问——社区维护者通常在 1-2 天内回复。提问时附上环境信息(CANN 版本、NPU 型号、驱动版本)和完整的错误日志,能更快得到有针对性的解答。
参考仓库
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐



所有评论(0)