PyTorch 硬件后端双发布:IBM Spyre 开源 MLIR 数据流后端,Google 与 Meta 联手推出 TorchTPU
今日概览
10 月 20 日,PyTorch 生态连续公布两条硬件后端路线。IBM 发布面向 Spyre 加速器的 MLIR 数据流后端,以 KTIR 作为 Inductor 与后端编译器之间的契约,经开源 Dataflow Scheduler 生成符号化 SpyreCode,并新增 spyreop dialect 暴露硬件 intrinsics 与 df16 DLFloat 格式。同日,Google 与 Meta 开源合作推出 TorchTPU,为 Google TPU 提供原生 PyTorch 后端,同时支持 eager 与 compiled 模式,基于 Torch Dynamo 集成 torch.compile,引入 bounded dynamism 避免因 shape 变化导致 XLA 重编译,并已在 5,000 个热门 Hugging Face 模型及 vLLM、SGLang、TorchTitan 等生态上完成验证。两条路线共同指向同一趋势:编译器栈更分层、更符号化,并更强调对动态形状与 PyTorch 原生语义的支持。
重点变化
1. From KTIR to SpyreCode: An MLIR Dataflow Backend for IBM Spyre
PyTorch 博客介绍 IBM Spyre 加速器的 MLIR 数据流后端。KTIR(Kernel Tile IR)作为 torch-spyre Inductor 与后端编译器之间的契约,以数据并行视图描述网格、内存视图与访问 tile 的映射;新的开源 Dataflow Scheduler 将 KTIR 转换为嵌套、double-buffered、multi-instance 的 dataflow pipeline,经 DataflowIR 由设备侧 lowering 生成符号化 SpyreCode(SpyreBinary 加 job plan),由 Spyre runtime 在启动时填充张量地址与形状。新增的 spyreop dialect 暴露激活函数、LayerNorm、地址算术等 Spyre intrinsics,并定义 1-6-9 位分配的 df16 DLFloat 格式。KTIR、ScheduleIR、DataflowIR 均基于上游 MLIR dialects 并以 Apache-2.0 开源。
为什么重要: 这套设计把调度器与设备侧 lowering 分层,并将张量形状与地址保持符号化直到运行时才替换,兼顾了编译期优化与动态形状;同时以 MLIR 上游 dialect 为基础开源,为其他多核加速器提供了可复用、可审计的编译栈参考,降低了自定义后端开发门槛。
涉及层级: frontend、tensor_ir、optimization、kernel_codegen、hardware_backend、runtime
来源: 原始来源 1
事件评分: 95.1/100
2. Introducing TorchTPU
Google 与 Meta 开源合作推出 TorchTPU,为 Google TPU 提供原生 PyTorch 后端。它同时支持 eager 与 compiled 模式,并引入新的 DeferAndFuse eager 模式与 JIT 编译;torch.compile 基于 Torch Dynamo 而非 Lazy Tensor,性能对标 JAX compile;支持约 450 个 ATen 算子,通过 view decomposition 与 inversion 提供 PyTorch view/变异语义;用户可经 JAX/Pallas 与 Helion DSL 编写自定义 kernel。针对动态形状,TorchTPU 引入 bounded dynamism 以避免 shape 变化触发 XLA 重编译;分布式方面,DDP/FSDP/DTensor 与 TPU collectives 直接 lowering 为 StableHLO,采用 one-process-per-device 模型。目前已在 5,000 个最热 Hugging Face 模型及 vLLM、SGLang、TorchTitan、Ray、TorchRec 等集成上完成验证。
为什么重要: 与 PyTorch/XLA、TorchAX 把 PyTorch 迁就 JAX 运作方式的思路不同,TorchTPU 将 eager 执行与 PyTorch 原生语义置于首位,并通过 bounded dynamism 缓解动态 shape 导致的重编译痛点,显著降低现有 PyTorch 工作负载迁移到 TPU 的成本;同时其 StableHLO collective lowering 与 Pallas/Helion 自定义 kernel 路线也展示了与 XLA 生态互通的实践方式。
涉及层级: frontend、graph_ir、optimization、kernel_codegen、hardware_backend、runtime、distributed
来源: 原始来源 1
事件评分: 92.2/100
值得继续观察
- TorchTPU 的 DeferAndFuse eager 模式与 bounded dynamism 的后续演进及对 PyTorch/XLA、TorchAX 的替代进度
- IBM Spyre Dataflow Scheduler 与 KTIR/DataflowIR 的开源仓库动态及上游 MLIR 合入情况
- df16 DLFloat 格式在 PyTorch dtype 生态中的整合进展
- TorchTPU 对动态 TPU kernel 的预编译探索及其在更大规模训练负载上的表现
数据与生成说明
- 采集窗口:
2026-10-20T08:00:00+08:00至2026-10-21T08:00:00+08:00 - 生成模式:
deepseek - 文章由程序根据一手来源生成;性能结论应以链接中的原始配置为准。
- 原始条目:PyTorch 5 条,llvm/llvm-project 1 条
评论
评论组件未成功加载。请先为仓库安装 Utterances App,或直接在 GitHub Issue 留言。
去 GitHub 留言