Google Open-Sourced TorchTPU. PyTorch/XLA Is Deprecated and Gets Archived November 15
Book: LLM Observability Pocket Guide Also by me: Thinking in Go (2-book series) — Complete Guide to Go Programming + Hexagonal Architecture in Go My project: Hermes IDE | GitHub — an IDE for developers who ship with Claude Code and other AI coding tools Me: xgabriel.com | GitHub On October 20, Google put TorchTPU on GitHub, a native PyTorch backend for its TPUs. For anyone already running PyTorch…
On October 20, Google made TorchTPU available on GitHub, a native PyTorch backend for its Tensor Processing Units (TPUs). As per the TorchTPU FAQ, PyTorch/XLA is now deprecated and replaced by TorchTPU, which is public. The PyTorch/XLA README now states that the project is deprecated and replaced by TorchTPU, with the repository to be archived on November 15, 2026. This gives teams four weeks to prepare for the project becoming read-only.
Google announced TorchTPU at the PyTorch Conference 2026, stating that TPUs now join GPUs and CPUs as native PyTorch targets. The base repository is Apache 2.0, and the latest public release is 0.2.0 on PyPI, supporting Python 3.11 and above. The feature set page lists validated TPU versions v5e, v5p, v6e, and v7, with v8i and v8t on the near-term roadmap.
The release comes with a serving story, vLLM backend built with Inferact, and SGLang backend built with RadixArk. Hugging Face Transformers v5 also deploys to TPUs using device_map=tpu.
Google reports up to 52% MFU on Qwen 3 8B with TorchTitan, claiming near-linear scaling across up to 8,192 Ironwood TPUs. The port starts with a simple change: .to(cuda) becomes .to(tpu) in the code. Install the release with the CPU build of torch, as the default install pulls the CUDA build. The provided code snippet demonstrates running a TensorFlow loop on a TPU VM using a v6e instance.
The execution model page explains that in the default eager mode, each operation becomes a single-op graph, compiled at -O1 and cached. torch.compile hands the whole FX graph to TorchTPU, compiling it at -O2. Two environment variables are mentioned: TORCH_TPU_LAUNCH_BLOCKING for errors to surface at the op causing them and TORCH_TPU_DEFER_AND_FUSE for fusing deferred ops into bigger graphs to achieve up to 50% speedup over default eager mode.
However, certain operations like data-dependent Python branches and dynamic shapes stall the device.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.