NVLink Technology
This chapter introduces NVLink technology as used in NVIDIA GB200 and GB300 server platforms with BCM. NVLink is NVIDIA’s high-speed interconnect technology that enables direct GPU-to-GPU communication with significantly higher bandwidth and lower latency than traditional PCIe connections.
Section 7.1 provides an overview of NVLink technology and its role in GB200/GB300 systems.
Section 7.2 describes the NVLink architecture in GB200 and GB300 platforms.
Section 7.3 covers BCM commands for querying NVLink status and information.
7.1 NVLink Overview
NVLink is NVIDIA’s proprietary high-bandwidth, energy-efficient interconnect that enables fast communication between GPUs and between GPUs and CPUs. In GB200 and GB300 systems, NVLink provides the backbone for GPU-to-GPU communication within and across compute trays.
7.1.1 NVLink Generations
The GB200 and GB300 platforms use fifth-generation NVLink (NVLink 5), which provides:
-
900 GB/s bidirectional bandwidth per link
-
Support for up to 576 GPUs in a single NVLink domain
-
NVLink Switch architecture for scaling beyond direct GPU connections
-
Integration with NVIDIA Grace CPUs for unified memory architecture
7.1.2 NVLink Vs PCIe
Compared to PCIe Gen5, NVLink 5 provides approximately 14x higher bandwidth. This makes NVLink essential for getting the best out of:
-
Large language model (LLM) training requiring frequent gradient synchronization
-
Multi-GPU inference workloads
-
High-performance computing applications with significant inter-GPU communication
-
Memory pooling across multiple GPUs
7.2 NVLink Architecture In GB200/GB300
The NVIDIA GB200 and GB300 platforms implement a sophisticated NVLink topology that connects GPUs within compute trays and across the entire rack through NVLink switches.
7.2.1 Compute Tray Configuration
Each GB200/GB300 compute tray contains:
-
2 NVIDIA Grace CPUs
-
4 NVIDIA Blackwell GPUs (GB200/GB300)
-
NVLink connections between all GPUs within the tray
-
NVLink connections to external NVLink switch trays
The GPUs within a compute tray are fully connected via NVLink, allowing any GPU to communicate directly with any other GPU in the same tray at full NVLink bandwidth.
7.2.2 NVLink Switch Trays
GB200 NVL72 rack configurations include 9 NVLink switch trays per rack. Each switch tray contains:
-
2 NVSwitch chips per tray
-
72 NVLink ports per switch (36 top, 36 bottom per NVSwitch chip)
-
144 NVLink ports per switch tray total
The NVLink switches enable all-to-all GPU communication across the entire rack, creating a unified GPU fabric where any GPU can communicate with any other GPU at high bandwidth.
7.2.3 NVL72 Topology
The NVL72 reference configuration provides:
-
72 GPUs per rack (18 compute trays × 4 GPUs)
-
Full bisection bandwidth between all GPUs
-
130 TB/s total NVLink bandwidth per rack
-
Single NVLink domain spanning all 72 GPUs
This topology is optimized for large-scale AI training workloads, where model parallelism requires frequent communication between GPUs.
7.3 NVLink Commands
NVLink status and information can be queried using commands available in cmsh device mode.
7.3.1 Listing NVLink Switches: list
The list command in device mode can filter for NVLink switches using the --field option. This displays all NVLink switches configured in the cluster:
Example
The list command has many filtering options. Details can be seen by running the help command (help list).
7.3.2 NVLink Switch Status
NVLink switch status can be monitored through the standard status command of device mode. The switches report their operational state, link status, and any errors through the BCM monitoring system:
Example
7.3.3 NVLink Fabric Information: nvfabricinfo
The nvfabricinfo command is run in device mode, and displays information about NVLink fabric domains. It shows the domain identifier, the active switch, and all switches that are part of each NVLink domain:
Example
The output shows:
-
Domain: The NVLink domain identifier -
Active: The currently active/primary switch for the domain -
Switches: All NVLink switches that are part of the domain
The --raw option displays detailed JSON output showing the status of each switch in the fabric, including NMX controller and telemetry application status:
Example
The raw output for each switch shows:
-
hostname: The switch hostname -
leader: Whether this switch is the active leader for the domain -
apps: Running NMX applications (nmx-controller,nmx-telemetry) with version and status -
success: Whether the switch query was successful -
message: Status message (for example, if NMX controller is not started)
The --start option can be used to switch the active/leader switch for a domain. This is useful for maintenance or failover scenarios:
Example
This command initiates a leader transition, making a07-p01-nvsw-02 the new active switch for the NVLink domain. The NMX controller starts on the new leader and stops on the previous leader.
The help text (help nvfabricinfo) has further details on the nvfabricinfo command, including options for filtering and formatting.
7.3.4 NVLink Platform Information: nvplatforminfo
The nvplatforminfo command is run in device mode, and displays detailed NVLink platform information for each GPU in the cluster. It shows the physical location and identification of GPUs within the NVLink fabric, including slot, tray, and module assignments:
Example
The preceding output shows:
-
GPU: The GPU index within the node (0-3 for GB200/GB300 compute trays) -
IB GUID: The InfiniBand Global Unique Identifier for the GPU -
Slot: The physical slot position in the rack -
Tray: The compute tray number -
Host ID: The host identifier within the NVLink domain -
Peer type: The peer connection type -
Module ID: The module identifier within the tray
The help text (help nvplatforminfo) has further details on the nvplatforminfo command, including options for filtering by node, category, rack, and so on:
7.3.5 NVLink Domain Information: nvdomaininfo
The nvdomaininfo command is run within device mode, and displays the NVLink domain membership status for each GPU. It shows whether GPUs have successfully joined the NVLink cluster, and shows their assigned cluster UUID and clique ID:
Example
The output shows:
-
Status: The domain join status (Success,In progress, or error states) -
Cluster UUID: The unique identifier of the NVLink cluster that the GPU belongs to -
Clique ID: The clique identifier within the NVLink domain
GPUs with an In progress status are still in the process of joining the NVLink domain. They show a zeroed UUID until the join completes. Different cluster UUIDs indicate GPUs belonging to separate NVLink domains.
The help text (help nvdomaininfo) has further details on the nvdomaininfo command, including options for filtering by node, category, rack, and so on.
7.3.6 NVLink SDN Partition Information: nvsdnpartitioninfo
The nvsdnpartitioninfo command displays information about NVLink SDN (Software Defined Networking) partitions. It shows how GPUs are grouped into partitions across the NVLink fabric, including the associated switches and health status. The command is run in device mode:
Example
The output shows:
-
Rack: The rack identifier containing the partition -
Switches: The NVLink switches that are part of the partition -
Clique: The clique identifier for the partition -
Name: The partition name (e.g.,Default Partition) -
Health: The health status of the partition (healthy,degraded, etc.) -
Node GPUs: The nodes and GPU indices included in the partition
The help text (help nvsdnpartitioninfo) has further details on the nvsdnpartitioninfo command, including options for filtering by node, category, rack, and so on.
7.3.7 NVLink Link Status: nvlinkinfo
The nvlinkinfo command displays the status of individual NVLink links on each GPU. Each GPU in a GB200/GB300 system has 18 NVLink links connecting it to other GPUs and NVLink switches. The command is run in device mode (output truncated):
Example
The output shows:
-
Type: The device type (GPU) -
Entity: The GPU index within the node (0-3) -
Link: The NVLink link number (0-17 for 18 links per GPU) -
Status: The link status (UporDown)
Each compute tray has 4 GPUs with 18 NVLink links each, resulting in 72 link entries per node.
The help text (help nvlinkinfo) has further details on the nvlinkinfo command, including options for filtering by node, category, rack, and so on.
7.3.8 NVLink Monitoring With NMX
The NVIDIA Mission Control features allow NVLink measurables to be monitored (section 12.3).
For comprehensive NVLink monitoring, the NMX (NVIDIA Management Extensions) telemetry system provides detailed metrics on:
-
NVLink port utilization and bandwidth
-
error counts and link health
-
temperature and power consumption
-
traffic patterns and congestion
NMX telemetry integration with BCM is covered further in the BCM NMX documentation (section 2.1).