A buyer quotes a headline FLOPS number from the NVIDIA HPC-Benchmarks container and treats it as settled proof that a node fits their AI workload. It rarely is. That single number usually comes from HPL — a dense, compute-bound test — and it says almost nothing about whether a retrieval- or context-heavy AI serving workload will run well on the same silicon. The benchmark container is not a leaderboard. Read correctly, it is a diagnostic that separates compute-bound behaviour from memory-bandwidth-bound behaviour on a specific node topology, and that separation is exactly what governs where real AI workloads bottleneck. The NVIDIA HPC-Benchmarks container ships three distinct tests: HPL (High Performance Linpack), HPL-MxP (its mixed-precision variant), and HPCG (High Performance Conjugate Gradients). They are not three grades of the same measurement. They stress different parts of the machine, and their results diverge — sometimes dramatically — on identical hardware. Treating them as interchangeable is the root of most benchmark-driven mis-sizing we see in AI infrastructure procurement. What do HPL, HPL-MxP and HPCG each measure? HPL solves a dense linear system. It is arithmetic-intensive: the ratio of floating-point operations to bytes moved from memory is high, so a well-tuned run keeps the GPU’s tensor and FP64 units saturated and rarely waits on memory. That is why HPL produces the impressive peak FLOPS figures quoted in TOP500 rankings. It is a near-best-case measurement of dense compute throughput. HPL-MxP runs the same dense problem but exploits lower-precision arithmetic (FP16/BF16/FP8 paths with iterative refinement to recover accuracy). It reports a higher effective rate than HPL because it uses the same tensor-core hardware that AI training and inference lean on. This is the sub-benchmark closest to the mixed-precision matrix math inside a transformer, which makes it a more honest proxy for peak AI compute than plain HPL — though still a compute-bound one. HPCG is the deliberate opposite. It runs a sparse, iterative solver with irregular memory access and frequent halo exchanges between ranks. Its arithmetic intensity is low, so the limiting factor is memory bandwidth and interconnect latency, not peak arithmetic. On many nodes HPCG reports a small single-digit percentage of the HPL FLOPS figure — not because the hardware is broken, but because HPCG is measuring the regime HPL never touches. That gap is the whole point. Benchmark Regime it stresses Limiting factor Best proxy for HPL Dense, high arithmetic intensity Peak FP compute Best-case dense throughput HPL-MxP Dense, mixed precision Tensor-core throughput Peak AI training/inference compute HPCG Sparse, irregular access Memory bandwidth + interconnect Memory-bound AI serving, retrieval, long context The single most useful thing you can extract from a full container run is the ratio between the HPCG result and the HPL (or HPL-MxP) result on your node topology. A low ratio tells you the machine has far more arithmetic capacity than it can feed from memory. That is a fine profile for a workload that stays in the tensor cores — and a warning sign for one that does not. How do these results map to compute-bound vs memory-bound AI? AI workloads are not uniformly one or the other, and this is where the naive reading fails hardest. The prefill phase of LLM inference — processing a long prompt — is compute-bound and looks a lot like HPL-MxP: dense matrix multiplies that saturate tensor cores. The decode phase, generating tokens one at a time, is memory-bandwidth-bound: each step streams the full weight set and the growing KV-cache through the GPU, doing relatively little arithmetic per byte. Decode looks far more like HPCG than like HPL. Retrieval-augmented and long-context serving push even harder toward the memory-bound end. The KV-cache grows with context length, and at scale the bottleneck migrates from the GPU’s compute units to HBM bandwidth and, across a multi-GPU node, to NVLink and PCIe. This is the same behaviour a good hierarchical caching design for low-latency LLM inference is built to relieve — and it is precisely the behaviour HPCG is designed to expose. If your workload lives mostly in decode and retrieval, the HPCG number is a better predictor of realised throughput than any HPL figure on the spec sheet. The mapping, stated plainly: HPL and HPL-MxP bound what your prefill and dense training can do; HPCG bounds what your decode, retrieval, and long-context serving will do. A procurement grounded only in the compute figures is sizing for the phase that was never the constraint. Why can an HPL-topping node still underperform on AI memory work? Because the two workloads exercise different hardware. A node can top HPL through sheer tensor-core density while carrying a memory subsystem — HBM capacity, HBM bandwidth, NVLink topology — that becomes the wall the moment the workload turns memory-bound. The arithmetic units sit idle waiting on data, and the headline FLOPS figure is never approached in production. In profiles where a benchmark-topping node is run on a genuinely bandwidth-bound AI serving workload, it is common to see a large fraction of the node’s advertised throughput go unrealised — on the order of 40–70% left on the table (observed pattern across infrastructure-sizing reviews; not a published benchmark, and highly dependent on model size, context length, and batch shape). The number itself matters less than the mechanism: you paid for arithmetic capacity your workload cannot feed. That is the same class of expensive over-scaling we warn about when teams choose a CPU spec for GenAI workloads by reading peak core counts instead of the memory and I/O path the workload actually stresses. Interconnect makes this worse at multi-node scale. HPCG’s frequent halo exchanges surface interconnect latency the same way distributed inference and sharded KV-cache traffic do. A node that looks strong in isolation can degrade once the workload spans NVLink domains or crosses PCIe — a failure mode invisible in a single-number HPL quote but plainly readable in a full HPCG run across the intended topology. How should you run and read the container before a capacity decision? Run all three tests on the exact node topology you intend to buy — not a reference configuration, not a vendor’s tuned submission. Tuning matters: HPL results are sensitive to block size and process grid, and an untuned run understates the machine while an over-tuned one flatters it. The goal is not the highest possible HPL number; it is a consistent, reproducible profile you can reason about. Reading checklist for AI memory sizing Get all three numbers on your topology. A single HPL figure is not a profile. Run HPL, HPL-MxP, and HPCG on the real node and interconnect. Compute the HPCG-to-HPL ratio. A low ratio means abundant compute relative to memory bandwidth — good for dense training, risky for decode-heavy or retrieval serving. Match the sub-benchmark to your dominant phase. Prefill/training → HPL-MxP. Decode/retrieval/long-context → HPCG. Mixed workloads need both bounds. Run HPCG across the intended interconnect span. Single-GPU results hide the NVLink/PCIe penalties that appear in distributed serving. Treat the headline FLOPS as a ceiling, never a forecast. It bounds best-case dense throughput and predicts nothing about memory-bound realised performance. Record the tuning parameters. An unrecorded run is not reproducible and cannot be compared against the next node. Reading these numbers correctly is a prerequisite to sizing the memory architecture, not a substitute for it. The benchmark tells you which regime dominates on a given node; deciding how much HBM, how many GPUs, and what interconnect the workload needs is a separate design step that belongs in a full [generative AI feasibility assessment](generative AI). The benchmark-derived compute-versus-bandwidth profile is one input to that decision — an important one, because it grounds the memory-architecture conversation in measured behaviour rather than a spec-sheet headline. Where does a headline benchmark number mislead a buyer? The most common failure is quoting HPL — or worse, the vendor’s TOP500 submission — as if it settled infrastructure fit. It settles one thing: dense compute ceiling. For an AI buyer whose workload is decode-, retrieval-, or context-heavy, that is the answer to a question they did not ask. The number to demand instead is HPCG on the intended topology, read as the memory-bound floor of realised performance. This is not unique to the HPC-Benchmarks container. The same discipline of matching the measurement to the workload phase runs through how we read every hardware benchmark for AI, from reading MLPerf and latency numbers for real-time GenAI to sizing agent infrastructure. A benchmark is only decision-grade when the thing it measures is the thing that will limit you in production. FAQ How does nvidia hpc-benchmarks work? The NVIDIA HPC-Benchmarks container packages three separate tests — HPL, HPL-MxP, and HPCG — that each stress a different part of a GPU node. In practice it is not a single leaderboard score but a diagnostic: run on your intended node topology, it separates compute-bound behaviour (HPL, HPL-MxP) from memory-bandwidth-bound behaviour (HPCG) so you can see which regime will actually limit your AI workload. What do HPL, HPL-MxP and HPCG each measure, and why do their results diverge on the same hardware? HPL measures dense, high-arithmetic-intensity compute and produces the headline peak FLOPS figure. HPL-MxP runs the same dense problem in mixed precision on tensor cores, closer to AI matrix math. HPCG runs a sparse, irregular solver limited by memory bandwidth and interconnect. They diverge — HPCG often reports a small single-digit percentage of the HPL figure — because they measure different regimes of the same machine, not different grades of one measurement. How do these benchmark results map to compute-bound vs memory-bandwidth-bound AI workloads? HPL and HPL-MxP bound compute-bound phases: dense training and LLM prefill, which saturate tensor cores. HPCG bounds memory-bandwidth-bound phases: LLM decode, retrieval-augmented serving, and long-context inference, where the KV-cache and weight streaming dominate. Match the sub-benchmark to your dominant workload phase; mixed workloads need both bounds. Why can a node that tops HPL still underperform on a retrieval- or context-heavy AI memory workload? Because HPL rewards tensor-core density while retrieval- and context-heavy workloads are limited by HBM bandwidth, HBM capacity, and interconnect. A compute-dense node can leave a large fraction of its advertised throughput unrealised on bandwidth-bound serving — on the order of 40–70% in sizing reviews we have run (observed pattern, not a published benchmark) — because the arithmetic units stall waiting on data. How should the benchmark container be run and interpreted on a specific node topology before a capacity decision? Run all three tests on the exact node and interconnect you intend to buy, record the tuning parameters, and compute the HPCG-to-HPL ratio. A low ratio signals abundant compute relative to memory bandwidth. Run HPCG across the intended interconnect span so distributed penalties surface, and treat the headline FLOPS as a ceiling rather than a forecast. Where does a headline benchmark number mislead an AI infrastructure buyer, and what should they check instead? A headline HPL or TOP500 figure only settles the dense compute ceiling, which is the wrong answer for a decode-, retrieval-, or context-heavy AI buyer. Instead, demand the HPCG result on the intended topology and read it as the memory-bound floor of realised performance. A benchmark is decision-grade only when what it measures is what will limit you in production. The uncomfortable part is that the right number to quote is usually the least flattering one. A node’s HPCG result — not its HPL peak — is the honest floor for memory-bound AI serving, and the discipline that separates a sound capacity decision from an expensive pivot is refusing to let the bigger number stand in for the relevant one.