Plate = one matrix multiplicationBits = 1 (CPU), 64–256 (GPU)Stacks = finished plates, countedAmber lamp = GPU launch setupA drilling bench. Each plate is one matrix multiplication, and a bigger matrix means bigger holes. The CPU drills one hole at a time. The GPU drills 64 holes per stroke.A transformer spends most of its time in matrix multiplication: M × N outputs, each a dot product K long, all independent. A CPU has a few strong cores, like a single-spindle drill that moves from hole to hole. A GPU has thousands of lanes and tensor cores that each finish a small matrix tile per instruction, like a gang drill that bores a whole tile per stroke. Both heads drill at the same scale: holes per second follow the sustained FLOPs of each device (70% of peak), and the GPU spends about 5 µs setting up each kernel launch (the amber lamp) before it drills. Make the matrix small and the launch eats the GPU's lead. The readout keeps the real times, but the motion is not to scale: setup and drilling of a plate together are capped at about 4 s on screen, drilling is shortened to fit, and the setup lamp never stays lit more than 4× as long as the drilling (at 512 × 512 the real ratio is about 5×, at 256 × 256 about 40×). The CPU still has drilled its real share of holes when the GPU's plate is done. Drop the precision and each step down doubles the tile a tensor core finishes per instruction: the gang head grows from 64 bits (FP16) to 128 (FP8) to 256 (FP4, the whole plate in one stroke). FP32 runs on the plain CUDA cores with the tensor cores idle; the Apple M4's GPU has no FP8 or FP4 units and runs FP16 at its FP32 rate. CPU: Ryzen 9 9950X, AVX-512 FP32. GPU rates are NVIDIA's dense figures.