NVLink – это энергоэффективный интерконнект NVIDIA с высокой пропускной способностью для соединения нескольких GPU, обеспечивающий значительно более высокую пропускную способность по сравнению с традиционным PCIe. Для специалистов по изучению данных, инженеров ML и пользователей высокопроизводительных вычислений (HPC) NVLink обеспечивает бесшовное совместное использование памяти GPU, сокращая узкие места и обеспечивая более быстрое обучение и выводы.
Но можно ли использовать NVLink в VPS? Ответ – да, но с важными оговорками. Давайте разберемся, что такое NVLink, как его настроить и что требуется для его работы в среде виртуализированного сервера.
Не все поставщики VPS поддерживают установку NVLink.
Только пустые VPS или выделенные виртуальные машины с GPU и прямым проходом позволяют NVLink работать.
Поддержка NVLink в контейнерных средах, таких как Docker, отсутствует, если только они не запускаются непосредственно на хосте.
NVLink позволяет двум или более совместимым графическим процессорам NVIDIA:
Делить память между GPU для больших наборов данных
Обмениваться данными с общей пропускной способностью до 600 ГБ/с
Выполнять более быстрое обучение на нескольких GPU без участия CPU
Поддерживается на таких GPU, как:
NVIDIA A100, V100, RTX 3090, 4090, A6000 и т.д.
Обычно требуется физический мост NVLink
Прежде чем приступать к настройке NVLink на VPS, убедитесь в следующем:
Физический сервер должен иметь:
Не менее двух NVLink-совместимых графических процессоров
Установлен мост(ы) NVLink
BIOS и встроенное ПО, поддерживающее NVLink
Обычные совместимые конфигурации включают два A100 или RTX 3090 с мостом NVLink.
VPS должен быть размещен на гипервизоре с поддержкой GPU passthrough, например:
KVM/QEMU с VFIO (PCI passthrough)
VMware ESXi с DirectPath I/O
Proxmox VE с GPU passthrough
⚠️ Примечание: NVLink не работает между виртуализированными устройствами, если оба GPU не передаются как полноценные PCIe-устройства в одну и ту же виртуальную машину.
Хост должен передавать оба физических GPU непосредственно на ваш VPS.
Для KVM/QEMU с VFIO:
Обновите libvirt или qemu XML, чтобы пропустить оба GPU.
Внутри VPS (гостевой ОС) установите последнюю версию драйвера NVIDIA:
Перезагрузитесь после установки.
Находясь в гостевой ОС:
Вы должны увидеть:
GPU0 | GPU1 | CPU Affinity | |
GPU0 | X | NV1 | 0-15 |
GPU1 | NV1 | X | 0-15 |
Где NV1 означает, что NVLink активен между GPU0 и GPU1.
Убедитесь, что Peer-to-Peer и Access отмечены как Enabled.
Изолированный доступ: Убедитесь, что ваш VPS не перегружен подпиской и не размещен совместно с другими при использовании полного GPU passthrough.
Отсутствие утечки общей памяти: NVLink создает ограниченный доступ к общему пространству памяти в доверенных средах.
Аудит доступа к устройствам /dev/nvidia*.
Симптом | Возможная причина | Устранение |
---|---|---|
NVLink не отображается в nvidia-smi | Графические процессоры не подключены к мосту должным образом | Отключите питание хоста и переустановите физический мост NVLink |
Виден только один GPU | Неправильная конфигурация passthrough | Проверьте настройки прохода VM XML/устройств |
Одноранговая связь отключена | Несоответствие драйверов или настроек BIOS | Обновите драйвер, проверьте BIOS на поддержку NVLink |
Низкая пропускная способность | Дорожки NVLink используются недостаточно эффективно | Используйте nvidia-smi nvlink –status для проверки дорожек |
NVLink – это революционное решение для рабочих нагрузок с интенсивным использованием GPU, обеспечивающее огромные преимущества в производительности при правильной настройке – даже в виртуальных средах. Благодаря прямому прохождению GPU и тщательной настройке вы можете использовать мощь многопроцессорных соединений на VPS, превратив его в высокопроизводительный вычислительный узел для требовательных приложений.