A Skinny Matmul on a 128x128 MXU
A TPU MXU before v6e is a 128 x 128 systolic array of multiply-accumulators, 16K MACs per cycle, holding a tile of the weight matrix stationary while activations stream through. Pallas also requires a block's last two dimensions to be multiples of 8 and 128.
A layer computes X @ W with X of shape (256, 16) and W of shape (16, 512), so the contracting dimension is 16. What share of the array's multiply-accumulate slots does real data occupy, and what fixes it?
Sign in to answer questions and track your progress
Sign In