CPU, GPU AND RAM

GPU PCIe links: negotiated speed, width and maximum capability

In this article
THE QUICK TAKE

Record maximum capability and negotiated state separately, then measure whether the relevant transfer constrains the workload.

Capability and negotiation answer different questions

A GPU specification can advertise a PCIe generation and lane width while a running system reports a different current link. The specification describes capability under applicable platform conditions. The negotiated link describes the connection currently established. A useful investigation preserves both rather than treating the larger number as an observed transfer rate.

The nvidia-smi reference distinguishes current and maximum PCIe link information. Device support and reporting conditions matter. A single idle snapshot does not establish what happens during a sustained transfer, and the observed link rate is not itself an application throughput measurement.

Inventory the physical path

Record GPU identity, PCI address, motherboard or server model, slot, riser and the configured lane allocation. Two physically similar slots can have different electrical connections or share a path with another device. Use the platform’s own documentation when interpreting that allocation instead of assuming every full-length connector supplies the same width.

The Linux PCI sysfs guide describes device identity and resource information exposed by the kernel. Keep the device path with the observation so another operator can connect the management report to the actual endpoint. Reading an inventory does not require writing configuration space, removing a device or changing firmware settings.

Observe a bounded transfer interval

Capture current and supported link information before and during a known transfer workload. Preserve the workload’s direction, transferred bytes, duration and whether other devices were active. Keep a repeatable isolated comparison. If the application is doing mostly device-local computation, its latency may be a poor test of host-to-GPU link behavior.

For example, an illustrative device might report a lower current generation while idle and a different negotiated rate during transfer. That sequence deserves different interpretation from a link that remains unexpectedly narrow under the same controlled conditions. Neither example, by itself, identifies the reason for a platform limitation.

Diagnose width and generation separately

A width limitation and a generation change are distinct observations. Check the documented slot allocation and the state reported by both endpoint and path where available. Include host event logs if the observed state changed unexpectedly. Repeated transfer slowdowns alongside path errors call for a different investigation than a stable configuration matching the platform manual.

Do not compare a theoretical link figure directly with a model’s tokens per second. Transfer direction, workload overlap, software overhead and other bottlenecks determine whether that link constrains the application. Measure the relevant data path first, then evaluate its contribution to end-to-end serving time.

Report what was actually established

Keep a table of capability, observed idle state, observed transfer state and measured transfer result, with units and test conditions. Leave unsupported fields explicit. The conclusion should identify whether the connection matched the documented platform arrangement and whether the tested transfer was a bottleneck. It should not promise that a wider slot will accelerate every inference workload.

Keep a negative experiment result as well as a positive one. If the tested transfer did not constrain the workload, that supports investigating another resource rather than changing the connection solely because the specification advertises an attractive maximum.

← All articles