Google has published torchtpu, an open-source PyTorch backend that lets developers run PyTorch models directly on Google's Tensor Processing Units without routing everything through the XLA compilation layer that has historically made TPU development feel like a second-class experience. The project ships as version 0.2.0 on PyPI, includes custom ATen kernel implementations, a compilation cache, and examples spanning Llama, Qwen, ResNet, DLRM, minGPT, and UNet. The strategic logic is transparent. PyTorch won the framework war years ago, and NVIDIA's CUDA ecosystem is the default accelerator path for PyTorch users. Every researcher who defaults to CUDA because PyTorch-on-TPU felt clunky is a customer Google loses to NVIDIA's cloud and hardware stack. torchtpu is Google's attempt to make TPUs a first-class PyTorch citizen — not through a compatibility shim, but through native ATen kernel support and torch.compile() integration. The technical architecture is notable. Rather than wrapping TPU operations in an abstract translation layer, the project implements ATen kernels directly for TPU, which means PyTorch operations map to TPU execution without the indirection penalties that plagued earlier XLA-based approaches. The Bazel-based build system with Remote Build Execution support signals this is internal Google infrastructure being externalized, not a weekend side project. The shared libxlabase.so architecture and the careful handling of duplicate static registrations suggest hard-won production engineering. Distributed training support — Data Parallelism and Tensor Parallelism out of the box — targets the workloads that matter: large language model training and inference. The model examples (Llama, Qwen) are not accidental choices. These are the architectures driving current demand for accelerator compute, and Google is signaling that TPUs can run them natively in PyTorch without the translation tax. The friction remains real. You need a TPU VM (v6e GCE instance recommended), Python 3.11+, and the build-from-source path involves Bazel — a tool most PyTorch developers have never touched. The documentation lives in Marimo notebooks that must be run from a TPU VM. This is still infrastructure aimed at teams with Google Cloud commitments, not solo researchers spinning up a weekend project. The competitive dynamics are clear. NVIDIA's moat is not just hardware — it is the toolchain ecosystem that makes CUDA the path of least resistance for every PyTorch user. Google's counter-move is to lower the switching cost from CUDA to TPU by meeting developers where they already are: native PyTorch. If torchtpu reaches parity on developer experience, Google Cloud TPU pricing can compete directly against NVIDIA GPU instances on cost-per-FLOP without the framework tax. The open-source release under Apache 2.0 is the right move for adoption but creates a governance question. Google controls the TPU hardware roadmap, the XLA compiler, and now the PyTorch backend. The project is generative in structure — open code, open license, expanding hardware access — but the value chain still terminates in Google Cloud compute revenue. The question is whether this becomes genuine infrastructure or a customer acquisition funnel with an open-source wrapper.