Ascend for PyTorch 训练营学习笔记
【摘要】 茶思屋专题:昇腾(Ascend)for PyTorch 训练营(https://www.chaspark.com/#/s/AscendforPyTorch2026?multi=zh)最近在做算子开发,受困于其隧道视野,思路打不开。于是很想看一下上层相关的东西,这个课程正是我需要的,先看第一期,总体介绍。笔记如下:总体定位与课程目标技术栈:从底层昇腾处理器(310/910/950 等)→ CA...
茶思屋专题:昇腾(Ascend)for PyTorch 训练营(https://www.chaspark.com/#/s/AscendforPyTorch2026?multi=zh)
最近在做算子开发,受困于其隧道视野,思路打不开。于是很想看一下上层相关的东西,这个课程正是我需要的,先看第一期,总体介绍。笔记如下:

总体定位与课程目标
- 技术栈:从底层昇腾处理器(310/910/950 等)→ CANN 芯片使能 → AI 框架层(Ascend for PyTorch 与 MindSpore、TensorFlow 等并列)→ 上层应用使能(MindSpeed、MindIE)→ 业界开源项目(vLLM、SGL 等)。
- 课程目标:理解 Ascend for PyTorch 如何让 NPU 对接原生 PyTorch 高效运行;掌握其总体架构,包括 API、分布式并行、运行时优化、
torch.compile等核心模块。

介绍PyTorch 全流程 API 与大模型实战示例
- 典型训练流程:数据处理 → 模型构造(
nn.Module)→ 图模式加速(torch.compile)→ 分布式并行(FSDP)→ 迭代训练/推理(Loss、AdamW)。 - Qwen3-MoE 代码示例:展示了三段关键代码——用基础
torchAPI 构造 MoE 模型、用torch.compile进行图编译加速、用fsdp.fully_shard+hccl(昇腾通信后端)实现分布式并行训练。
Ascend for PyTorch是项目名,Torch-NPU是软件包名,二者可看为一个东西。

Ascend for PyTorch 的核心技术机制——基于 PyTorch 社区的 PrivateUse1 通用设备扩展机制,以 out-of-tree(树外) 方式接入昇腾 NPU。
- 对 PyTorch 社区:只需维护公共的
DispatchKey和通用代码逻辑,新设备后端的具体实现放到 out-of-tree 模块,既保证主代码稳定,又提升对多样性算力的兼容性。 - 对设备厂商(华为):NPU 后端作为独立模块开发,不侵入 PyTorch 内核,因此能快速跟进新 torch 版本,同时拥有充分自由度做硬件专属优化。
- 架构示意:PyTorch 核心(In-tree)通过 Dispatcher 将
PrivateUse1分发到 out-of-tree 的 NPU Backend,与 CUDA、CPU 等后端并列。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)