MENU

TorchTPU: Google and Meta’s Native PyTorch Backend for TPUs

PyTorch Blog USA
Overview
Google and Meta have collaborated on TorchTPU, an open-source native PyTorch backend for Google TPUs designed to enable seamless model migration and industry-competitive performance. By prioritizing eager execution and removing JAX dependencies in the runtime, it allows users to port workloads by simply changing `.to(“cuda”)` to `.to(“tpu”)`.
In Depth

Key Findings

TorchTPU provides a principled PyTorch backend for Google TPUs, delivering native hardware acceleration and seamless out-of-the-box model execution. It supports both eager and compiled modes, including a new DeferAndFuse eager mode, and is currently used in production for inference and training by some of Google Cloud’s largest customers.

Technical Details

The project follows specific design principles to ensure “PyTorch Citizenship” and user focus:

  • Runtime Architecture: The runtime contains no JAX dependencies. torch.compile() is based on Torch Dynamo rather than Lazy Tensors, achieving performance similar to JAX compile.
  • Distributed Computing: It provides TPU collectives at the lowest level of the PyTorch stack (e.g., Process Group API) to support DDP, FSDP, and DTensor.
  • Performance Optimizations: TorchTPU introduces a JIT compilation approach for eager execution and “bounded dynamism” to avoid XLA recompilation caused by shape changes.
  • Compatibility: The backend supports approximately 450 Aten ops. It is validated for out-of-box execution on the 5,000 most downloaded Hugging Face models, including LLMs (Llama, Gemma, DeepSeek, Qwen), Vision (ViT, ResNet, DinoV2), and Audio/Speech (Whisper, HuBERT).
  • Extensibility: Developers can author custom kernels via Helion DSL and JAX/Pallas.

Background & Context

While Google TPUs are designed for ML performance and cost efficiency, they were historically tied to TensorFlow and JAX. Previous efforts like PyTorch/XLA (introduced in 2020) and TorchAX struggled with compile-time latency, required intrusive source-code modifications, and lacked native eager execution support. TorchTPU, started in mid 2025, was developed to resolve these issues by treating eager execution as a top priority.

Significance & Outlook

TorchTPU aims to compete with PyTorch on GPUs for large-scale workloads. By integrating with existing community tools like Ray and torch.profiler, it lowers the barrier for researchers and engineers to migrate PyTorch workloads to TPU hardware with minimal code changes.

Source: https://pytorch.org/blog/introducing-torchtpu/

Get our weekly technology intelligence — free

Receive an infographic that lets you judge at a glance whether each field’s analysis report is worth reading.

Subscribe Free — Weekly Tech Intelligence

By subscribing, you’ll receive Troy-Technical’s weekly technology intelligence newsletter.

  • Your email and selected fields are used only to deliver the newsletter.
  • We never share your information with third parties.
  • You can unsubscribe anytime via the link in each email.

See our Privacy Policy for details.

Takes about a minute · Unsubscribe anytime

Published by Troy-Technical, an independent site run by one engineer with a career in materials development.
About the author / Contact info@troy-technical.jp
Let's share this post !

Author of this article

TOC