Home Knowledge Base NVLink Interconnect

NVLink Interconnect is NVIDIA's proprietary high-bandwidth, low-latency GPU-to-GPU interconnect that provides 10-15× higher bandwidth than PCIe — enabling direct GPU memory access at 900 GB/s bidirectional (NVLink 4.0) and sub-microsecond latency, making tightly-coupled multi-GPU systems practical for model parallelism, large-batch training, and unified memory architectures that treat multiple GPUs as a single coherent memory space.

NVLink Architecture:

<svg viewBox="0 0 760 470" xmlns="http://www.w3.org/2000/svg" font-family="-apple-system,Segoe UI,Roboto,sans-serif">
  <rect x="0" y="0" width="760" height="470" fill="#0d1117"/>
  <text x="380" y="28" fill="#e6edf3" font-size="21" font-weight="700" text-anchor="middle">NVLink — High-Bandwidth GPU Interconnect</text>
  <text x="380" y="48" fill="#8b98a5" font-size="12" text-anchor="middle">900 GB/s bidirectional (4th gen) — 7× faster than PCIe 5.0, enables multi-GPU as one memory space</text>

  <!-- Bandwidth comparison -->
  <rect x="30" y="65" width="700" height="130" rx="6" fill="#080d14" stroke="#233043" stroke-width="1"/>
  <text x="380" y="84" fill="#e6edf3" font-size="10" font-weight="600" text-anchor="middle">Interconnect Bandwidth Comparison</text>

  <!-- Bars -->
  <text x="50" y="110" fill="#6b7684" font-size="8">PCIe 4.0:</text>
  <rect x="145" y="102" width="32" height="12" rx="2" fill="#6b7684"/>
  <text x="184" y="112" fill="#6b7684" font-size="7">32 GB/s</text>

  <text x="50" y="130" fill="#60a5fa" font-size="8">PCIe 5.0:</text>
  <rect x="145" y="122" width="63" height="12" rx="2" fill="#60a5fa"/>
  <text x="215" y="132" fill="#93c5fd" font-size="7">64 GB/s</text>

  <text x="50" y="150" fill="#a78bfa" font-size="8">NVLink 3 (A100):</text>
  <rect x="145" y="142" width="300" height="12" rx="2" fill="#a78bfa"/>
  <text x="452" y="152" fill="#c4b5fd" font-size="7">600 GB/s</text>

  <text x="50" y="170" fill="#34d399" font-size="8" font-weight="600">NVLink 4 (H100):</text>
  <rect x="145" y="162" width="450" height="12" rx="2" fill="#34d399"/>
  <text x="602" y="172" fill="#6ee7b7" font-size="7" font-weight="600">900 GB/s</text>

  <text x="50" y="190" fill="#f59e0b" font-size="8">NVLink 5 (B200):</text>
  <rect x="145" y="182" width="600" height="12" rx="2" fill="#f59e0b" opacity="0.5" stroke="#f59e0b" stroke-width="0.5" stroke-dasharray="3,2"/>
  <text x="752" y="192" fill="#fbbf24" font-size="7">1.8 TB/s</text>

  <!-- NVSwitch topology -->
  <rect x="30" y="205" width="700" height="150" rx="6" fill="#080d14" stroke="#233043" stroke-width="1"/>
  <text x="380" y="225" fill="#e6edf3" font-size="10" font-weight="600" text-anchor="middle">NVSwitch All-to-All Topology (DGX H100)</text>

  <!-- 8 GPUs around NVSwitch -->
  <rect x="115" y="250" width="50" height="30" rx="3" fill="#0b1220" stroke="#34d399" stroke-width="0.8"/>
  <text x="140" y="269" fill="#34d399" font-size="7" text-anchor="middle">GPU 0</text>
  <rect x="195" y="250" width="50" height="30" rx="3" fill="#0b1220" stroke="#34d399" stroke-width="0.8"/>
  <text x="220" y="269" fill="#34d399" font-size="7" text-anchor="middle">GPU 1</text>
  <rect x="275" y="250" width="50" height="30" rx="3" fill="#0b1220" stroke="#34d399" stroke-width="0.8"/>
  <text x="300" y="269" fill="#34d399" font-size="7" text-anchor="middle">GPU 2</text>
  <rect x="355" y="250" width="50" height="30" rx="3" fill="#0b1220" stroke="#34d399" stroke-width="0.8"/>
  <text x="380" y="269" fill="#34d399" font-size="7" text-anchor="middle">GPU 3</text>
  <rect x="435" y="250" width="50" height="30" rx="3" fill="#0b1220" stroke="#34d399" stroke-width="0.8"/>
  <text x="460" y="269" fill="#34d399" font-size="7" text-anchor="middle">GPU 4</text>
  <rect x="515" y="250" width="50" height="30" rx="3" fill="#0b1220" stroke="#34d399" stroke-width="0.8"/>
  <text x="540" y="269" fill="#34d399" font-size="7" text-anchor="middle">GPU 5</text>
  <rect x="595" y="250" width="50" height="30" rx="3" fill="#0b1220" stroke="#34d399" stroke-width="0.8"/>
  <text x="620" y="269" fill="#34d399" font-size="7" text-anchor="middle">GPU 6</text>
  <rect x="675" y="250" width="50" height="30" rx="3" fill="#0b1220" stroke="#34d399" stroke-width="0.8"/>
  <text x="700" y="269" fill="#34d399" font-size="7" text-anchor="middle">GPU 7</text>

  <!-- NVSwitch chips (4 in H100) -->
  <rect x="200" y="300" width="360" height="25" rx="4" fill="#1c1633" stroke="#a78bfa" stroke-width="1"/>
  <text x="380" y="316" fill="#c4b5fd" font-size="8" text-anchor="middle">NVSwitch ×4 (all-to-all non-blocking crossbar)</text>

  <!-- Connection lines -->
  <line x1="140" y1="280" x2="260" y2="300" stroke="#a78bfa" stroke-width="0.5"/>
  <line x1="220" y1="280" x2="300" y2="300" stroke="#a78bfa" stroke-width="0.5"/>
  <line x1="300" y1="280" x2="340" y2="300" stroke="#a78bfa" stroke-width="0.5"/>
  <line x1="380" y1="280" x2="380" y2="300" stroke="#a78bfa" stroke-width="0.5"/>
  <line x1="460" y1="280" x2="420" y2="300" stroke="#a78bfa" stroke-width="0.5"/>
  <line x1="540" y1="280" x2="460" y2="300" stroke="#a78bfa" stroke-width="0.5"/>
  <line x1="620" y1="280" x2="500" y2="300" stroke="#a78bfa" stroke-width="0.5"/>
  <line x1="700" y1="280" x2="540" y2="300" stroke="#a78bfa" stroke-width="0.5"/>

  <text x="380" y="340" fill="#8b98a5" font-size="8" text-anchor="middle">any GPU can read/write any other GPU's HBM at 900 GB/s — unified 640 GB memory pool</text>
  <text x="380" y="354" fill="#6b7684" font-size="7.5" text-anchor="middle">enables 8-way tensor parallelism within a single node (critical for large model inference)</text>

  <!-- Bottom: why it matters -->
  <rect x="30" y="368" width="700" height="62" rx="6" fill="#080d14" stroke="#233043" stroke-width="1"/>
  <text x="380" y="388" fill="#e6edf3" font-size="10" font-weight="600" text-anchor="middle">Why NVLink Matters for AI</text>
  <text x="50" y="408" fill="#8b98a5" font-size="8.5">tensor parallelism sends activations between GPUs every layer → needs 900 GB/s (PCIe = 14× too slow)</text>
  <text x="50" y="422" fill="#6b7684" font-size="7.5">NVLink 5 (2025): 1.8 TB/s + NVLink Switch for 576 GPUs in one domain (GB200 NVL72 rack)</text>

  <text x="380" y="452" fill="#6b7684" font-size="11" text-anchor="middle">NVLink is NVIDIA's moat — it makes multi-GPU feel like one giant GPU, and competitors can't replicate it.</text>
</svg>

NVSwitch Fabric:

Performance Characteristics:

Programming Model:

Use Cases and Benefits:

Limitations and Considerations:

NVLink is the interconnect that makes multi-GPU systems behave like single massive GPUs — by providing an order of magnitude more bandwidth than PCIe, NVLink enables model parallelism, large-batch training, and unified memory architectures that would be impractical with conventional interconnects, defining the architecture of modern AI supercomputers.

nvlink interconnect technologynvlink bandwidth topologynvswitch fabric architecturenvlink vs pcie performancemulti gpu nvlink

Explore 500+ Semiconductor & AI Topics

From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.