GPU specifications

Memory, bandwidth and rough compute for the cards people actually rent, and why bandwidth is the number that decides single-stream generation speed.

Data centre cards

A100 40GB (SXM)40 GB HBM2e · about 1.6 TB/s · about 312 TFLOPS bf16Still widely available and cheap to rent. The 40 GB is the constraint — it will not hold a 70B model at 4-bit with useful context.
A100 80GB (SXM)80 GB HBM2e · about 2.0 TB/s · about 312 TFLOPS bf16The workhorse of the previous generation. No fp8 support, which matters for serving efficiency more than for training.
H100 80GB (SXM)80 GB HBM3 · about 3.4 TB/s · about 990 TFLOPS bf16Roughly 1.7× the A100's bandwidth and about 3× its bf16 compute. Adds fp8, which doubles compute again where the stack supports it.
H200141 GB HBM3e · about 4.8 TB/s · same compute as H100Same silicon, more and faster memory. The gain is almost entirely in serving larger models and longer contexts, not in training speed.
L40S48 GB GDDR6 · about 0.86 TB/s · about 360 TFLOPS bf16Good compute, modest bandwidth. Fine for prefill-heavy and batch work, notably slower than its FLOPs suggest for single-stream decode.
A10G24 GB GDDR6 · about 0.6 TB/s · about 125 TFLOPS bf16The cheap cloud inference card. Comfortable for 7-8B models at moderate context.
Blackwell generation (B200)about 180-192 GB HBM3e · about 8 TB/sFigures here are approximate and configurations vary. Check the specification for the exact SKU you are renting before you plan capacity on it.

Consumer cards

RTX 409024 GB GDDR6X · about 1.0 TB/s · about 165 TFLOPS bf16More bandwidth than an A10G and more than a L40S. Excellent for local work; licence terms restrict data centre deployment.
RTX 309024 GB GDDR6X · about 0.94 TB/sStill the cheapest route to 24 GB, and it supports NVLink in pairs, which the 4090 does not.
Apple Silicon, unified memoryabout 0.4-0.8 TB/s depending on chip tierLarge memory capacity at modest bandwidth. Good for running big models slowly at batch 1; poor for training or for serving concurrency.

Why bandwidth, not FLOPs

Decode is memory-boundevery generated token reads all the model weights from memoryAt batch 1 the arithmetic intensity is about one FLOP per byte loaded. These cards need hundreds of FLOPs per byte to saturate their compute, so the tensor cores idle.
Single-stream ceilingtokens per second ≈ memory bandwidth ÷ model size in bytesA 14 GB model on a 2 TB/s card cannot exceed about 140 tokens per second, whatever its FLOPs. Real throughput lands at 60-80% of that.
Quantization speeds up decodehalving bytes per weight roughly doubles the bandwidth ceilingThis is why 4-bit models feel fast at batch 1 even where the kernels do no less arithmetic.
Batching moves you to compute-boundweights are read once and reused across the batchWhich is why serving throughput per GPU climbs steeply with batch size while per-stream speed falls, and why offline batch work is cheap.
Prefill is compute-boundthe whole prompt is processed in parallel, so FLOPs do matter hereA card with strong compute and weak bandwidth looks good on long prompts and bad on long generations. Benchmark the mix you actually serve.

Figures last checked 2026-09-13. Several of these age; check anything you are about to rely on.

Where these numbers come from