AI Racks Explained

/about

About this site

AI Racks Explained shows the physical machines that train and serve large models, from one GPU package to a hall of racks, one rung per chapter, each around an animation. It sits in the companion sites' Hardware track beside GPU Kernels Explained and Systolic Arrays Explained, and builds on the Training and Serving sites. Chapters link the matching slides of the NVIDIA GPU series. NVIDIA's rack-scale systems are the main worked example because their specifications and reference designs are published in detail; chapter 10 covers other designs. Chapter 8, on disaggregated inference, runs a separate, tested simulator in the browser.

The model

reference/rack_model.py is a teaching model, not a simulator of any product. It computes the scale ladder (GPUs and bandwidth per GPU at each rung), what an HBM package holds and how fast it can be read, chunked store-and-forward transfers along a chain of links, the wiring and bandwidth of an NVLink domain, ring all-reduce on real numbers, and the switches, links and transceivers of fat-tree fabrics, including the rail-aligned rules of a published reference architecture. For chapters 6 to 11 it adds a rack's power shelves and bus currents, power smoothing with stored energy, the coolant loop from Q = ṁ cp ΔT, where a training job's traffic lands on NVLink domains, checkpoint intervals by Young's rule, hop counts and bisections of a torus, and cost per token.

Chapter 8 does not use this model. It runs Disaggregated_Inference_Sim's own JavaScript engine, vendored byte for byte at commit ba37774, in a Web Worker, on the simulator's GB200 preset (one GPU of a GB200 superchip, from NVIDIA's per-GPU figures; its section 28 compares it with the H100, H200 and B200 presets). scripts/disagg_reference.py runs the simulator's Python package at the same commit on the same requests, and the unit tests require the browser engine to reproduce every request's timestamps bit for bit and every recorded summary the chapter quotes. The simulator's own validation against published serving results is section 22 of its results.md.

How hardware figures are sourced

Every figure is a field with a value, a status and a source, read on 2026-10-13 (the full list). Vendor product pages, documentation, reference architectures and technical blogs come first; papers are checked by DOI or arXiv ID. Where the sources used do not give a figure, the site says “not disclosed” rather than estimating it. Products whose specifications the vendor marks preliminary, or gives a future date for, are labelled. Marketing claims (“up to N×”) are quoted and attributed, never used as model inputs.

Spec cross-checks, rules and a measurement

The model is compared with published figures that it does not take as inputs, and each comparison is labelled by what it actually tests. Most are spec cross-checks (13 of them): the model's arithmetic on a vendor's per-GPU or per-chip figures against the same vendor's rack or system total (rack NVLink and HBM totals, a switch tray's bandwidth, AMD's and AWS's system totals). They show that the specifications agree with each other and that the model reads them correctly; they do not show that it predicts performance. Rules (14) test a structural rule the model applies: the NVL72 wiring (links equal switch ports), the size of a two-tier fat tree, and the leaf, spine and core switch counts of the published SuperPOD design, which the model derives from the rail-aligned rules rather than reading. Across these the model is between 0.9874 and 1.0368 of the published value. The largest gaps are rounding in the published figures: Vera Rubin NVL72's rack HBM bandwidth (1,400 TB/s) is 1.3% more than 72 times its per-GPU figure, and “over 10,000 GPUs” for a two-tier fabric of 144-port switches is the model's 10,368 rounded down.

One row is a measurement: NCCL's in-switch (NVLS) all-reduce of large messages on an eight-GPU NVLink 4 node, 276 GB/s in a 2026 study, against the model's in-switch bound of 448.9 GB/s: the bound is 1.63 times what the software reaches. Chapter 4 also takes the latency term of its collectives from the same measurements. The rack simulator of chapter 8 has its own validation against published serving results (above).

CheckKindModelPublishedRatio
GB200 NVL72 total NVLink bandwidth (B/s) [gb200-page]spec cross-check1.2960e141.3000e140.9969
NVLink links from 72 GPUs = switch ports in 18 chips [dgx-gb200-guide]rule1,2961,2961.0000
NVLink switch tray, full-duplex (bit/s per direction) [dgx-gb200-guide]spec cross-check5.7600e135.7600e131.0000
GB200 NVL72 total HBM bandwidth (B/s) [gb200-page]spec cross-check5.7600e145.7600e141.0000
GB200 NVL72 total HBM (B) [gb200-page]spec cross-check1.3392e131.3400e130.9994
Vera Rubin NVL72 total HBM bandwidth (B/s) [vr-page]spec cross-check1.3824e151.4000e150.9874
Vera Rubin NVL72 total NVLink bandwidth (B/s) [vr-page]spec cross-check2.1600e142.1600e141.0000
DGX B200 aggregate NVLink (B/s) [dgx-b200-page]spec cross-check1.4400e131.4400e131.0000
two-tier non-blocking fat tree of 144-port switches (endpoints) (published as 'over 10,000 GPUs') [photonics-page]rule10,36810,0001.0368
AMD Helios total HBM (B): 72 x per-GPU [helios-blog]spec cross-check3.1104e133.1000e131.0034
AMD Helios total HBM bandwidth (B/s): 72 x per-GPU [helios-blog]spec cross-check1.4112e151.4000e151.0080
Trn2 UltraServer FP8 (FLOP/s): 4 x a 16-chip instance [trn2-page]spec cross-check8.3200e168.3200e161.0000
Trn2 UltraServer HBM bandwidth (B/s): 4 x a 16-chip instance [trn2-page]spec cross-check1.8400e141.8500e140.9946
Trainium3 UltraServer HBM (B): 144 x per-chip [trainium-page]spec cross-check2.0736e132.0700e131.0017
Trainium3 UltraServer HBM bandwidth (B/s): 144 x per-chip [trainium-page]spec cross-check7.0560e147.0600e140.9994
SuperPOD 1152 GPUs: leaf switches [superpod-network]rule64641.0000
SuperPOD 1152 GPUs: spine switches [superpod-network]rule48481.0000
SuperPOD 1152 GPUs: core switches [superpod-network]rule18181.0000
SuperPOD 2304 GPUs: leaf switches [superpod-network]rule1281281.0000
SuperPOD 2304 GPUs: spine switches [superpod-network]rule96961.0000
SuperPOD 2304 GPUs: core switches [superpod-network]rule36361.0000
SuperPOD 4608 GPUs: leaf switches [superpod-network]rule2562561.0000
SuperPOD 4608 GPUs: spine switches [superpod-network]rule1921921.0000
SuperPOD 4608 GPUs: core switches [superpod-network]rule72721.0000
SuperPOD 9216 GPUs: leaf switches [superpod-network]rule5125121.0000
SuperPOD 9216 GPUs: spine switches [superpod-network]rule3843841.0000
SuperPOD 9216 GPUs: core switches [superpod-network]rule1441441.0000
NCCL NVLS all-reduce, 8 GPUs on NVLink 4 (H200 node), large messages (B/s): the in-switch bound at 1 GB vs measured (measured; the paper does not say whether 276 GB/s is algorithm or bus bandwidth) [nvshmem-2026]measured4.4887e112.7600e111.6263

How it is checked

The animations

Every animation has play and pause, step back and forward, a scrub bar, speeds from 0.25× to 4× and reset; with the animation focused, Space plays or pauses and the arrow keys step. Each step has a one-line caption, also announced to screen readers. With reduce motion set in your system, nothing plays by itself. Animations pause when scrolled out of view. Colours come from Okabe and Ito's colour-blind-safe palette, the same in light and dark mode: HBM purple (as on every companion site), scale-up links (NVLink, NVLink-C2C) green, the scale-out network sky blue, PCIe orange, CPU memory yellow; waiting is always a hatched pattern as well as a warning colour.

Source

The code, the model and the tests are on GitHub (MIT licence). The design system is copied from the companion sites; the README records where each piece came from.

Built by Brendan Lynskey