如何在具有多 GPU 设置的 VPS 上配置 NVLink
在带有 Multi-GPU 设置的 VPS 上配置 NVLink
NVLink,NVIDIA 的高带宽 GPU 互连,通过实现快速内存共享和数据传输,彻底改变了 Multi-GPU 工作负载,远远超越了 PCIe 的限制。对于数据科学家、ML 工程师或 HPC 用户,NVLink 可以加速深度学习模型训练或大规模仿真等任务。例如,你可以将 NVLink 与双 A100 GPUs 一起使用,通过汇总 GPU 内存来更快地训练大型语言模型。然而,在虚拟化环境中配置 NVLink 很复杂,需要特定的硬件和设置。本指南将解释 NVLink、它在 VPS 中的限制,以及如何对其进行配置以获得最佳性能。
限制与注意事项
并非所有 VPS 提供商都支持 NVLink 设置。
只有 基于 bare-metal 的 VPS 或支持直接直通的专用 GPU 虚拟机才能让 NVLink 正常工作。
在 Docker 等容器化环境中不支持 NVLink,除非直接在主机上运行。
什么是 NVLink?
NVLink 允许两个或更多兼容的 NVIDIA GPUs:
在 GPUs 之间共享内存以处理大型数据集
以高达 600 GB/s total bandwidth 的速度交换数据
无需 CPU 参与即可更快地执行multi-GPU training
支持的 GPUs 包括:
NVIDIA A100, V100, RTX 3090, 4090, A6000, 等。
通常需要一个physical NVLink bridge
VPS 中的 NVLink:前提条件
在尝试在 VPS 上配置 NVLink 之前,请确保满足以下条件:
主机硬件
该physical server必须具备:
至少two NVLink-compatible GPUs
已安装 NVLink bridge(s)
支持 NVLink 的 BIOS 和 firmware
常见的兼容配置包括双 A100 或带 NVLink bridge 的 RTX 3090。
VPS 配置
VPS 必须部署在支持GPU passthrough-enabled hypervisor的环境上,例如:
KVM/QEMU 配合 VFIO(PCI passthrough)
VMware ESXi 配合 DirectPath I/O
Proxmox VE 配合 GPU passthrough
⚠️ 注意:NVLink does not work across virtualized devices,除非both GPUs are passed through as full PCIe devices到同一个 VM。
分步操作:如何在 VPS 上配置 NVLink
步骤 1:确保 GPUs 直通
主机需要将both physical GPUs直接传递给你的 VPS。
对于带 VFIO 的 KVM/QEMU:
更新 libvirt 或 qemu XML 以直通两块 GPU。
步骤 2:安装 NVIDIA 驱动
在 VPS(guest OS)内部,安装latest NVIDIA driver:
sudo apt updatesudo apt install -y nvidia-driver-535安装后重启。
步骤 3:验证 NVLink 拓扑
进入 guest OS 后:
nvidia-smi topo -m你应该会看到:
| GPU0 | GPU1 | CPU Affinity | |
| GPU0 | X | NV1 | 0-15 |
| GPU1 | NV1 | X | 0-15 |
其中 NV1 表示 GPU0 和 GPU1 之间的 NVLink 已激活。
步骤 4:启用 Peer-to-Peer Access(可选但推荐)
nvidia-smi p2p确保 Peer-to-Peer 和 Access 都标记为 Enabled.
安全注意事项
Isolated access:在使用完整 GPU passthrough 时,确保你的 VPS 没有超额分配或与他人共用主机。
No shared memory leakage:NVLink 会创建共享内存空间——请将访问限制在受信任的环境中。
审计对 /dev/nvidia devices 的访问*。
NVLink 问题排查
| 症状 | 可能原因 | 修复方法 |
|---|---|---|
| nvidia-smi 中未显示 NVLink | GPUs 未正确桥接 | 关闭主机电源并重新安装 physical NVLink bridge |
| 仅看到一块 GPU | Passthrough 配置错误 | 检查 VM XML/device passthrough 设置 |
| Peer-to-peer 已禁用 | 驱动不匹配或 BIOS 设置 | 升级驱动,检查 BIOS 是否支持 NVLink |
| 带宽较低 | NVLink lanes 利用不足 | 使用 nvidia-smi nvlink –status 验证 lanes |
NVLink 对 GPU 密集型工作负载来说是一个改变游戏规则的技术,在正确配置后可带来巨大的性能优势——即使在虚拟环境中也是如此。通过直接 GPU passthrough 和仔细设置,你可以在 VPS 上利用 Multi-GPU 互连的强大能力,将其变成一个适用于高要求应用的高性能计算节点。


