AI集群网卡选型可以拆成五层检查。第一层是协议。先确定目标网络是InfiniBand还是以太网/RoCE,训练、存储与管理流量是否共网。适配器、交换机、固件与管理工具必须属于同一设计边界,不能只按连接器和端口速率配对。
第二层是PCIe能力。记录设备所在槽位、支持的PCIe代际和Lane数量,并在系统中检查实际协商状态。还要确认转接板、CPU根端口以及相邻设备是否共享上游带宽。对于双端口卡,应比较两个端口同时加载时的主机带宽需求,而不是把两个标称值直接相加当成可达吞吐。
第三层是NUMA和GPU拓扑。使用系统拓扑工具确认网卡属于哪个NUMA节点,再结合GPU拓扑查看GPU---NIC路径。跨Socket或绕行复杂PCIe层级可能带来额外延迟和争用。GPUDirect RDMA还受平台拓扑与配置影响,需要验证数据是否真正走GPU内存直达路径,并与主机内存测试做对照。
第四层是端口策略。单端口结构更简单,适合明确带宽和故障边界的场景;双端口可以做双Rail、主备或流量分离。要让双Rail生效,两张网络平面、地址/路由、NCCL接口选择和拓扑映射都必须一致,且交换网络不能在上游重新汇聚成同一个瓶颈。
第五层是工程适配与验收。核对PCIe卡或OCP形态、挡板、供电、散热、模块、DAC/AOC/光纤与交换机端口。上线后保存固件和驱动版本、PCIe Link Speed/Width、NUMA亲和性、GPU---NIC拓扑及端口计数器。
测试建议分层执行:先做单端口持续吞吐和延迟,再做双端口并发;随后覆盖同一交换机、跨Leaf/Spine和不同节点规模;最后运行贴近生产消息尺寸的NCCL,并比较多轮P50、P95与最差节点。故障验收还要模拟拔掉一条链路、关闭端口或迁移任务,验证降级方式与恢复时间。
排障时还可增加两个对照:同一节点分别测试主机内存与GPU内存,区分网络问题和GPU直达路径问题;同一张卡分别插入推荐槽位与非推荐槽位,观察PCIe和NUMA变化。测试期间同步采集端口错误、CPU利用率和GPU等待时间,才能避免仅凭吞吐数值误判。
最终把结果固化为可重复的节点验收基线。
如果端口速率高而NCCL仍低,先看PCIe是否降速或降宽、进程是否跨NUMA、通信库是否选错接口,再检查交换网络拥塞。用这套顺序,可以把"网卡性能不好"拆成可验证的主机、链路与Fabric问题。