Google Open-Sources TorchTPU, a Native PyTorch Backend for Cloud TPUs

0


Google has open-sourced TorchTPU, a native PyTorch backend for Cloud TPUs. It was co-developed with the PyTorch team at Meta and announced at PyTorch Conference 2026 on October 20, 2026. Existing PyTorch code targets a TPU through a standard torch.device(“tpu”). TPUs now sit beside GPUs and CPUs as a native PyTorch device. Google team states that TorchTPU replaces PyTorch/XLA and recommends it for all new workloads.

TL;DR

  • Size: A software stack, not a model. 4 open repos: TorchTPU, vLLM-TorchTPU, SGLang-TorchTPU, TorchTitan. TorchTPU is v0.2.0 on PyPI, Python 3.11+, Apache 2.0.
  • Runs on: Google Cloud TPUs. Tested on generations from v5e, scaled to 8,192 Ironwood (TPU7x) chips. Serving supports FP8, MXFP4 and NVFP4 checkpoints.
  • Performance: Eager mode for debugging, torch.compile for production-level throughput.
  • Best: 52% MFU training Qwen 3 8B with TorchTitan on Ironwood (self-reported).
  • Worst: Out-of-box eager took 11.49s per step in a fine-tuning case, versus 2.78s fully tuned.

What is TorchTPU?

TorchTPU is an open-source PyTorch backend from Google and Meta that runs PyTorch models natively on TPUs. It plugs in through PyTorch’s PrivateUse1 interface. Tensors are ordinary PyTorch tensors, with no subclasses or wrappers. It runs one process per device and preserves tensor views and in-place mutations.

The predecessor, PyTorch/XLA, recorded lazy-tensor graphs. Developers often added code to mark compilable regions. PyTorch/XLA also only supported pure SPMD code. TorchTPU also handles divergent MPMD execution.

How does TorchTPU execute PyTorch code?

TorchTPU ships 3 eager modes:

  • Strict (default): dispatches each operator asynchronously with standard PyTorch semantics.
  • Debug: runs synchronously with tensor bounds checking.
  • DeferAndFuse: fuses runs of eager operators to cut HBM traffic. The TorchTPU paper says it can be 50% or more faster than Strict.

For peak speed, torch.compile(backend=”tpu”) captures the graph with TorchDynamo. It lowers through StableHLO to OpenXLA, which emits TPU machine code. Compiled executables are cached across processes, hosts and job restarts.

Custom Pallas kernels are callable as standard PyTorch functions. Prebuilt Tokamax kernels and Helion tile kernels also work.

Distribution uses the tpu_dist process group. It supports DDP, FSDP2 and DTensor, along with a topology-aware mesh for TPU interconnects.

How fast is TorchTPU?

All figures below are self-reported by Google and partners.

  • Training scale: TorchTitan reached up to 52% MFU on Qwen 3 8B. Google reports near-linear scaling up to 8,192 Ironwood TPUs.
  • Tuning ladder: In a TorchTitan fine-tuning case, step time fell from 11.49s to 2.78s. DeferAndFuse alone gave 1.15x. Full torch.compile gave 3.80x.
  • Model coverage: Google continuously tests about 5,000 Hugging Face models in eager and compiled modes.
  • Fleet serving: Zenteiq grew daily output from 1.47B to 5.97B tokens per 1,000 TPU v6e chips. That gain came from llm-d routing on GKE, not TorchTPU alone.

What integrations ship with TorchTPU?

  • Hugging Face: Transformers v5 deploys to TPU with device_map=”tpu”. Diffusers supports eager, torch.compile and tensor parallelism.
  • vLLM-TorchTPU: built with Inferact. Keeps upstream schedulers and API servers, with custom Pallas kernels.
  • SGLang-TorchTPU: built with RadixArk. Keeps RadixAttention prefix reuse.
  • Serving features: FP8 KV caches, FP8, MXFP4 and NVFP4 checkpoints. Speculative decoding includes MTP and EAGLE-3.
  • TorchTitan: recipes for Llama 3 70B/405B, Qwen 3 8B/32B, Qwen 3 235B MoE and FLUX.1 12B.
  • Also: llm-d 1.0, Ray, TorchRec, VeRL (preview) and LiteRT-Torch for on-device export.

How does TorchTPU compare with PyTorch/XLA, TorchNeuron and JAX?

FeatureTorchTPU (repo)PyTorch/XLA (repo)TorchNeuron (AWS docs)JAX on TPU (Google docs)VendorGoogle + MetaGoogle / PyTorchAWSGoogleHardwareCloud TPU (v5e and later tested)Cloud TPUTrainium 2, Trainium 3Cloud TPUPyTorch devicetpuxlaneuronNot PyTorchBackend mechanismPrivateUse1Lazy-tensor graph recordingPrivateUse1Not applicableDefault executionEager (Strict, Debug, DeferAndFuse)Lazy tensorsEager plus torch.compileNot disclosedCompile pathTorchDynamo to StableHLO to XLAXLANeuron CompilerXLADistributed APIsDDP, FSDP2, DTensor, SPMD and MPMDPure SPMD onlyFSDP, DTensor, DDP, TPNot disclosedCustom kernelsPallas, Tokamax, HelionNot disclosedNKIPallasvLLM / SGLang servingvLLM-TorchTPU, SGLang-TorchTPUNot disclosedvLLM NeuronvLLM-JAX, SGLang-JAXStatusOpen source, v0.2.0Being replaced by TorchTPUPublic beta (Neuron 2.33)MaintainedLicenseApache 2.0Not disclosedNot disclosedNot disclosed

How do you install TorchTPU?

Install the package on a TPU VM, then pick the tpu device:

# pip install torch_tpu
import torch
device = torch.device(“tpu”)
x = torch.randn((4, 4), device=device)

The repo’s README pins torch_tpu==0.2.0 with the CPU PyTorch wheel index. Without it, pip pulls the CUDA build of torch. Full guides live at torchtpu.readthedocs.io.

Key Takeaways

  • TorchTPU is open source under Apache 2.0, co-built with Meta.
  • It replaces PyTorch/XLA with eager-first, PrivateUse1-based execution.
  • torch.compile(backend=”tpu”) lowers through StableHLO and XLA.
  • TorchTitan hit 52% MFU on Qwen 3 8B, scaling to 8,192 Ironwood chips.
  • vLLM, SGLang and Hugging Face now run on TPU through standard PyTorch.

Check out the GitHub repo, paper, docs and Google Cloud announcement. All credit goes to the researcher of this project. Also, feel free to follow us on Twitter and don’t forget to join our 150k+ML SubReddit and Subscribe to our Newsletter. Wait! are you on telegram? now you can join us on telegram as well.

Asif Razzaq is the CEO of Marktechpost AI Media Inc.. As a visionary entrepreneur and engineer, Asif is committed to harnessing the potential of Artificial Intelligence for social good. His most recent endeavor is the launch of an Artificial Intelligence Media Platform, Marktechpost, which stands out for its in-depth coverage of machine learning and deep learning news that is both technically sound and easily understandable by a wide audience. The platform boasts of over 2 million monthly views, illustrating its popularity among audiences.



Source link

You might also like
Leave A Reply

Your email address will not be published.

Cube Letter