Navigation
🌐 Distributed GPU Systems· 10 min read

NVLink & NVSwitch

NVIDIA's intra-node GPU interconnect β€” generations, bandwidth, full-bisection topology, and why NVLink determines parallelism strategy.

nvlinknvswitchinterconnectintra-nodebandwidthtopology

NVLink is the high-bandwidth interconnect between GPUs within a single server node. Its bandwidth β€” 10-36Γ— higher than InfiniBand β€” determines which parallelism strategies are feasible and where communication bottlenecks appear.


GenerationYearGPUsBW per linkLinks per GPUTotal BW per GPUNotable
NVLink 2.02017V10025 GB/s6300 GB/sFirst AI NVLink
NVLink 3.02020A10025 GB/s12600 GB/s2Γ— links
NVLink 4.02022H10025 GB/s18900 GB/s (bidirectional)NVSwitch full mesh
NVLink 5.02024B20050 GB/s181,800 GB/s2Γ— per link

Bandwidth doubles every generation β€” either through more links or higher per-link speed.


2. NVSwitch: Full-Bisection Topology

NVSwitch Fabric

Without NVSwitch, GPUs connect peer-to-peer via NVLink β€” forming a partial mesh. GPU 0 can talk to GPU 1 directly, but reaching GPU 7 may require hopping through intermediate GPUs.

NVSwitch creates a full-bisection fabric: every GPU can communicate with every other GPU at full bandwidth simultaneously.

Without NVSwitch (partial mesh):
  GPU0 ═══ GPU1 ═══ GPU2 ═══ GPU3
   β•‘                          β•‘
  GPU4 ═══ GPU5 ═══ GPU6 ═══ GPU7
  (reaching GPU7 from GPU0 may require hops)

With NVSwitch (full bisection):
  GPU0 ──┐
  GPU1 ───
  GPU2 ──┼── NVSwitch fabric ──┼── any-to-any at full BW
  GPU3 ───                     β”‚
  GPU4 ───                     β”‚
  GPU5 ───                     β”‚
  GPU6 ───                     β”‚
  GPU7 β”€β”€β”˜                     β”‚

DGX H100: 4 NVSwitch chips connecting 8 H100 GPUs. Any GPU pair gets 900 GB/s bidirectional β€” same as directly connected.


NVLink 4.0PCIe 5.0
Bandwidth (bidirectional)900 GB/s128 GB/s
Ratio7Γ— fasterBaseline
Latency~5 ΞΌs~10 ΞΌs
Used forTP, EP (high-frequency comm)CPU↔GPU, NIC↔GPU

PCIe is used for: CPU communication, NIC access (GPUDirect RDMA goes GPUβ†’PCIeβ†’NIC). NVLink is exclusively GPU↔GPU β€” it doesn’t connect to CPUs or NICs.

Some cloud instances (e.g., p4d.24xlarge) have GPUs connected only via PCIe (no NVLink). On these, TP=8 works but at ~7Γ— lower inter-GPU bandwidth β€” significantly slower for TP-heavy workloads.


Blackwell extends NVLink beyond a single node with NVLink Switch:

  • 72 GPUs connected via NVLink across multiple trays in a single rack
  • 1.8 TB/s per GPU bidirectional
  • All 72 GPUs in one NVLink domain β€” any-to-any at full bandwidth

This changes the calculus: tensor parallelism across 72 GPUs (was limited to 8) becomes feasible. A single 72-GPU system can handle models that previously needed multi-node PP.

For interconnect comparison tables (NVLink vs PCIe vs IB), see GPU Memory & Interconnects.


4. Impact on Parallelism

NVLink bandwidth determines what runs intra-node:

StrategyComm per stepNVLink (900 GB/s)InfiniBand (50 GB/s)Placement
Tensor ParallelAllReduce per layer~0.1 ms~2 ms (20Γ— slower)Intra-node only
Data ParallelAllReduce per step~55 ms~560 msCan be inter-node
Pipeline ParallelP2P per micro-batch~0.1 ms~1 msCan be inter-node
Expert ParallelAll-to-All per layer~0.3 ms~5 msNVLink preferred

Rule: Put the highest-communication strategies on the highest-bandwidth interconnect. TP on NVLink, DP and PP on InfiniBand.


# Show GPU topology
nvidia-smi topo -m

# Output legend:
#   NV# = connected via NVLink (# = generation)
#   PIX = same PCIe switch
#   SYS = cross-socket (through CPU)

# Show NVLink status
nvidia-smi nvlink -s

# Show NVLink bandwidth per link
nvidia-smi nvlink -c

Self-Check

  • Name the NVLink bandwidth for each GPU generation (V100 β†’ B200)
  • Explain NVSwitch and why full-bisection matters for AllReduce
  • Explain GB200 NVL72 and how it changes the TP degree limit
  • Explain why TP must stay intra-node based on NVLink vs IB bandwidth
  • Use nvidia-smi topo -m to check GPU interconnect topology

References