CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 个月前 | ||
| 2 个月前 | ||
| 30 天前 | ||
| 1 天前 | ||
| 2 天前 | ||
| 4 天前 | ||
| 3 天前 | ||
| 1 天前 | ||
| 27 天前 | ||
| 1 天前 | ||
| 3 个月前 | ||
| 2 个月前 | ||
| 1 天前 | ||
| 3 个月前 | ||
| 1 个月前 |
cann-learning-hub
🔥Latest News
- [2026/05] cann-learning-hub新增MC2融合算子开发系列教程,讲解MC2融合算子核心概念与开发方法。
- [2026/05] 新增HIXL应用开发系列教程,讲解昇腾单边通信库核心概念与开发方法。
- [2026/04] cann-learning-hub新增skills目录,包含CANNJudge竞赛skill及自定义算子工程算子生成skill。
- [2026/03] cann-learning-hub技术博客内容添加(blogs目录)
- [2026/03] cann-learning-hub项目首次上线。
🚀概述
cann-learning-hub 是CANN (Compute Architecture for Neural Networks)生态的官方开源学习中心仓库,聚焦 NPU 加速计算开发能力培养,汇聚从入门到进阶的全栈学习资源。 仓库涵盖 CANN 全栈加速计算的系列示例与最佳实践教程,支持以 Notebook 方式在线 / 离线交互式运行,帮助开发者零门槛上手。 我们致力于打造动态、全面的 CANN 知识平台,系统化整理入门指南、高级优化教程、精选算子与模型示例及经过验证的最佳实践方案。通过持续迭代更新,助力开发者快速掌握 CANN 开发技能,高效释放昇腾 NPU 算力,加速 AI 应用的开发与创新。 欢迎广大开发者贡献案例、教程、文档及各类学习资源,共建开放共享的 CANN 开发者生态。
本仓已集成代码仓库智能体,点击 徽章,进入其专属页面,开启在线智能代码学习与知识问答体验!
📝版本配套
本项目源码会基于CANN软件的非beta版本进行全量验证,关于CANN软件版本与本项目标签的对应关系请参阅release仓库中的相应版本说明,已验证情况如下表所示。
| 已验证支持CANN版本 | 验证日期 |
|---|---|
| 8.5.0 | 2026.03.02 |
🧭 开发者学习路径
按你的技术方向,快速找到最适合的入口:
| 课程 | 课程简介 | 在线体验 | 状态 |
|---|---|---|---|
| 📖 CANN 基础知识 | |||
| 人工智能基础 | AI 发展历程、算子概念(算子名称/类型/Tensor/shape/format/Axis) | 在线体验 | ✅ 已上线 |
| 什么是 NPU | 昇腾 NPU 硬件架构:DaVinci 核心、AI Core / AI CPU / Vector / Cube 计算单元、存储层级 | 在线体验 | ✅ 已上线 |
| 什么是 CANN | CANN 异构计算架构与软件栈:分层架构、Ascend C 算子开发、torch_npu 适配 | 在线体验 | ✅ 已上线 |
| Hello World:NPU 加法 | 基于 torch_npu 在 NPU 上跑通第一个加法运算,验证环境可用 | 在线体验 | ✅ 已上线 |
| 🧠 大模型推理 | |||
| 在昇腾上跑通 Qwen3-0.6B | 快速上手:第一个大模型推理部署(在线推理,看功能是否正确) | ✅ 已上线 | |
| Qwen3-0.6B 推理(图模式) | 快速上手:第一个大模型推理加速实践(通过图模式加速推理) | ✅ 已上线 | |
| Qwen3-0.6B 推理(融合算子替换) | 快速上手:第一个大模型推理加速实践(通过替换融合算子加速推理) | ✅ 已上线 | |
| 端到端推理性能优化实践 | Sana-Video 推理优化实践 | 🚧 建设中 | |
| 推理优化系列(初级) | 大模型演化 / 结构 / 推理流程 / 多模态扩展 | 🚧 建设中 | |
| 推理优化系列(中级) | Qwen3-8B 单卡部署 / 性能分析基础 / 主流优化技术 / 量化 | 🚧 建设中 | |
| 推理优化系列(高级) | Profiling 与瓶颈定位 / Qwen3-8B 优化实践 | 🚧 建设中 | |
| 🏋️ 大模型训练 | |||
| 大模型训练系列(初级) | 训练基础原理、昇腾 NPU 特性、入门训练实战 | 🚧 建设中 | |
| 大模型训练系列(中级) | 性能分析、CANN 图优化、显存优化、基础调优 | 🚧 建设中 | |
| 大模型训练系列(高级) | 核心算子优化、分布式训练、通信优化、端到端优化落地 | 🚧 建设中 | |
| ⚙️ 算子开发 | |||
| 10 分钟体验自定义算子 | 快速上手:第一个自定义算子 | 在线体验 | ✅ 已上线 |
| 10 分钟体验算子 API 调用 | 快速体验调用 CANN 内置算子 API 进行计算 | 在线体验 | ✅ 已上线 |
| Ascend C 算子开发系列(初级):第一章 / 第二章 | 算子基础 / CANN 架构 / 算子开发基础 / Add 算子实践 | 在线体验 | ✅ 已上线 |
| Ascend C 算子开发系列(中级):第三章 / 第四章 / 第五章 / 第六章 | Vector 算子开发 / Cube 算子开发 / 融合算子开发 / 开源算子仓 | 在线体验 | ✅ 已上线 |
| Ascend C 算子开发系列(高级):第七章 / 第八章 | Ascend C 算子功能调试 / 性能优化 | 在线体验 | ✅ 已上线 |
| 算子开发实战系列 | MC2 融合算子实战 | 在线体验 | ✅ 已上线 |
| HiXL 单边通信开发 | HiXL 应用开发教程 | 在线体验 | ✅ 已上线 |
| 算子开发练习 | 开放题库 / 历届算子赛真题等 | CANNJudge 开放题库 | ✅ 已开放 |
| 参加算子赛 | 算子天梯赛 / 校园赛等各种大赛等你挑战 | CANN 大赛专区 | ✅ 已开放 |
| 📊 推荐系统开发 | |||
| QuickStart:CTR 预测(DeepFM) | 跑通 CTR 训练链路 DataFrame → Feature → DataGenerator → DeepFM → CTRTrainer → AUC | 在线体验 | ✅ 已上线 |
| 序列兴趣建模:DIN | 使用 Amazon-Electronics 样例数据理解历史行为序列、SequenceFeature 与 DIN attention | 在线体验 | ✅ 已上线 |
| 匹配/召回:DSSM + Annoy | 基于 MovieLens-1M 样例数据跑通双塔召回与向量 Top-K 检索 | 在线体验 | ✅ 已上线 |
| 多任务学习:MMOE | 使用 Ali-CCP 样例数据演示多目标建模、expert、gate 与 tower | 在线体验 | ✅ 已上线 |
| 实验跟踪:model_logger | 演示 WandB / SwanLab / TensorBoardX 等轻量实验跟踪接入方式 | 在线体验 | ✅ 已上线 |
| 模型导出与推理验证:ONNX | 演示 DeepFM 与 DSSM 的 ONNX 导出、ONNXRuntime 推理验证和量化入口 | 在线体验 | ✅ 已上线 |
🔗 学 · 练 · 赛:一站式成长链路
cann-learning-hub 不是孤立的"看教程",而是打通学习到实战的完整闭环:
| 平台 | 说明 | |
|---|---|---|
| 📖 学 | cann-learning-hub(本仓) | 系列教程 + 快速上手 + 参考实践 + 技术博客 |
| 🏋️ 练 | CANNJudge | 开放题库,Ascend C 算子编程在线刷题,实时评测 |
| 🔬 练 | CANNLab | 任意 CANN 代码仓右上角一键启动,获得 NPU 环境用于练习 & 调测(初始 100 小时,积分可兑换时长) |
| 🏆 赛 | CANN 大赛专区 | 官方 / 社区大赛报名入口,与全国开发者同台竞技 |
💡 推荐路径:选方向 → 看教程 → 去 CANNJudge 刷题 / CANNLab 实验 → 参赛验证 → 贡献你的实践(PR 到 contrib/)
📚 系列课程全景
✅ 已上线 🔍 评审中(PR 已提交) 🚧 建设中
| 业务场景 | 课程系列 | 进展 |
|---|---|---|
| 算子开发 | Ascend C 算子开发系列(基于 A2/A3,SIMD 编程) | ✅ 已上线 |
| Ascend C 算子开发系列(基于 A5,SIMD 兼容 A2/A3 + 新增 SIMT) | 🚧 建设中 | |
| 算子开发实战系列(MC2 融合算子) | ✅ 已上线 | |
| PyPTO 算子开发系列 | 🚧 建设中 | |
| PyASC 算子开发系列 | 🚧 建设中 | |
| TileLang 算子开发系列 | 🚧 建设中 | |
| 训练 | 大模型训练优化 | 🚧 建设中 |
| 大语言模型微调实战(SwanLab 共建) | 🔍 评审中 | |
| 推理 | 大模型推理优化 | 🚧 建设中 |
| Sana-Video 推理优化实践 | ✅ 已上线 | |
| 推荐系统 | 推荐系统开发(DataWhale 贡献) | ✅ 已上线 |
| 应用开发 | 应用开发系列 | 🚧 建设中 |
| 图框架 | 图框架加速 & 图模式应用系列 | 🚧 建设中 |
| 集合通信 | HCCL 集合通信系列 | 🚧 建设中 |
| HiXL 单边通信系列 | ✅ 已上线 | |
| CANN Bot | CANN Bot 系列课程 | 🚧 建设中 |
🔍 目录结构
├── quick_start # 快速入门
│ ├── first_custom_operator # 第一个自定义算子
│ ├── first_operator_api_call # 第一个算子 API 调用
│ └── first_llm_inference # 第一个大模型推理和优化
├── tutorials # 开发教程
│ ├── ascendc_operator_development # Ascend C 算子开发(8 章)
│ ├── MC2_fused_operator_development # MC2 融合算子开发
│ ├── hixl_development # HiXL 单边通信应用开发(4 章)
│ └── ... # 待扩展(PyPTO / TileLang 等)
├── reference_practice # 参考实践
│ ├── model_inference_optimization # 模型推理优化
│ │ └── sana_video # Sana-Video 推理优化
│ └── pytorch_online_inference_operator_optimize # PyTorch 在线推理算子优化
├── blogs # 技术博客
│ ├── operator # 算子(13 篇)
│ ├── inference # 推理(12 篇)
│ └── training # 训练(3 篇)
├── contrib # 社区贡献
│ └── tutorials # 外部贡献教程
│ ├── torch-rechub # Torch-RecHub 推荐系统实战教程
│ └── swan_llm_course # SwanLab 共建:LLM 微调实战
├── skills # CANNBot 技能
│ ├── ascendc-ops-project # 自定义算子工程生成
│ └── cannjudge-submit # CANNJudge 竞赛提交
├── docs # 文档与指南
│ ├── cannlab_env_experience_guide.md # CANNLab 环境体验指南
│ └── acceptance_criteria_for_new_course_submission_and_launch.md # 新课程上库与上线验收标准
└── README.md
📝 技术博客
CANN 在实际业务场景中的最新技术实践与成果。
| 博客 | 简介 | 时间 |
|---|---|---|
| 算子 | ||
| AICPU 点对点通信算子开发 | 基于 AICPU+TS 实现 HCCL 自定义 Send/Recv 算子 | 2026.2 |
| AICPU Tiling 下沉编程 | Tiling 计算下沉到 AICPU,减少 Host 与 Device 交互 | 2025.12 |
| Ascend C RTC 即时编译 | 运行时按 shape 即时编译,兼顾性能与迭代灵活性 | 2025.12 |
| DeepXTrace 快慢卡在线检测 | MOE 推理集群轻量级快慢卡诊断,分钟级定位 | 2025.12 |
| HCCL ReduceScatter 精度优化 | 开源 ReduceScatter 精度增强改造 | 2025.12 |
| MIX 算子开发贡献 | 矩阵化重构 RoPE,落地首个开源 MIX 算子 | 2025.12 |
| CrossEntropyLoss 与 Zloss 融合 | 损失函数融合,MoE 场景端到端 5.2% 效率提升 | 2025.11 |
| 算子 Kernel 直调编程 | 异构混合编程,简化编译部署,降低开发门槛 | 2025.11 |
| TilingKey 模板化编程 | 统一多场景算子管理,减少 icache miss | 2025.11 |
| Ascend C 矩阵乘接口选型指南 | 矩阵乘 API 接口对比与选型建议 | 2025.10 |
| msSanitizer 异常检测工具 | 单算子开发异常检测,定位内存访问、数据竞争与同步问题 | 2025.10 |
| NDDMA 多维数据搬运 | 多维 DMA 搬运与 Padding、Transpose、Broadcast、Slice 变换 | 2025.10 |
| Regbase 编程范式 | 从向量加法理解寄存器级编程与底层性能优化 | 2025.10 |
| 推理 | ||
| Overlap Scheduling 吞吐优化 | CPU 与 NPU 执行重叠,TPS 提升约 70% | 2026.3 |
| npugraph_ex 第三方框架集成 | 图编译与编译缓存能力接入,降低冷启动耗时 | 2026.2 |
| Deepseek-R1 SuperPoD 推理优化 | 全栈协同,TTFT<2s、TPOT<50ms,608 QPM | 2025.12 |
| HIXL、Mooncake 与 vLLM KV Cache 池化 | KV Cache 池化 + D2D/H2H 传输,降低 TTFT | 2025.12 |
| HIXL RL 长尾时延优化 | PD 分离与高效传输,缓解千卡集群长尾 | 2025.12 |
| LongCat-Flash SuperPod 推理优化 | 多流并发 + 控核 + SuperKernel,TPOT 10ms | 2025.12 |
| npugraph_ex 图模式优化 | aclGraph 图捕获与重放,减少 Host 下发 | 2025.12 |
| torch_npu IPC 特性 | 跨进程共享设备内存,节省显存 | 2025.12 |
| TorchAir 自定义 FX Pass | 多流并行自动图变换,减少适配代码 | 2025.12 |
| SGLang、Mooncake 与 HIXL PD 分离 | 加速 PD 分离 D2D 特性落地 | 2025.11 |
| SuperKernel 技术综述 | 整网编译为大算子,性能再提升 10%-20% | 2025.11 |
| vLLM-Ascend 推理优化 | PagedAttention + 昇腾适配,提升吞吐 | 2025.11 |
| 训练 | ||
| AReaL 全异步 RL 训练 | 全异步 RL + Single Controller,解耦式 Agentic RL | 2026.3 |
| FlashRecovery 训练故障恢复 | 降低检查点 I/O 与回滚重算损失 | 2025.12 |
| SAM 投机解码 RL 训练 | 无辅助模型 SAM 投机解码,超 35% 长尾加速 | 2025.12 |
💬相关信息
🤝联系我们
本项目功能和文档正在持续更新和完善中,欢迎您持续关注。