Zenaique

What is a tensor core and why does it dominate matmul throughput on GPUs?

Flashcard·Easy·4.0 · 0·~30s·Asked atComet MlDatarobotKpmg·Relevant atNVIDIA
Attempt it
TL;DR

A tensor core is a fused matrix-multiply-accumulate unit on each SM that does an entire small tile of MMA per cycle; it makes FP16/BF16/FP8 matmul many times faster than FP32 on CUDA cores.

Memory aid
Sign in to see the mnemonic that makes this stick.
Easy to grasp

Imagine a kitchen with two kinds of cooks. One does single tasks: chop one onion, dice one carrot, mix one spoon of sauce. The other operates a giant industrial wok that processes a whole tray of ingredients in one motion: an entire wave of stir-fry done at once. The first cook is the general-purpose math unit on the chip; the wok is the dedicated math accelerator built specifically to do grid by grid multiplication and adding. The wok only works on that one recipe, but for that recipe it is dramatically faster than ten regular cooks combined. Modern LLM math is almost entirely that one recipe, mixed at lower-precision settings the wok is best at. The result: a GPU advertised at 'X teraflops' on FP32 hits many times X on FP16 or FP8 because those numbers come from the wok, not the regular line.

Concept explanation~2 min read

Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.

Tensor cores are why modern LLM inference is possible on a single GPU. Without them, a Llama 70B forward pass would be many times slower and far less power-efficient. Understanding what tensor cores are, what they accelerate, and what they do not accelerate is a prerequisite for reasoning about any inference performance problem.

This deep dive covers the hardware: what tensor cores are physically, how they differ from CUDA cores, what precision tiers each GPU generation added, and how serving engines route LLM compute through them. The takeaway is that tensor-core utilization is the primary lever on prefill throughput, while decode is bottlenecked elsewhere.

What a tensor core is, physically

A modern NVIDIA GPU is a sea of streaming multiprocessors (SMs). The H100 has 132 SMs; the B200 has roughly 148 enabled SMs per die. Each SM contains a mix of execution units: a register file, a warp scheduler, several CUDA cores (FP32 / INT32 ALUs), a few tensor cores, special function units for transcendentals, and a shared memory bank.

A tensor core is a specialized MMA execution unit. Physically it is a small array of multipliers and adders wired to consume two operand tiles (A and B) and an accumulator tile (C) and produce a result tile (D = A*B + C) in a few cycles. On both Hopper and Blackwell there are four tensor cores per SM; Blackwell's 5th-gen cores deliver higher throughput per core (notably native FP4) rather than doubling the count.

The tile shape is precision-dependent. FP16 matmul uses 16x16 tiles fed to a single tensor core; FP8 matmul uses larger 64x32 or 128x32 tiles via warpgroup-level instructions; FP4 on Blackwell uses block-scaled tiles with explicit scale operands every 16 elements.

The distinction from CUDA cores matters at the instruction level. CUDA cores execute SASS instructions like FFMA (32-bit fused multiply-add): one scalar op per thread per cycle. Tensor cores execute MMA instructions like mma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32: one tile of MMA per warp per few cycles. The total arithmetic per cycle on the tensor-core path is the product of tile area and clock rate, which dwarfs what the CUDA-core path can do.

Precision tiers across generations
Why this dominates LLM matmul throughput
What does NOT saturate the tensor cores
Production realities: how serving engines exploit tensor cores
Sign in to unlock the full deep dive.

Situations where this technique stops working.

Sign in to see when this approach fails.

2–4 min · Everything important, quickly.

Sign in to see the quick scan of the deep dive.

Real products, models, and research that use this idea.

  • An NVIDIA H100 SXM is rated at ~989 TFLOPS BF16 and ~1,979 TFLOPS FP8 dense matmul, versus only ~67 TFLOPS FP32 (the FP32 number runs on CUDA cores).
  • FlashAttention 3 (Hopper-specific) uses asynchronous TMA loads plus warpgroup MMA (WGMMA) to keep tensor cores fed during attention, hitting ~75% of peak FP16 throughput.
Sign in to see more production examples.

What an interviewer would ask next. Try answering before peeking at the approach.

QWhy is H100 FP32 throughput so much lower than its FP8 throughput?
A

FP32 matmul runs on CUDA cores, which do one scalar FMA per cycle. FP8 matmul runs on tensor cores, which do an entire tile of MMA per cycle. The ratio is the architectural difference between the two pipelines, not a quantization quality / loss tradeoff.

2 more follow-ups an interviewer would ask next. Sign in to reveal them.

Red flags & common mistakes

The phrases that signal junior thinking. Click to expand.

Most common mistake

Thinking tensor cores are general-purpose ALUs. They only accelerate fused MMA on small matrix tiles in supported precisions (FP16, BF16, FP8, INT8); everything else runs on CUDA cores.

Sign in to see all red flags and common mistakes.

60 second bullets to scan on the way to the call.

  • Define a tensor core as a hardware MMA unit on the SM.

  • Contrast it with a CUDA core (scalar FMA, general-purpose).

Sign in to unlock the revision sheet.

Primary sources. Browse if you want the original framing.

Similar questions

Same topic, related formats. Practice these next.

4 curated
Next question
What is the KV cache in transformer inference?
Flashcard·Easy