NVLink – це високошвидкісний енергоефективний інтерконектор NVIDIA для з’єднання декількох графічних процесорів, що забезпечує значно вищу пропускну здатність у порівнянні з традиційним PCIe. Для дослідників даних, інженерів ML та користувачів високопродуктивних обчислень (HPC) NVLink пропонує безперешкодний спільний доступ до пам’яті GPU, зменшуючи вузькі місця та дозволяючи швидше навчатися та робити висновки.
Але чи можна використовувати NVLink у VPS? Відповідь – так, але з важливими застереженнями. Давайте розглянемо, що таке NVLink, як його налаштувати і що потрібно для його роботи у віртуалізованому серверному середовищі.
Не всі VPS-провайдери підтримують налаштування NVLink.
NVLink працює лише на VPS на базі “bare-metal” або виділених віртуальних машинах з графічним процесором з прямим проходженням.
NVLink не підтримується в контейнерних середовищах, таких як Docker, якщо вони не запускаються безпосередньо на хості.
NVLink дозволяє двом або більше сумісним графічним процесорам NVIDIA:
Розподіляти пам’ять між графічними процесорами для великих наборів даних
Обмінюватися даними із загальною пропускною здатністю до 600 ГБ/с
Швидше навчати декілька графічних процесорів без участі центрального процесора
Підтримується на таких графічних процесорах як:
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
⚠️ Примітка: NVLink не працює між віртуалізованими пристроями, якщо обидва графічні процесори не підключаються як повноцінні пристрої PCIe до однієї віртуальної машини.
Хост повинен передати обидва фізичні графічні процесори безпосередньо на ваш VPS.
Для KVM/QEMU з VFIO:
Оновіть libvirt або qemu XML, щоб пропустити обидва графічні процесори.
Усередині VPS (гостьової ОС) встановіть найновіший драйвер NVIDIA:
Перезавантажтеся після встановлення.
Опинившись у гостьовій ОС:
Ви повинні побачити
GPU0 | GPU1 | Спорідненість до процесора | |
GPU0 | X | NV1 | 0-15 |
GPU1 | NV1 | X | 0-15 |
Де NV1 означає, що NVLink активний між GPU0 і GPU1.
Переконайтеся, що опції Peer-to-Peer і Access позначено як Enabled.
Ізольований доступ: Переконайтеся, що ваш VPS не перевантажений підпискою або не розміщений у спільному хостингу з іншими, коли ви використовуєте повний пропуск графічного процесора.
Відсутність витоку спільної пам’яті: NVLink створює спільний простір пам’яті, обмежуючи доступ до довірених середовищ.
Аудит доступу до /dev/nvidia пристроїв*.
Симптом | Можлива причина | Виправлення |
---|---|---|
NVLink не відображається у nvidia-smi | Графічні процесори не з’єднано належним чином | Вимкніть комп’ютер і перевстановіть фізичний міст NVLink |
Відображається лише один графічний процесор | Неправильна конфігурація наскрізного доступу | Перевірте налаштування VM XML/пристрою наскрізного доступу |
Вимкнено однорангову передачу | Невідповідність драйверів або налаштувань BIOS | Оновіть драйвер, перевірте BIOS на підтримку NVLink |
Низька пропускна здатність | Недовикористання смуг NVLink | Використовуйте nvidia-smi nvlink –status для перевірки смуг |
NVLink змінює правила гри для робочих навантажень з інтенсивним використанням графічного процесора, пропонуючи величезні переваги продуктивності при правильному налаштуванні – навіть у віртуальних середовищах. Завдяки прямому проходженню через графічний процесор і ретельному налаштуванню ви можете використовувати потужність багатопроцесорних з’єднань на VPS, перетворюючи його на високопродуктивний обчислювальний вузол для вимогливих додатків.