GPU裸金属资讯

多卡设备链路不清时,从总线编号与链路状态入手解决

从设备枚举、总线层级和链路状态三方面识别多卡主机的实际连接,区分插槽布线、桥接关系与协商异常,并给出 Windows、Linux 下的检查步骤。

多卡设备的插槽位置,不一定能说明它实际连接到哪条总线。要掌握多卡图形计算主机的PCIe拓扑识别方法,先记录设备编号,再查看设备之间经过哪些桥接节点,最后核对当前链路状态。这样能把“卡在哪个槽”与“卡实际怎么连”分开判断。

先分清三种信息

总线编号是系统枚举设备时使用的地址,重装系统、更新固件或改变硬件配置后可能变化,不能单独当作插槽编号。拓扑描述设备到处理器或芯片组之间的连接层级;链路状态则反映当前连接协商出的速度和宽度。

还要留意 PCIe 交换芯片:多张卡可能分别接在交换芯片下游,再共用它到上游的连接。此时每张卡都可能显示较宽的下游链路,但上游带宽仍由多卡共享。主板说明书中的插槽框图可帮助确认设计连接,软件枚举结果则显示当前实际识别到的层级。

按顺序采集,避免只看一个数字

  1. 清点设备。记录每张卡的型号、所在物理插槽和系统中的设备地址;若有多种扩展卡,也一并标记,避免把网卡或存储控制器误认成图形设备。
  2. 查看拓扑树。Linux 系统可运行 lspci -D -t 查看设备与桥接器的层级,再用 lspci -D -vv -s 地址 检查指定设备的链路能力和当前状态。地址应替换为本机枚举结果,不要照抄其他机器的编号。
  3. 在 Windows 交叉核对。打开设备管理器,在“查看”中选择“按连接显示设备”,沿 PCI Express 根复合体展开到目标设备。设备属性的“详细信息”中可查看位置路径;将各卡路径的共同上级与主板插槽图对照。
  4. 读取链路状态。重点比较设备支持的链路宽度、当前宽度,以及支持和当前速度。若当前值低于设备或插槽设计预期,先记录冷启动后的结果;某些系统在省电状态下会降低运行速度,因此可在持续负载期间复查速度。宽度持续偏低则还需检查插槽布线、转接板、卡的金手指接触和固件配置。
  5. 做单变量验证。关机断电后一次只移动或拔插一张卡,再重新采集拓扑。若设备地址改变但上游路径一致,通常只是重新枚举;若路径或链路宽度变化,应结合说明书判断是否属于插槽设计差异或连接异常。

用工具矩阵补充,而非替代拓扑树

若主机使用 NVIDIA GPU,可运行 nvidia-smi topo -m 查看 GPU 之间的相对连接关系。它适合比较卡与卡之间的通信路径,但不能取代系统总线树,也不能仅凭矩阵判断每个插槽的物理布线。多卡图形计算主机的PCIe拓扑识别方法应以系统枚举、链路状态和主板资料相互印证为准。

异常表现对应的排查方向

表现优先检查
设备地址变化,连接层级未变通常属于枚举顺序改变,按设备型号和路径重新对应即可。
当前宽度低于预期核对插槽实际布线、卡的接触情况、转接设备及固件设置。
多卡同挂在交换芯片下确认上游链路是否共享;不能把下游每卡的连接宽度等同于总带宽。
设备未出现在拓扑中检查供电、插接、固件是否枚举到设备,并尝试逐卡启动定位。

常见问题

总线编号能直接对应主板插槽吗?

不能。编号表示系统地址,需结合连接路径、设备型号和主板插槽图定位。

为什么卡的标称宽度与当前宽度不同?

可能是插槽布线较窄、多个插槽共享通道、转接设备限制,也可能是接触或配置问题;应逐项核实。

多卡设备链路不清时,从总线编号与链路状态入手解决

拓扑工具显示连接正常,就代表多卡带宽充足吗?

不一定。拓扑说明连接关系,链路状态说明协商结果;实际吞吐还受共享上游链路、负载和设备行为影响。

排查时按“地址清点—层级确认—链路核验—单变量复测”推进,比凭插槽名称猜测更可靠。掌握多卡图形计算主机的PCIe拓扑识别方法,才能判断问题究竟来自枚举变化、链路限制还是实际连接故障。