Як налаштувати NVLink на VPS з декількома графічними процесорами

NVLink – це високошвидкісний енергоефективний інтерконектор NVIDIA для з’єднання декількох графічних процесорів, що забезпечує значно вищу пропускну здатність у порівнянні з традиційним PCIe. Для дослідників даних, інженерів ML та користувачів високопродуктивних обчислень (HPC) NVLink пропонує безперешкодний спільний доступ до пам’яті GPU, зменшуючи вузькі місця та дозволяючи швидше навчатися та робити висновки.

Але чи можна використовувати NVLink у VPS? Відповідь – так, але з важливими застереженнями. Давайте розглянемо, що таке NVLink, як його налаштувати і що потрібно для його роботи у віртуалізованому серверному середовищі.

Обмеження та застереження

  • Не всі VPS-провайдери підтримують налаштування NVLink.

  • NVLink працює лише на VPS на базі “bare-metal” або виділених віртуальних машинах з графічним процесором з прямим проходженням.

  • NVLink не підтримується в контейнерних середовищах, таких як Docker, якщо вони не запускаються безпосередньо на хості.

Що таке NVLink?

NVLink дозволяє двом або більше сумісним графічним процесорам NVIDIA:

  • Розподіляти пам’ять між графічними процесорами для великих наборів даних

  • Обмінюватися даними із загальною пропускною здатністю до 600 ГБ/с

  • Швидше навчати декілька графічних процесорів без участі центрального процесора

Підтримується на таких графічних процесорах як:

  • NVIDIA A100, V100, RTX 3090, 4090, A6000 тощо.

  • Зазвичай вимагає фізичного моста NVLink

NVLink у VPS: необхідні умови

Перш ніж намагатися налаштувати NVLink на VPS, переконайтеся в наступному:

Обладнання хоста

  • Фізичний сервер повинен мати

    • Як мінімум два NVLink-сумісних графічних процесора

    • Встановлений міст (мости) NVLink

    • BIOS і прошивка з підтримкою NVLink

  • Найпоширеніші сумісні конфігурації включають два A100 або RTX 3090 з мостом NVLink.

Конфігурація VPS

  • VPS повинен бути налаштований на гіпервізорі з підтримкою GPU passthrough, наприклад:

    • KVM/QEMU з VFIO (PCI passthrough)

    • VMware ESXi з DirectPath I/O

    • Proxmox VE з проходом через GPU

⚠️ Примітка: NVLink не працює між віртуалізованими пристроями, якщо обидва графічні процесори не підключаються як повноцінні пристрої PCIe до однієї віртуальної машини.

Покрокове налаштування NVLink на VPS: Як налаштувати NVLink на VPS

Крок 1: Переконайтеся, що графічні процесори проходять через хост

Хост повинен передати обидва фізичні графічні процесори безпосередньо на ваш VPS.

Для KVM/QEMU з VFIO:

# Приклад призначення двох графічних процесорів через vfio-pci
echo "vendor_id device_id" > /sys/bus/pci/devices/0000:65:00.0/driver/unbind
echo "vendor_id device_id" > /sys/bus/pci/devices/0000:66:00.0/driver/unbind
echo "vendor_id device_id" > /sys/bus/pci/drivers/vfio-pci/new_id

Оновіть libvirt або qemu XML, щоб пропустити обидва графічні процесори.

Крок 2: Встановлення драйверів NVIDIA

Усередині VPS (гостьової ОС) встановіть найновіший драйвер NVIDIA:

sudo apt update
sudo apt install -y nvidia-driver-535

Перезавантажтеся після встановлення.

Крок 3: Перевірка топології NVLink

Опинившись у гостьовій ОС:

nvidia-smi topo -m

Ви повинні побачити

GPU0GPU1Спорідненість до процесора
GPU0XNV10-15
GPU1NV1X0-15

Де NV1 означає, що NVLink активний між GPU0 і GPU1.

Крок 4: Увімкніть одноранговий доступ (необов’язково, але рекомендується)

nvidia-smi p2p

Переконайтеся, що опції Peer-to-Peer і Access позначено як Enabled.

Міркування щодо безпеки

  • Ізольований доступ: Переконайтеся, що ваш VPS не перевантажений підпискою або не розміщений у спільному хостингу з іншими, коли ви використовуєте повний пропуск графічного процесора.

  • Відсутність витоку спільної пам’яті: NVLink створює спільний простір пам’яті, обмежуючи доступ до довірених середовищ.

  • Аудит доступу до /dev/nvidia пристроїв*.

Виправлення неполадок у роботі NVLink

СимптомМожлива причинаВиправлення
NVLink не відображається у nvidia-smiГрафічні процесори не з’єднано належним чиномВимкніть комп’ютер і перевстановіть фізичний міст NVLink
Відображається лише один графічний процесорНеправильна конфігурація наскрізного доступуПеревірте налаштування VM XML/пристрою наскрізного доступу
Вимкнено однорангову передачуНевідповідність драйверів або налаштувань BIOSОновіть драйвер, перевірте BIOS на підтримку NVLink
Низька пропускна здатністьНедовикористання смуг NVLinkВикористовуйте nvidia-smi nvlink –status для перевірки смуг

NVLink змінює правила гри для робочих навантажень з інтенсивним використанням графічного процесора, пропонуючи величезні переваги продуктивності при правильному налаштуванні – навіть у віртуальних середовищах. Завдяки прямому проходженню через графічний процесор і ретельному налаштуванню ви можете використовувати потужність багатопроцесорних з’єднань на VPS, перетворюючи його на високопродуктивний обчислювальний вузол для вимогливих додатків.