H20 硬件配置排查:NVLink 与 PCIe 互联方式对比。

查看GPU情况

结论先行:NVIDIA H200 141GB 显卡的 NVLink 速度高达 900GB/s,而标准的 PCIe Gen5 带宽为 128GB/s。NVLink 的传输速率大约是 PCIe 的 7 倍。
查看NVLink连接状况

查看主板上的PCI插槽:PCIe 5.0 x16 插槽:17 个、PCIe 5.0 x4 插槽:8 个、PCIe 5.0 x8 插槽:1 个

PCIe(PCI Express)的传输速率:PCIe 是双向传输通道。这意味着 x16 接口在 PCIe 3.0 下不仅拥有 16 GB/s 的下行速度,同时还能拥有 16 GB/s 的上行速度,总吞吐量可达 32 GB/s。

PCIe 吞吐量(可用带宽)计算方法:吞吐量 = 传输速率 * 编码方案
例如:PCIe 5.0 协议支持 32 GT/s,即每一条Lane上支持每秒钟内传输32G个Bit,但PCIe 5.0 的物理层协议中使用的是128b/130b的编码方案。即每传输128个Bit,需要发送130个Bit;这多出的2个Bit并不是对上层有意义的信息。
则PCIe 5.0协议的每一条Lane支持 32* 128 / 130 = 31.5 Gbps = 3938.4 MB/s 的速率,以一个PCIe 5.0 x16的通道为例,x16的可用带宽为 31.5 * 32 = 1008 Gbps = 126 GB/s。
查看vendor id和device id:lspci -n | grep -i 06:00.0

查看指定设备的PCIe信息:sudo lspci -vvv -s 06:00.0 | grep -i "LnkCap\|LnkSta"

查看内核日志中的PCIe信息:sudo dmesg | grep -i "PCIe bandwidth"

为什么 lspci 显示 16GT/s,但 dmesg 说是 8GT/s 瓶颈?
- LnkCap,16GT/s = PCIe 4.0 单通道速率;该设备硬件上限:PCIe4.0 x2
- LnkSta是设备与直连交换机 / 桥之间的协商速率,当前实际跑满了该设备自身支持的上限 PCIe4.0 x2
- 而整个 PCIe 拓扑中更上游的 Root Port(CPU 侧端口
00:1a.0)只支持 PCIe3.0,整个链路的带宽由最慢一段决定。内核 dmesg 给出的是系统全局有效带宽瓶颈。
实际情况:
- 该设备硬件支持:PCIe Gen4,理论有效带宽 ≈3.94 GB/s
- 当前整机受主板 / CPU 根端口限制,实际只能跑 PCIe Gen3,有效带宽 ≈1.97 GB/s
设备硬件能力:PCIe 4.0 x2 (16GT/s);系统实际瓶颈:上游 Root Port 只有 PCIe 3.0 x2 (8GT/s)
设备自身最大支持(PCIe 4.0 x2),x2 总带宽:2 × 16 × (128/130) / 8 ≈ 3.94 GB/s,当前系统实际可跑(被上游限制 PCIe 3.0 x2),x2 总带宽:2 × 8 × (128/130) / 8 ≈ 1.97 GB/s

