我们最近给一个做 AIGC 视频生成的客户,部署了一台 8 张 RTX 5090 的服务器。客户要求 7 天上线,结果光硬件调试就花了 3 天。这篇文章把这次踩坑完整记录下来,给后面要搭建同类机器的同行节省时间。
硬件架构怎么搭
8 张 5090,单卡显存 32GB,整机总显存 256GB,纸面规格看起来很可观,但这里有 3 个核心坑需要避开: 电源:8 卡满载整体功耗很高,我们方案采用 2+2 电源冗余设计,四路大功率供电,单路电源故障整机不会直接断电,做 8 卡机器一定要预留充足供电余量。
散热:RTX5090 单卡功耗上限 575W,8 张显卡塞进同一机箱,普通风冷很难压住持续高负载。我们最终采用液冷搭配强排风方案,机房环境温度从常规 25℃下调至 18℃(为本项目现场调参,不作为通用机房标准)。
PCIe 拓扑:RTX5090 为 PCIe 5.0 x16 规格,CPU 直连 PCIe 通道数量有限。8 卡环境一定要做 NUMA 绑定,如果不做,后续 PyTorch 分布式训练的通信延迟会非常高。
我们最开始 BIOS 参数配置出错,导致系统无法正常启动,返工重刷 BIOS 耗时 1 小时。建议搭建前提前确认 BIOS 配置,可参考我们调试完成后的参数模板。
多卡互联:NVLink 误区澄清
很多人会误以为 RTX5090 支持 NVLink,这里重点说明:消费版 RTX5090不支持 NVLink 互联。NVLink 是面向 HGX 平台数据中心 SXM GPU 的互联技术,不能用在消费级 RTX5090 上。
市面上部分多卡主板最多支持 4 卡高速互联桥接,但 RTX5090 本身硬件层面没有 NVLink,所有卡之间的数据通信都走 PCIe 通道。如果主板 PCIe 拓扑不均衡,部分 GPU 之间通信带宽会受限,跑大模型训练时性能会下降;如果只做推理或者 LoRA 微调,带宽瓶颈带来的影响相对小一些。
PyTorch 多卡配置
本次环境使用 PyTorch 2.3 + CUDA 12.4。最容易踩坑的是 NCCL 通信库版本,必须和 PyTorch 版本严格匹配,否则分布式任务无法正常拉起。
启动分布式任务之后,不能只依靠 nvidia-smi 表面信息判断通信链路。需要通过 NCCL 调试工具查看 GPU 之间实际通信链路,确认数据传输是否走最优 PCIe 路径。
踩坑清单(本次真实遇到)
- BIOS 里要开启 Above 4G Decoding,否则 8 张显卡会出现识别不全的问题
- 显存映射建议开启 HugePages,参数配置不合理时训练任务容易出现 OOM 显存溢出
- 数据集不要放在本地普通硬盘,推荐使用 NVMe RAID 0 阵列,否则 GPU 算力会出现空转,IO 成为瓶颈
- nccl_socket_ifname 不要直接使用默认 eth0 网卡,多节点分布式训练场景容易出现通信断流
最后一句
RTX5090 八卡目前属于 AIGC 场景里性价比不错的选择,相比 H100 成本低很多,单卡算力相比 4090 有明显提升。如果业务以 AIGC 推理、中等规模模型微调为主,这套整机配置值得评估。
这套方案的细节,欢迎评论区交流讨论,一起交流避坑。