H100 vs A100 for LLM inference: 7.8× the capacity for 2.2× the price
We served Qwen3-8B with vLLM on a rented H100 SXM and a rented A100 SXM 80GB under the same latency target. The H100 served 8.79 requests per second against 1.13 on the A100: 7.8× the capacity for 2.2× the hourly price, so each token cost 71% less ($0.31 against $1.06 per million output tokens). On raw specs the H100 is only 1.7–2.6× faster. The rest of the gap comes from slow tokens on the A100, which a serving setting can partly fix.
Choosing GPUs? Compare GPUs for your traffic · Get your node measured, free
"Should we rent H100s or A100s?" is usually answered with spec sheets: the H100 SXM has about 2.6× the dense BF16 compute and 1.7× the memory bandwidth of an A100, at a bit more than twice the hourly price. On paper that's roughly a wash.
We measured it instead. Same model, same engine, same latency target, both cards rented on RunPod Secure Cloud:
| A100 SXM 80GB | H100 SXM 80GB | |
|---|---|---|
| Price on the day | $1.79/h | $3.99/h |
| Capacity within the latency target | 1.13 req/s | 8.79 req/s |
| Output tokens per second | 469 | 3,581 |
| GPU board power | 358 W | 683 W |
| Output tokens per joule | 1.3 | 5.2 |
| Cost per million output tokens | $1.06 | $0.31 |
The H100 served 7.8× as many requests for 2.2× the price. Per token it cost 71% less, and it did 4× more work per joule.
How we measured
Both GPUs ran Qwen3-8B in BF16 on the same container (vllm/vllm-openai:v0.31.0) with default settings. The workload mixes short and long prompts (median 1,024 input tokens, some up to 8,000) with median 256 output tokens, arriving at random. We raised the request rate until the latency target broke: p99 time to first token ≤ 2 s and p99 time per output token ≤ 50 ms. Capacity is the highest rate that still met both. Accuracy on a fixed GSM8K set was identical on both cards.
Both nodes passed a health check first: full power limit (400 W and 700 W), clocks under load and memory bandwidth in line with healthy cards of each model. Full settings and raw data: A100 report, H100 report.
Why the gap is bigger than the spec sheet
In our health checks the H100 SXM delivered about 680 TFLOPS of dense BF16 against 260 on the A100 (2.6×), and 3.0 TB/s of copy bandwidth against 1.75 (1.7×). Token generation mostly follows memory bandwidth, so you'd expect the H100 to serve somewhere around 2× as much. It served 7.8×.
The difference is the slowest tokens. When a long prompt arrives, the engine processes it in the same step as everyone else's next token, and those tokens wait. On the A100, with less compute to get through the prompt, that wait was long enough to push the slowest 1% of tokens past 50 ms at a low rate: at 1.4 requests per second its median time per token was 17 ms, but its p99 was 64 ms. The H100 got through the same prompts fast enough to stay under the target all the way to 8.79 requests per second (p99 37.9 ms).
So averages hide most of the difference. Measured on median speed alone, the A100 looks fine. It's the tail that sets how many users you can serve at a latency promise.
How much of that is fixable
Some of it. How much prompt the engine processes per step is a setting (max-num-batched-tokens in vLLM, 8,192 by default). Smaller chunks shorten the stalls at some cost to prompt throughput. On an H200 serving a 70B model, lowering it to 1,024 raised capacity about 15% in an earlier test, within quick-mode noise. A tuned A100 would close part of the gap, but not 7.8× down to the price ratio of 2.2×: the H100 would still have more than twice the compute and 1.7× the bandwidth.
Which one to rent
- Serving an LLM to users with a latency promise: the H100 SXM, even at twice the price. It was the cheapest per token of every GPU we've measured on this model, including the RTX 4090, L40S and A40 (comparison).
- Low or bursty traffic, batch jobs without a tight latency target, or a fixed budget per hour: the A100. At 1 request per second or less you're paying for idle capacity on an H100 anyway, and the A100's 80 GB holds the same models.
- Either way, check which H100 you get. "H100" can mean SXM, PCIe or NVL, and in our H100 study the SXM served 2.25× as much as an NVL set to 310 W. Then check the node itself:
pip install tokenwatt-checkcompares it with a healthy card of the same model in two minutes (how).
Limits
One node of each GPU, one platform, on different days (October 11 and 13), quick mode (2-minute windows, 2 repeats), which reads 15–20% higher in absolute capacity than our full mode, so compare the two cards with each other rather than with full-mode numbers. One dense 8B model in BF16 with default settings and no tuning; the A100 doesn't support FP8, which raised capacity 19% on an RTX 4090 in another test. Prices are RunPod Secure Cloud on the day. Power is GPU board power, not wall power.
Method: how we measure · Prices across providers: H100, A100.
Keep reading
GPU rental prices, early October 2026: list prices barely moved, but where you rent changes the price up to 4.7×
We collected on-demand GPU list prices from 16 cloud providers three times a day from October 7 to 19, 2026. List prices barely moved: 14 of 407 tracked offers changed. The spread between providers is the real story: H100 from $2.99 to $13.98 per GPU-hour (4.7×), A100 2.6×, L40S 2.1×. And 13 of 22 H100 listings didn't say whether the card is SXM, PCIe or NVL, a difference worth 2.25× in served tokens in our tests.
Renting an H100? The variant matters more than the luck of the draw
We rented 19 H100s on RunPod Secure Cloud and checked each one, then served the same 8B model on one of each variant. All 10 SXM cards were healthy and nearly identical. Every NVL card was set to 310 W, below NVIDIA's 350–400 W range, and the PCIe cards split into two speed groups 12% apart. Per token, the SXM was the cheapest: $0.31 per million output tokens, against $0.43 on PCIe and $0.57 on NVL.
RTX 4090 vs L40S vs A100 vs A40 for LLM inference: what an 8B model really costs per token
We served Qwen3-8B on four cheaper GPUs rented from RunPod Secure Cloud under the same latency target. An RTX 4090 with FP8 weights was cheapest at $0.90 per million output tokens; the A100, the 4090 in BF16 and the L40S landed at $1.06–1.13; the A40 cost $1.61. Every card was limited by occasional slow tokens rather than average speed, and a 30B mixture-of-experts model on an H100 was about 3× cheaper per token than any of them.