Skip to the content.
← 返回博客主页
阅读 0

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 条

评论