Ascend for PyTorch 训练营学习笔记 第一期续完
茶思屋专题:昇腾(Ascend)for PyTorch 训练营(https://www.chaspark.com/#/s/AscendforPyTorch2026?multi=zh) 第一期

社区以 torch.compile 为核心的编译战略趋势,以及昇腾的跟进
- PyTorch 2.x "沙漏型"战略:北向统一 Python 开发生态(模型、训练、部署、算子开发),中间以
torch.compile(Dynamo → FX Graph → Inductor)为枢纽,南向通过 Triton 统一对接各类 AI 硬件,解决 N 个算子 × M 种芯片的适配难题。 - 挑战:编译"黑盒化"导致调试困难;优化引入数值差异;Graph Breaks(断图) 导致性能不稳定。
- 2026 社区转向"技术+生态"双轮驱动:
- 打破黑盒:提供覆盖编译全生命周期的 API,让用户能精细控制和定制编译流程。
- 确定性:完善图模式下的确定性计算与精度一致性。
- 分布式下沉:SimpleFSDP 等分布式特性接入
torch.compile,将并行优化任务下沉到图编译器。 - Compile Toolkit:生态层面扩展出 vLLM compiler、Autoparallel 等用户级编译工具。
- 数据趋势:图模式相关提交量从 2022 年起爆发式增长,到 2024–2025 年已占 PyTorch 社区绝对主导地位。
torch.compile 是 PyTorch 的当前核心战略,社区正从"技术攻坚"转向"技术+生态工业化落地",重点解决黑盒、确定性和分布式编译问题;昇腾需要紧跟这一趋势完成 Inductor 等编译后端的适配。

昇腾 对 torch.compile 的完整适配方案:“上层复用社区、中层扩展多后端、底层对接 CANN”。
整体编译流程:
① Dynamo + AOTAutograd:负责图捕获与自动求导图优化,输出 Prim Aten IR,核心逻辑完全复用 PyTorch 社区。
② Inductor:接收 IR 后经过 pre_grad_pass → post_grad_pass → lowering → can fuse → codegen,最终生成目标代码。
四大关键能力:
① 图捕获与优化复用社区:Dynamo/AOTAutograd 及三阶段融合 Pass 均复用社区逻辑,同时支持通算掩盖(通信计算重叠)和自定义 Pass。
② 支持 Dynamo 多后端:除 Inductor 外,还支持 aot_eager、NPUGraphs 等调试后端,以及 NPUGraph_EX 等昇腾专属扩展后端。
③ Inductor 支持多后端:
- 基于 triton-Ascend 自动生成融合算子代码;
- 也支持 MLIR/DVM 等扩展后端;
- 支持多层级精度自动对比与确定性计算。
④ NPUGraph_tree:在 fullgraph 和 Graph break 场景下,支持安全的子图下沉和图间内存复用。
底层链路:编译期走 Triton → 昇腾 IR → 毕昇编译器 → CANN Runtime;运行期支持 Eager / NPUGraph_tree / AOTInductor 三种模式。
昇腾在 torch.compile 上做到与 PyTorch 编译生态的深度兼容,同时通过 triton-Ascend、NPUGraph_tree 和确定性计算等特性完成 NPU 专属优化。
- 点赞
- 收藏
- 关注作者
评论(0)