TPU

A Tensor Processing Unit (TPU) is Google's custom machine-learning accelerator, designed around high-throughput matrix multiplication for training and inference in the Google software and cloud ecosystem.

The TPU Systolic Array — Matrix Multiply as Dataflow one value read from memory feeds many multiply-accumulates — that reuse is the whole point weights stay resident in each cell (stationary) ×+ ×+ ×+ ×+ ×+ ×+ ×+ ×+ ×+ ×+ ×+ ×+ ×+ ×+ ×+ ×+ ×+ ×+ ×+ ×+ ×+ ×+ ×+ ×+ ×+ activations stream in partial sums accumulate downward → outputs MXU 128×128 (or 256×256) real array, not 5×5 bfloat16 wide range, low bits one memory read → many MACs No register file re-fetch per multiply: operands march through the array, so energy goes to arithmetic, not data movement.

The core is a systolic matrix unit. Activations and weights stream through a two-dimensional multiply-accumulate array, maximizing data reuse and reducing energy spent moving operands. Vector units and on-chip memory handle the operations surrounding matrix multiplication.

Why the systolic array is so efficient. In a conventional processor every multiply re-fetches its operands from registers or memory. In a systolic array a weight is loaded once into a cell and stays put, reused across a whole stream of activations, while partial sums accumulate as they march down the array. One memory read therefore feeds many multiply-accumulates, and that operand reuse is where the energy-per-operation advantage comes from.

TPUs are systems, not isolated chips. High-bandwidth memory, fast chip-to-chip interconnects, and pod-scale topology allow large models to span many devices. XLA compiles TensorFlow, JAX, and supported PyTorch workloads into programs matched to that hardware.

The generations trace a clear arc. TPU v1 in 2016 was inference-only, with an 8-bit matrix unit on a PCIe card. v2 and v3 added training, HBM, and the bfloat16 numeric format, and organized chips into pods. v4 introduced optically reconfigurable interconnects that rewire the pod topology to the workload, and the later v5e and v5p chase performance per dollar and per watt at very large scale. Throughout, the real differentiator is the pod: thousands of chips wired into a single machine.

The trade is specialization for efficiency. TPUs can be highly efficient on well-shaped tensor workloads, while GPUs generally offer a broader programming ecosystem and more flexibility for irregular kernels.

GenerationFocusNotable
TPU v1 (2016)inference only8-bit MXU on a PCIe card
TPU v2 / v3training and inferenceHBM, bfloat16, pod scale
TPU v4large-scale trainingoptical circuit switch interconnect
TPU v5e / v5pscale and costperformance per dollar, huge pods

Read a TPU through an *operand-reuse* lens rather than a *peak-FLOPS* lens: the systolic array wins by getting many multiply-accumulates out of each value it reads from memory, so its efficiency comes from dataflow — how long a weight stays resident and how far a partial sum travels before it is written back — not from clock speed. Every design choice around it, from bfloat16 to pod-scale optical interconnects, is about keeping that array fed without paying to move data.

TPU — Google's Tensor Processing Unit custom ASIC for matrix multiply: systolic array architecture, designed for TensorFlow/JAX workloads Systolic Array (MXU — Matrix Multiply Unit) activations flow ↓ weights → 128×128 (TPUv4) or 256×256 (TPUv5e) each PE: one FMA (BF16 multiply-accumulate) data flows through PEs: no memory roundtrip = maximum compute density, minimum data movement 128² = 16,384 MACs/cycle per MXU TPU Generations TPUv2 (2017): 45 TFLOPS BF16, 16 GB HBM TPUv3 (2018): 123 TFLOPS, 32 GB, liquid-cooled TPUv4 (2021): 275 TFLOPS, 32 GB HBM2e TPUv5e (2023): best perf/$ for inference TPUv5p (2024): 459 TFLOPS, 95 GB HBM2e Trillium (TPUv6, 2025): 4.7x v5e perf TPU vs GPU (architectural differences) TPU: fixed-function systolic (BF16/INT8) higher utilization on matmul, less flexible GPU: programmable CUDA cores + Tensor Cores more general, bigger ecosystem, more formats TPU Pods — Scaling to Thousands pod slice TPUv4 Pod: 4096 chips, 1.1 ExaFLOPS TPUv5p Pod: 8960 chips Inter-chip: ICI (custom optical fabric) 3D torus topology, no InfiniBand needed Trained on TPUs: Gemini (Google), PaLM, T5, BERT Midjourney, Anthropic (early Claude) Available: Google Cloud (on-demand/reserved) TPU pricing: $1.37/chip-hr (v5e) — competitive with H100 ($2-3/hr) for training LLMs in JAX Limitation: JAX/TensorFlow only (no CUDA, no PyTorch native) — ecosystem lock-in to Google Cloud TPU proves custom silicon beats general GPUs at the workloads you design for — if you control the software stack.

Take tpu further

Ask the copilot about this term, or have our engineers assess it against your process.