← AI Terminology

TPU - Tensor Processing Unit

A TPU (Tensor Processing Unit) is Google's custom ASIC designed exclusively for machine learning matrix operations — using systolic array architecture for highly efficient, massively parallel matrix multiplications at lower power and cost than GPUs for large-scale training and inference.

Gemini, PaLM, and all major Google AI models are trained on TPUs.
Why It Matters in AI
TPUs are the primary alternative to NVIDIA GPUs for frontier AI training: Google's TPU v5p pods deliver ~459 TFLOPS BF16 per chip with fast inter-chip interconnects (ICI), and pods of 8,960 chips are used for Gemini training. TPUs are more power-efficient than GPUs for the batch matrix multiplications dominating transformer training, and their tight integration with JAX/XLA provides an optimised full-stack. For Google Cloud customers, TPUs provide the highest-performance training option that isn't NVIDIA hardware.
Key Points
Aspect Description
Access Google Cloud TPU VMs — gcloud compute tpus tpu-vm create — pay-per-use or reservation
vs GPU TPU: better for regular matrix ops, less flexible for custom kernels; GPU: more flexible via CUDA
Versions TPU v2/v3/v4/v5e/v5p — each generation ~2× performance improvement; v5p is latest (2024)
Framework JAX/XLA primary, TensorFlow supported — PyTorch-XLA for PyTorch workloads
Architecture TPU v5p: 459 TFLOPS BF16, 96GB HBM; pods: up to 8,960 chips connected via ICI at 4.8 Tb/s
Systolic array 2D grid of multiplier-accumulator units — data flows between adjacent units like water in pipes
Simple Analogy
A specialised factory designed to make one product extremely efficiently: instead of a flexible factory (GPU) that can make many things reasonably well, the TPU factory is engineered end-to-end for matrix multiplication — conveyor belts (systolic arrays), machinery, and power supply all optimised for that one operation at planetary scale.
Common Usage Examples
  • jax.devices() — returns list of TPU/GPU/CPU devices available
  • jax.pmap(train_step)(replicated_state, sharded_batch) — data-parallel training across 8 TPUs
  • ACCELERATE_USE_XLA=1 accelerate launch train.py — TPU training via HuggingFace Accelerate
  • Google Colab: free TPU v2-8 access — !cat /proc/cpuinfo | grep "model name" to verify
  • torch_xla.core.xla_model as xm; device = xm.xla_device() — PyTorch on TPU via XLA
Summary
In short: Google's TPU is a custom matrix-multiplication ASIC that powers all major Google AI training — delivering leading performance for transformer workloads via systolic arrays and tight JAX/XLA integration, as the primary non-NVIDIA option for frontier model training.