Computing Library › HPC & Compute
HPC & Compute

FLOP/s and Benchmarks

Floating-point rate is the headline metric of HPC, but benchmarks measure different things, and peak numbers rarely match real applications.

The unit of speed

HPC performance is quoted in FLOP/s, floating-point operations per second, scaled by prefixes: giga (10^9), tera, peta, and exa (10^18). Peak FLOP/s is the theoretical maximum from the hardware specification. Sustained FLOP/s is what a real code achieves, usually a fraction of peak because of memory, communication, and imbalance limits.

LINPACK and the Top500

Kronos motion — operating point

The Top500 list ranks the world's fastest systems by the High Performance LINPACK benchmark, which solves a large dense linear system. LINPACK has very high arithmetic intensity, so it stresses arithmetic units and reaches a large fraction of peak, which makes it a good compute stress test but a poor predictor of memory- or communication-bound applications.

More representative benchmarks

Why peak deceives

Real applications routinely sustain only a few percent to a few tens of percent of peak FLOP/s, because most are limited by memory bandwidth or communication rather than arithmetic. Comparing systems on peak FLOP/s alone is misleading; what matters is time to solution on the workload of interest.

Reading a benchmark honestly

A credible performance claim states the benchmark, the problem size, the precision used, and the fraction of peak achieved. High-intensity benchmarks flatter compute-heavy machines; bandwidth and communication benchmarks reveal the limits that most simulations actually hit.