nvlink

**NVLink** is **NVIDIA's high-bandwidth interconnect for GPU-to-GPU and GPU-to-CPU communication** — providing 600-900 GB/s bidirectional bandwidth compared to PCIe's 64 GB/s, enabling efficient multi-GPU scaling for large model training and inference. **What Is NVLink?** - **Definition**: Proprietary high-speed GPU interconnect. - **Purpose**: Fast multi-GPU communication. - **Bandwidth**: 10-14× faster than PCIe Gen5. - **Use Cases**: Multi-GPU training, large model sharding. **Why NVLink Matters** - **Model Parallelism**: Large models span multiple GPUs. - **Gradient Sync**: Training requires fast parameter updates. - **Memory Pooling**: Access memory across GPUs. - **Inference**: Large models need GPU sharding. - **Scaling Efficiency**: Minimizes communication bottleneck. **Bandwidth Comparison** **Interconnect Speeds**: ``` Interconnect | Bandwidth (Bi-dir) | Generation ------------------|-------------------|------------ NVLink 4 (Hopper) | 900 GB/s | H100 NVLink 3 (Ampere) | 600 GB/s | A100 NVLink 2 (Volta) | 300 GB/s | V100 PCIe Gen5 | 64 GB/s (×16) | Current PCIe Gen4 | 32 GB/s (×16) | Previous InfiniBand NDR | 400 Gbps per port | Network ``` **Practical Impact**: ``` Operation | PCIe Gen5 | NVLink 4 -----------------------|--------------|---------- Copy 80GB (A100 mem) | 1.25 sec | 0.13 sec Gradient sync (10GB) | 156 ms | 11 ms AllReduce efficiency | 70-80% | 95%+ ``` **NVLink Topologies** **DGX H100 Topology**: ```svg NVLink + NVSwitch — GPU-to-GPU Interconnect 900 GB/s per GPU bidirectional — every GPU talks to every other at full bandwidth through NVSwitch DGX H100 — 8 GPUs via NVSwitch (all-to-all) GPU 0 H100 GPU 1 H100 GPU 2 H100 GPU 3 H100 GPU 4 GPU 5 GPU 6 GPU 7 NVSw NVSw NVSw NVSw all-to-all: 900 GB/s per GPU 18 NVLink lanes per GPU × 50 GB/s each Total bisection BW: 3.6 TB/s (8 GPU node) vs PCIe Gen5: 64 GB/s per GPU (14x less) CPU (PCIe Gen5 x16) host access NVLink Generations NVLink 1 (P100): 160 GB/s, 4 links NVLink 3 (A100): 600 GB/s, 12 links NVLink 4 (H100): 900 GB/s, 18 links NVLink 5 (B200): 1.8 TB/s, 18 links each gen: ~2x BW through wider lanes + faster signaling Scale-Out (Multi-Node) Intra-node: NVLink (900 GB/s) Inter-node: InfiniBand 400G (50 GB/s) Future: NVLink-Network (72 GPUs, no IB) Blackwell NVL72: 72 GPUs in one NVLink domain = 130 TB/s aggregate — a single logical GPU Why NVLink Matters for AI Training AllReduce (gradient sync) dominates at scale Tensor parallel needs fast GPU↔GPU BW-limited: time_comm = params / BW per step NVLink is the reason you can't just use PCIe GPUs for AI training — parallelism demands high-BW interconnect Physical: SerDes lanes on GPU die edge, differential signaling, NVSwitch is a separate ASIC (TSMC 4N) PCIe is a road. NVLink is a highway. At scale, the highway width determines how fast you can train. NVLink turns 8 GPUs into one coherent compute pool — the interconnect fabric is as important as the GPU itself. ``` **Consumer NVLink** (RTX 4090): ``` 3090: NVLink bridge, 2 GPUs 4090: No NVLink support ``` **NVSwitch** **What It Enables**: ``` Without NVSwitch: - Direct links only between neighbor GPUs - Limited topology With NVSwitch: - All-to-all connectivity - Full bisection bandwidth - Any GPU reaches any GPU directly ``` **DGX Generations**: ``` System | GPUs | Topology | GPU-GPU BW -------------|------|---------------------|------------ DGX A100 | 8 | NVSwitch (full) | 600 GB/s DGX H100 | 8 | NVSwitch (full) | 900 GB/s DGX GH200 | 256 | Grace Hopper + NVL | 900 GB/s ``` **Programming with NVLink** **NCCL (NVIDIA Collective Communications Library)**: ```python import torch import torch.distributed as dist # Initialize with NCCL backend (uses NVLink automatically) dist.init_process_group(backend="nccl") # AllReduce uses NVLink when available tensor = torch.randn(1000, device="cuda") dist.all_reduce(tensor) # Automatically uses NVLink ``` **Peer-to-Peer Memory Access**: ```cuda // Enable P2P access between GPUs cudaDeviceEnablePeerAccess(peer_device, 0); // Direct memory access across NVLink cudaMemcpyPeer(dst, dstDevice, src, srcDevice, size); ``` **Checking NVLink**: ```bash # Check NVLink status nvidia-smi nvlink -s # Show topology nvidia-smi topo -m # NVLink utilization nvidia-smi nvlink -g 0 ``` **NVLink vs. PCIe Use Cases** ``` Use Case | Best Interconnect ----------------------|------------------ Single GPU inference | PCIe (sufficient) Multi-GPU training | NVLink (essential) Large model inference | NVLink (model sharding) Consumer workstation | PCIe (NVLink limited) Data center | NVLink + InfiniBand ``` NVLink is **essential infrastructure for multi-GPU AI** — without high-bandwidth interconnects, scaling to multiple GPUs becomes inefficient as communication overhead dominates, making NVLink critical for training large models and serving them across GPU clusters.

Go deeper with CFSGPT

Get AI-powered deep-dives, save terms, and run advanced simulations — free account.

Create Free Account