First make the model fit, then test its bottleneck
Compare AMD and NVIDIA configurations through memory fit, supported numerical paths and the topology used to split the work.
AI-assisted learning visualization · schematic article explanation
Count resident weights, KV cache and runtime buffers before comparing speed. A bandwidth calculation for a model that cannot fit does not describe a runnable deployment.
AMD's Instinct GPUs offer substantial HBM capacity and bandwidth. The table below compares selected AMD and NVIDIA products using vendor specifications. Capacity, bandwidth, compute, quantization kernels, and interconnect topology each matter, but none alone establishes delivered tokens per second for a particular workload.
Published Vendor Specifications
| GPU | HBM capacity | Bandwidth | FP16 (TFLOPS) | FP8 (TFLOPS) | Status |
|---|---|---|---|---|---|
| AMD MI300X | 192 GB HBM3 | 5.3 TB/s | 1,307.41 | 2,614.91 | shipping |
| AMD MI325X | 256 GB HBM3E | 6.0 TB/s | 1,307.42 | 2,614.92 | shipping |
| AMD MI355X | 288 GB HBM3E | 8.0 TB/s | 2,516.63 | 5,033.23 | ships |
| AMD MI455X | 432 GB HBM4 | 23.3 TB/s4 | 5,0004 | 20,1004 | vendor specifications (announced 2026-07-23)5 |
| NVIDIA H100 SXM | 80 GB HBM3 | 3.35 TB/s | 989.56 | 1,9796 | shipping |
| NVIDIA H200 SXM | 141 GB HBM3E | 4.8 TB/s | 989.56 | 1,9796 | shipping |
| NVIDIA HGX B200 | 180 GB HBM3E | up to 8.0 TB/s6 | 2,250 dense6 | ~4,500 dense6 | shipping |
The MI355X's OCP-FP8 figure (5,033.2 TFLOPS) is dense per AMD's product specifications3; structured sparsity doubles that figure, as it does for its FP16 matrix rate. The NVIDIA B200 entries use dense rates too. AMD's newer MI455X product page specifies 23.3 TB/s, while an earlier Helios brochure uses 19.6 TB/s per GPU and labels its specifications engineering projections subject to change. The calculations below explicitly use that earlier figure as an illustrative specification scenario4.
The computed ratios
MI355X vs H200: 2.04x the memory, 1.67x the bandwidth, 2.54x the FP8 peak (both figures dense). Against an HGX B200 at its up to 8 TB/s specification, the MI355X is 1.60x the capacity and approximately tied on peak bandwidth. These are specification ratios, not measured serving throughput.
Using the brochure's 19.6 TB/s, the MI455X has 3.06x H200 capacity and 4.08x its bandwidth (2.45x the HGX B200's up-to-8 TB/s figure). The product page's 23.3 TB/s would produce different ratios.
Why Memory Capacity Alone Does Not Decide Inference
Reason 1: Quantization support is not symmetric
The available quantization path depends on the engine, version, GPU generation, and checkpoint. vLLM's published compatibility table lists its AWQ, GPTQ, Marlin and bitsandbytes implementations as unavailable on AMD GPUs, while listing FP8 W8A8 and GGUF. However, vLLM's current ROCm platform code also advertises awq, gptq, quark, and mxfp4 paths; its awq_marlin entry is mapped to ordinary AWQ7. A compatibility-table cross is therefore not proof that every 4-bit model is impossible on ROCm.
SGLang's table lists AWQ on AMD via Triton dequantization, FP8 via Aiter or Triton, and MXFP4 on CDNA3/CDNA4 via Aiter. Its gptq_marlin and awq_marlin kernels are CUDA-only, while quark_int4fp8_moe is an AMD-specific option8. These are different execution paths; the table does not quantify their speed or quality on a given model.
For the same 70B checkpoint, roughly 70 GB of FP8 weights or around 40 GB of 4-bit weights is a useful planning estimate before metadata, activations, and KV cache. The 4-bit option must be checked for the chosen engine and GPU. Comparing FP8 on one vendor with 4-bit on the other also changes the model representation, so a capacity ratio alone cannot establish a performance winner78.
70B model footprint, weights only:
FP8 weights ~70 GB (plus scales and runtime memory)
4-bit weights ~40 GB (format and backend dependent)
Llama-70B GQA KV cache: ~0.33 MB/token (BF16) -> a single 128k-token
context adds ~43 GB of KV on top of the weights.Reason 2: Compute-vs-memory balance (the roofline)
In an idealized batch-1, weight-bandwidth-bound decode, bandwidth divided by weight bytes gives a ceiling. For a 70B BF16 model (140 GB), that is about 24 tokens/s on an H100 versus 38 on a MI300X — a 1.58x ratio tracking the bandwidth ratio exactly. KV reads, compute, communication and achieved bandwidth can make real decoding slower or change the bottleneck.
Prefill and large-batch decode may be compute-bound. The theoretical FP8 compute-to-bandwidth ratios are about 493 operations per byte for MI300X and 591 for H100 (629 for MI355X). MI300X has 1.32x H100's dense FP16 peak, less than its 1.58x bandwidth ratio. That suggests a smaller relative advantage in compute-heavy phases, not that it must be slower. Actual time-to-first-token depends on model architecture, kernel implementation, prompt length, and batch size.
At node level, eight MI300X GPUs provide 42.4 TB/s of aggregate peak bandwidth. Dividing this by 671 GB of FP8 weights gives an idealized 63 tokens/s ceiling for a sharded 671B-parameter model, before communication, KV traffic, and other overhead. Eight H100 GPUs have only 640 GB total memory, so that uncompressed 671-GB weight representation does not fit there; dividing their aggregate bandwidth by 671 GB would not describe a runnable configuration.
Reason 3: The scale-up domain is 8 GPUs, not 72
MI300X/MI355X baseboards connect eight GPUs through Infinity Fabric (the MI300X platform sheet describes seven peer links per GPU; MI355X specifies seven 153.6-GB/s links)13. NVLink 4 provides up to 900 GB/s aggregate bidirectional bandwidth per H100, and NVLink 5 up to 1.8 TB/s per B200/GB200-class GPU. NVL72 is a 72-GPU NVLink domain, but that per-GPU figure is shared across communications; it is not dedicated bandwidth for every pair simultaneously9.
Domain size can constrain tensor and expert parallelism. TP8 fits within one eight-GPU baseboard; TP16 on MI300X/MI355X spans nodes and therefore uses the scale-out network. An NVL72 installation can keep more GPUs in one NVLink domain9. This is a topology advantage for some communication-heavy layouts, not a measured token-throughput comparison. The actual result depends on the model's parallel layout and traffic pattern.
Software Stack Reality vs the Benchmark Record
AMD states that it targets day-zero support for optimized models3. Current vLLM and SGLang documentation lists both CUDA-specific and ROCm-specific quantization paths78. Which implementation is faster cannot be decided from a support matrix; it needs a benchmark with the same model, precision, workload, and latency target.
AMD submitted MLPerf Training results in v5.0 (June 2025), followed by MI350-series results in v5.1 (November 2025)10. MLPerf Inference v5.1 (September 2025) includes AMD MI355X systems11. These results establish tested configurations, not a universal NVIDIA-versus-AMD ordering across workloads. A separate MI300X evaluation reports strong memory-bound behavior and software-stack limitations in its tested setup12.
For a purchase or deployment decision, compare full-system results at the required precision and service-level target. Peak specifications identify plausible configurations; they do not settle that comparison.
MI400/Helios: Do the Promises Survive the Physics?
As of September 2026, the MI400 series is announced but not generally shipping: MI455X and Helios launched 2026-07-23, with OpenAI expecting racks online from Q4 20265. Everything below is vendor-claimed.
The announced specifications include 432 GB HBM4, 20.1 PFLOPS FP8, and a 72-GPU Helios rack with 31 TB HBM4 and UALoE at a stated 3.6 TB/s per GPU45. The earlier brochure's 19.6 TB/s is 4.08x H200's published bandwidth and 2.45x HGX B200's up-to figure; the newer product-page value is higher. Those are peak specification ratios. Neither the ratios nor a computed FP8 roofline balance establish delivered decode or prefill throughput.
The stated 72-GPU Helios fabric addresses the scale-up-domain difference, and both published AMD bandwidth figures exceed HGX B200's published per-GPU peak4. The earlier 19.6-TB/s figure is an engineering projection, while the newer product page says 23.3 TB/s; neither is a measured delivered bandwidth. AMD's "up to 30% more inference tokens per dollar" claim also depends on its undisclosed comparison setup5. Independent, matched workloads are needed to judge delivered performance and cost.
Configuration Table: What the Numbers Establish
The fits below use decimal GB, 15% illustrative runtime allowance on weights, and an explicit KV reserve where stated. They establish capacity constraints, not a throughput winner.
| Workload | What follows | Why (computed) |
|---|---|---|
| 70B-class BF16 model with one 128k-token GQA context | MI355X has a one-GPU capacity fit | About 161 GB of weights including the allowance plus ~43 GB KV exceeds MI300X's 192 GB and H200's 141 GB, but fits MI355X's 288 GB; other buffers still need checking. |
| 100–220B dense FP8 model with a 32-GB KV reserve | MI325X/MI355X may fit on one GPU | (256−32)/1.15 ≈ 195B and (288−32)/1.15 ≈ 223B parameters respectively; a 250B model would not fit either GPU under these assumptions. |
| 671B model with FP8 weights across eight GPUs | Eight MI300X GPUs have capacity; eight H100s do not | 671 GB of raw weights exceeds 8×80 GB H100 memory. With the 15% allowance, eight MI300X GPUs leave about 95 GB/GPU for KV and other buffers. |
| Long-prompt or high-batch serving | Requires a matched benchmark | Prefill and batched decode can be compute-heavy; peak FLOPS do not establish end-to-end latency. |
| 4-bit serving | Backend-dependent | CUDA Marlin kernels and ROCm AWQ/Quark/MXFP4 paths differ; test the exact format, GPU, engine, and quality target78. |
| TP16+ across nodes | Topology-dependent | MI300X/MI355X TP16 crosses eight-GPU baseboards; NVL72 can keep more GPUs within its scale-up domain9. |
The "More VRAM = Better" Trap, As One Worked Example
Consider a 405B FP8 model with approximately 405 GB of raw weights, before runtime allowances and KV cache:
- On 8×H100: 640 GB minus 405 GB of raw weights leaves 235 GB across eight GPUs, about 29 GB/GPU for all remaining uses, including KV cache.
- On 8×MI300X: 1,536 GB minus 405 GB leaves 1,131 GB, about 141 GB/GPU for all remaining uses. This is about 4.8× the residual capacity in this particular calculation.
This calculation proves a capacity difference, not a throughput result. A comparison against H100 must use H100 compute and bandwidth; substituting B200 or NVL72 figures would change the hardware under comparison. Request mix, quantization, kernels, and communication must be benchmarked on the two actual systems before claiming a winner.
The practical use of these figures is to rule configurations in or out by memory before measuring the ones that fit. A 671B FP8 model needs multiple MI300X GPUs, such as an eight-GPU baseboard; it cannot fit in the memory of one MI300X. The Helios figures describe an announced rack-scale configuration and still require workload measurements.
Article first published: September 24, 2026 Author: flozi00
Related Reading
- NVIDIA NVLink Deep Dive — the fabric on the other side
- The KV Cache: Bit-Exact Memory Math — every capacity claim here, derived
Footnotes
-
AMD, Instinct MI300X Platform / Accelerator Data Sheets — 192 GB HBM3, 5.3 TB/s, 7x 128 GB/s Infinity Fabric links. https://www.amd.com/content/dam/amd/en/documents/instinct-tech-docs/data-sheets/amd-instinct-mi300x-platform-data-sheet.pdf ↩ ↩2 ↩3
-
AMD, Instinct MI325X Data Sheet — 256 GB HBM3E, 6.0 TB/s, 1,000 W TBP. https://www.amd.com/content/dam/amd/en/documents/instinct-tech-docs/product-briefs/instinct-mi325x-datasheet.pdf ↩ ↩2
-
AMD, Instinct MI355X product specifications — 288 GB HBM3E, 8 TB/s, dense matrix FP16 2,516.6 / FP8 5,033.2 TFLOPS (double with structured sparsity), 7×153.6 GB/s scale-up links, 1,400 W. https://www.amd.com/en/products/accelerators/instinct/mi350/mi355x.html ↩ ↩2 ↩3 ↩4 ↩5
-
AMD, Instinct MI455X product specifications (432 GB HBM4, 23.3 TB/s, UALoE 3.6 TB/s) and Helios brochure (19.6 TB/s/GPU, 31 TB HBM4 per rack). https://www.amd.com/en/products/accelerators/instinct/mi400/mi455x.html ; https://www.amd.com/content/dam/amd/en/documents/solutions/ai/amd-helios-bro.pdf ↩ ↩2 ↩3 ↩4 ↩5 ↩6
-
AMD press release, AAI 2026: AMD Delivers Full-Stack Compute for the Agentic AI Era, 2026-07-23 — MI400/Helios launch, "up to 30% more inference tokens per dollar". https://ir.amd.com/news-events/press-releases/detail/1294/aai-2026-amd-delivers-full-stack-compute-for-the-agentic-ai-era ↩ ↩2 ↩3 ↩4
-
NVIDIA, H100 specifications (80 GB HBM3 at 3.35 TB/s; H100 SXM FP8 3,958 TFLOPS with sparsity, half dense), HGX AI Factory reference architecture (H200 141 GB at 4.8 TB/s; HGX B200 180 GB at up to 8 TB/s), and HGX specifications (B200 dense BF16 2,250 and FP8 4,500 TFLOPS per GPU). https://www.nvidia.com/en-us/data-center/h100/ ; https://docs.nvidia.com/enterprise-reference-architectures/hgx-ai-factory-h100-h200-b200/latest/components.html ; https://www.nvidia.com/en-us/data-center/hgx/ ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7
-
vLLM, Quantization — Supported Hardware table (its listed AWQ/GPTQ/Marlin/bitsandbytes implementations not supported on AMD; FP8 and GGUF listed), and current
RocmPlatform.supported_quantizationcode (advertisesawq,gptq,quark,mxfp4and mapsawq_marlinto AWQ). The chart and code describe different levels of support; verify the selected backend. https://docs.vllm.ai/en/stable/features/quantization/index.html ; https://docs.vllm.ai/en/latest/api/vllm/platforms/rocm/ ↩ ↩2 ↩3 ↩4 -
SGLang Documentation, Quantization — Platform Compatibility (fp8/w8a8 via Aiter/Triton on AMD; AWQ via Triton dequantize; quark_int4fp8_moe AMD-only; NVFP4 via Petit kernels). https://docs.sglang.io/docs/advanced_features/quantization ↩ ↩2 ↩3 ↩4
-
NVIDIA, NVLink and NVLink Switch — NVLink 4 up to 900 GB/s, NVLink 5 up to 1.8 TB/s/GPU, and a 72-GPU NVLink domain in GB200 NVL72. https://www.nvidia.com/en-us/data-center/nvlink/ ↩ ↩2 ↩3
-
MLCommons, MLPerf Training v5.0 Results, 2025-06 (AMD's first-ever Training submission); AMD blog on Training v5.1: https://mlcommons.org/2025/06/mlperf-training-v5-0-results/ ; https://www.amd.com/en/blogs/2025/accelerating-ai-training.html ↩
-
MLCommons, MLPerf Inference v5.1 Results, 2025-09-09 (24 submitters on Llama-2-70B); AMD's MI355X submission blog: https://mlcommons.org/2025/09/mlperf-inference-v5-1-results/ ; https://rocm.blogs.amd.com/artificial-intelligence/mlperf-inference-v5.1/README.html ↩
-
Ambati & Diep (Celestial AI), AMD MI300X GPU Performance Analysis, arXiv:2510.27583 (2025) — independent evaluation across HPC/AI domains; memory-bound strength, software-stack immaturity as recurring cost. https://arxiv.org/pdf/2510.27583 ↩