cann-learning-hub:从零开始学昇腾的最短路径 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 型号、驱动版本和完整的错误日志能更快得到有针对性的解答。参考仓库cann-learning-hub 学习中心Skills 仓库