模式E(学习路线)+ 仓库概览类型


刚接触昇腾CANN那会,我最大的感受是:资料太多,不知道从哪下手。官方文档、技术博客、视频教程、开源仓库……散落在各处,找个小问题的答案要翻半天。

直到我发现 cann-learning-hub 这个仓库——昇腾社区把学习资源全部整合到一个地方了。

cann-learning-hub 是什么

简单说,cann-learning-hub 是昇腾CANN开源社区的学习中心。它不是代码仓库,是一个资源导航 + 教程集合 + 竞赛入口的综合性仓库。

在 CANN 五层架构里,cann-learning-hub 比较特殊:

  • 不属于任何一层:它是社区运营仓库,不是技术组件
  • 服务于所有层:无论你做应用开发(第1层)、算子开发(第2层)还是编译器开发(第3层),都能在这里找到对应的学习资源

仓库里有什么

cann-learning-hub 的内容可以分成四大类:

1. 教程文档(Tutorials)

覆盖从入门到精通的全路径:

  • 入门系列:CANN 架构概览、AscendCL 接口入门、第一个算子开发
  • 进阶系列:算子融合原理、图编译流程、性能调优技巧
  • 实战系列:大模型推理部署、视觉类应用开发、分布式训练

每个教程都有完整的代码示例,可以直接克隆下来跑。

2. 技术博客(Blogs)

社区定期发布深度技术文章,比如:

  • “FlashAttention 在昇腾NPU上的优化实践”
  • “catlass 模板库:让算子开发效率提升10倍”
  • “GE 图引擎原理剖析:如何实现代码零修改性能最大化”

这些博客的质量比官方文档高,因为都是一线开发者写的踩坑总结。

3. 竞赛与活动(Competitions)

cann-learning-hub 是昇腾社区竞赛的信息入口:

  • 算子优化竞赛:比谁写的算子更快
  • 模型移植竞赛:比谁把 PyTorch 模型搬到昇腾NPU 上跑得更快
  • 应用创新竞赛:用 CANN 做有趣的应用

参赛不仅能拿奖金,还能直接跟昇腾官方团队的技术专家交流。

4. Skill 市场(Skills)

这是 cann-learning-hub 最特别的地方——它集成了 CANN 内容生成 Skill

你可以用这些 Skill 自动生成技术文章、算子文档、教程内容。比如:

  • cann-content-gen:批量生成 CANN 技术文章(就是我现在用的这个)
  • cann-doc-gen:自动生成算子 API 文档
  • cann-tutorial-gen:根据代码自动生成教程

学习路线推荐

不同角色的人,学习路径不一样。cann-learning-hub 给了几条经典路线:

路线A:应用开发者(用 CANN 做模型推理/训练)

  1. 第1周:读 CANN 架构概览,理解五层架构
  2. 第2周:学 AscendCL 接口,跑通第一个推理样例(cann-samples 仓)
  3. 第3周:学 PyTorch/MindSpore 框架适配,把自己的模型搬过来
  4. 第4周:学性能调优(AOE 调优引擎),把推理速度提上去

一句话总结:你不是搞算子的,用 Python ACL 就够了。

路线B:算子开发者(写算子优化性能)

  1. 第1周:读 catlass 模板库教程,理解分层模板设计
  2. 第2周:学 Ascend C 编程语言,写第一个算子(HelloOp)
  3. 第3周:学 ops-transformer/ops-nn 仓的算子实现,理解融合策略
  4. 第4周:学性能调优,用 AOL 算子库测性能

一句话总结:你想榨干 NPU 的每一滴性能,得从算子层优化。

路线C:生态贡献者(给 CANN 开源社区做贡献)

  1. 第1周:读 community 仓的贡献指南,理解 PR 流程
  2. 第2周:挑一个 good first issue,提交第一个 PR
  3. 第3周:参与 cann-agreements 讨论,理解开源协议
  4. 第4周:自己发现痛点,提一个 feature request 或 bug fix

一句话总结:你不只是用户,还是共建者。

怎么用 cann-learning-hub

第1步:克隆仓库

git clone https://atomgit.com/cann/cann-learning-hub.git
cd cann-learning-hub

第2步:按角色选路线

仓库根目录下有 README.md,列出了所有学习资源的入口。按你的角色(应用开发者/算子开发者/生态贡献者)选对应的目录:

# 应用开发者
cd tutorials/application-development

# 算子开发者
cd tutorials/operator-development

# 生态贡献者
cd contribution-guide

第3步:跟着教程走

每个教程目录里都有 README.md + 代码样例 + 环境配置脚本。照着做就行,踩坑点都标注了。

第4步:参与竞赛/社区

学完了想实战?去 competitions/ 目录看当前进行的竞赛,选一个报名参加。

下一步

直接去 cann-learning-hub 仓库逛逛,比在网上瞎找资料效率高 10 倍:

https://atomgit.com/cann/cann-learning-hub

顺便说一句,如果你想系统学 CANN,从这个仓库开始,少走 80% 的弯路。

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐