核心变化

PyTorch 2.14.0 在上海时间 2026-09-03 正式发布(GitHub 资产时间 2026-09-02T17:53:00Z,对应上海 01:53),聚焦编译、分布式与 Apple Silicon 三大方向。Inductor 引入 NVGEMM,通过 CuTeDSL 生成 CUTLASS 内核并融合 epilogue,支持缩放与 NVFP4;torch.switch 将原有 torch.cond 的二分支泛化为多分支选择,torch.while_loop 可在 CUDA Graph 中捕获;声明式动态形状通过 @dynamic_spec 在 torch.compile、torch.export 与 make_fx 间共享,复数张量获得实验性编译支持。

适用对象与价值

面向在大模型训练、推理与科学计算中使用 PyTorch 的中国开发者与团队。NVGEMM 与复数支持提升大规模语言模型与科学计算负载的吞吐与精度;nccl2 与 c10d 容错面向千卡级集群,提升集合通信与故障恢复能力;Apple Silicon 原生线性代数降低 Mac 端研发门槛。多平台轮子覆盖 Linux/Windows/macOS、CUDA 12.6+/13.0、ROCm 7.14 与 Intel XPU,利于国产与异构环境验证。

兼容性与破坏性变更

本次含多项破坏性变更,升级前需评估。torch.nn.LinearCrossEntropyOptions 移除 acc_policy="balanced",请改用 "compact";clamp 与 min/max 在边界处的次梯度改为按输入空间均分,标量边界由 1 改为 0,张量边界由全量归输入改为输入与边界各 0.5;自定义 ProcessGroup 的 new_group 需新增 backend 关键字;NCCL 对称内存池的后期段不再自动升级为对称窗口,需集体解注册后重注册;移除 torch.cholesky/torch.qr 旧 API,请迁移至 torch.linalg.cholesky/qr;profiler 的 use_cuda 参数已移除,需改用 activities 或 use_device。

  • 受影响建议: - 依赖 LinearCrossEntropyOptions balanced 策略的代码改为 compact - 依赖 clamp 边界梯度旧行为的训练逻辑用 torch.where 显式表达 - 维护自定义分布式后端时更新 new_group 签名 - 构建环境升级至 CUDA 12.6+、NCCL 2.23+,移除 setup.py 旧构建脚本

安装与访问条件

仓库:https://github.com/pytorch/pytorch,许可证 BSD-3-Clause。通过 pip 安装:pip install torch(默认 CUDA 13.0),或指定 --index-url https://download.pytorch.org/whl/cu126 / rocm7.14 等;源码构建需 CMake 3.10+、C++20 编译器。平台支持包括 CUDA、ROCm TheRock SDK、Intel XPU 原生图捕获及 Rubin sm_107 目标。国内访问可通过镜像或离线轮子,需注意驱动与 NCCL 版本匹配。

限制与下一步

已知限制:ROCm 7.2 轮子在无 GPU 环境下 torch.compile CPU 路径可能报向量化 ISA 检测失败;部分新特性为实验性,复数编译与 bcomplex32 覆盖有限;TVM 后端已移除 relay 路径,依赖旧调度参数需改用 pipeline。建议:先在测试环境验证梯度与分布式行为,更新 CI 的 NCCL 与编译器版本,关注官方发布说明与复现脚本,确认无破坏性影响后再全量升级。