A tensor core is a fused matrix-multiply-accumulate unit on each SM that does an entire small tile of MMA in a few cycles; it makes FP16/BF16/FP8 matmul many times faster than FP32 on CUDA cores.
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 much 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.
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 do most of the matmul work in LLM inference on NVIDIA GPUs. Without them, a Llama 70B forward pass would be many times slower and far less power-efficient. Knowing what tensor cores accelerate, and what they do not, is needed to reason about any inference performance problem.
Tensor cores differ from CUDA cores in what they compute and how fast. Each GPU generation added precisions, and serving engines choose precisions to keep LLM compute on them. Tensor-core utilization is the main factor in prefill throughput, while decode is limited by memory bandwidth.
What a tensor core is, physically
A modern NVIDIA GPU is built from many streaming multiprocessors (SMs); the H100 SXM has 132. 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. Hopper and Blackwell both have four tensor cores per SM. Blackwell's fifth-generation tensor cores deliver higher throughput per core, including native FP4 (NVFP4 and MXFP4), rather than a higher count.
The tile shape depends on precision. FP16 matmul uses 16x16 tiles fed to a single tensor core. FP8 matmul uses larger 64x32 or 128x32 tiles through 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. Tensor-core throughput is the work per tile times the number of tiles finished per second, which is far more than the CUDA-core path can do.
Situations where this technique stops working.
2–4 min · Everything important, quickly.
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) overlaps asynchronous TMA loads with warpgroup MMA (WGMMA) during attention, reaching up to 840 TFLOPs/s in BF16 (85% utilization) and 1.3 PFLOPs/s in FP8 on H100.
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?
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 in a few cycles. The ratio is the architectural difference between the two pipelines, not a quantization quality / loss tradeoff.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
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.
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).
Primary sources. Browse if you want the original framing.
Same topic, related formats. Practice these next.