Google open-sources TorchTPU, a native PyTorch back end for TPUs

TorchTPU moves existing code with a device change from .to("cuda") to .to("tpu"), and it supports both eager execution and torch.compile. Under the hood, the release supports approximately 450 ATen operations. According to the reported figures, TorchTPU hit 52% model FLOPs utilization when training the Qwen 3 8B model on up to 8,192 TPU v7x chips. The release spans four GitHub repositories under the Apache 2.0 license. TPUs have long been tied to TensorFlow and JAX. Google team states that TorchTPU replaces PyTorch/XLA and recommends it for all new workloads. Earlier efforts such as TorchAX shoehorn PyTorch into JAX's modus operandi, while TorchTPU was built as a principled TPU backend for PyTorch. Frameworks such as vLLM, SGLang, TorchTitan, VeRL, and Ray have already integrated support. For a startup weighing accelerators, the main gain is lower porting cost if your training and serving code already runs on PyTorch. Two caveats apply. TorchTPU is v0.2.0 on PyPI, Python 3.11+, Apache 2.0. The utilization figure is self-reported, so run your own model on a TPU VM before you plan capacity around it.