n4nAI

B200 vs H100: tokens per second on 70B models

B200 vs H100 tokens per second 70B: head-to-head comparison of throughput, memory, cost, and ergonomics for serving 70B LLMs in production.

n4n Team3 min read683 words

Audio narration

Coming soon — every post will get a voice note here.

The question of B200 vs H100 tokens per second 70B models is now practical rather than speculative: Blackwell B200 units are shipping in clusters while H100 remains the volume workhorse. For teams serving Llama 3 70B or similar dense transformers, the per-GPU token rate decides both tail latency and cost per million tokens.

Hardware fundamentals

Memory capacity and bandwidth

H100 SXM ships with 80 GB HBM3 at 3.35 TB/s. B200 is a dual-die package with 192 GB HBM3e at roughly 8 TB/s. That single fact dominates 70B inference.

A dense 70B model in FP16 weights 140 GB. In FP8 it is 70 GB. On H100 you cannot fit FP16 70B on one card; you need tensor parallel across at least two GPUs. B200 fits FP16 70B on one module with headroom for KV cache at meaningful batch sizes.

Compute and Transformer Engine

H100 delivers ~1979 TFLOPS FP8 (sparse) with first-gen Transformer Engine. B200 improves FP8/FP4 throughput and adds second-gen TE. For decode-bound 70B serving, compute is not the bottleneck—memory bandwidth is. The extra FLOPS matter mostly for prefill and large batch prompt processing.

Throughput characteristics

The B200 vs H100 tokens per second 70B debate reduces to bandwidth per parameter fetch. Decode step moves weights from HBM to compute each token. With 2.2x the bandwidth, B200 yields roughly 1.8–2.1x tokens/sec per GPU at fixed batch on bandwidth-bound workloads.

A two-GPU H100 TP=2 setup serves Llama 3 70B FP8 with aggregate throughput that scales with batch; a single B200 in FP16 often matches or beats that aggregate while cutting interconnect overhead.

Measure it yourself with a minimal streaming client:

import time, openai

# point at vLLM, TRT-LLM, or a gateway
client = openai.OpenAI(base_url="http://localhost:8000/v1")
t0 = time.time()
stream = client.chat.completions.create(
    model="llama-3-70b",
    messages=[{"role": "user", "content": "Explain CUDA streams"}],
    stream=True,
)
tokens = 0
for chunk in stream:
    if chunk.choices[0].delta.content:
        tokens += 1
print(f"{tokens / (time.time() - t0):.1f} tok/s")

When you front multiple backends with an OpenAI-compatible gateway such as n4n.ai, the same client code targets B200 or H100 pools without routing changes; the gateway honors cache-control and falls back on degradation.

Price and cost model

H100 on-demand cloud instances run roughly $2–4/hr per 80 GB SXM depending on region and commitment. B200 pricing is not broadly published but carries a clear hardware premium and tighter supply.

Cost per million tokens favors the higher-throughput part when utilization is high. If a B200 sustains ~2x tokens/sec of an H100 at <2x the hourly rate, $/token drops. At low utilization, H100’s cheaper idle cost wins.

Ergonomics and ecosystem

H100 is mature: CUDA 12.x, vLLM, TensorRT-LLM, DeepSpeed, all stable. B200 requires CUDA 12.4+, newer NGC containers, and Blackwell-aware TRT-LLM builds. The user-space APIs are identical; the friction is in stack versions and driver qualification.

Both expose the same OpenAI-style or Hugging Face interfaces once wrapped by a serving layer. No application code changes when you swap silicon.

Limits

H100 limits:

  • 80 GB caps single-card 70B to FP8 with thin KV cache.
  • NVLink bridge needed for TP across cards adds latency.

B200 limits:

  • 1000 W+ per module; new HGX board required.
  • Scarce in most regions as of early 2025.
  • Software path for some quant formats still catching up.

Head-to-head table

Dimension H100 (80GB SXM) B200 (192GB)
Capabilities TP-2 for FP16 70B; FP8 single-card FP16 70B single-card; larger KV
Price/cost model ~$2–4/hr cloud; dense supply Premium HW cost; scarce
Latency/throughput Baseline; bandwidth-bound ~3.35TB/s ~1.8–2.1x tok/s per GPU at same batch
Ergonomics Mature CUDA 12, vLLM stable Needs CUDA 12.4+, newer TRT-LLM
Ecosystem All frameworks supported Blackwell builds rolling out
Limits Memory cap, TP overhead Power, availability, software lag

Which to choose

Cost-sensitive batch at scale: Stay on H100. The ecosystem is stable, supply is deep, and two-card TP 70B FP8 is a solved pattern.

Low-latency single-model 70B FP16: B200 wins. One module removes TP comms and fits weights plus large KV cache, cutting tail latency.

Heterogeneous fleets: Use a routing layer. Send prefill-heavy bursts to B200, steady decode to H100. An inference gateway that honors client routing directives and forwards provider cache-control hints hides the topology from app code.

Prototype to production fast: Start on H100, benchmark with the script above, then migrate hot pools to B200 where tokens/sec per watt matters. The B200 vs H100 tokens per second 70B gap is real, but only worth paying for when utilization is high.

Tagsb200h100throughput-benchmarkgpu-benchmark

Written by

n4n Team

The team building n4n — a single OpenAI-compatible API in front of 240+ models, with automatic fallback, load balancing and pay-per-token metering.

More from n4n Team →

All gpu inference benchmarks posts →