Cum se configurează NVLink pe un VPS cu configurare multi-GPU

NVLink este interconectarea NVIDIA cu lățime de bandă mare și eficientă din punct de vedere energetic pentru conectarea mai multor GPU-uri, oferind o lățime de bandă de comunicare semnificativ mai mare comparativ cu PCIe tradițional. Pentru cercetătorii de date, inginerii ML și utilizatorii de calcul de înaltă performanță (HPC), NVLink oferă partajarea fără întreruperi a memoriei GPU, reducând blocajele și permițând o formare și o inferență mai rapide.

Dar puteți utiliza NVLink într-un VPS? Răspunsul este da, dar cu rezerve importante. Să explorăm ce este NVLink, cum să îl configurăm și ce este necesar pentru ca acesta să funcționeze într-un mediu de server virtualizat.

Limitări și precauții

  • Nu toți furnizorii de VPS acceptă configurații NVLink.

  • Numai VPS-urile bazate pe bare-metal sau mașinile virtuale dedicate GPU cu passthrough direct permit funcționarea NVLink.

  • Nu există suport NVLink în medii containerizate precum Docker, cu excepția cazului în care este rulat direct pe gazdă.

Ce este NVLink?

NVLink permite ca două sau mai multe GPU-uri NVIDIA compatibile să:

  • Să partajeze memoria între GPU-uri pentru seturi mari de date

  • Schimbul de date la o lățime de bandă totală de până la 600 GB/s

  • Efectuarea mai rapidă a instruirii multi-GPU fără implicarea CPU

Suportat pe GPU-uri precum:

  • NVIDIA A100, V100, RTX 3090, 4090, A6000, etc.

  • De obicei, necesită o punte NVLink fizică

NVLink în VPS: Condiții prealabile

Înainte de a încerca să configurați NVLink pe un VPS, asigurați-vă de următoarele:

Hardware gazdă

  • Serverul fizic trebuie să aibă:

    • Cel puțin două GPU-uri compatibile NVLink

    • Punte(e) NVLink instalată(e)

    • BIOS și firmware care acceptă NVLink

  • Configurațiile compatibile obișnuite includ două A100 sau RTX 3090 cu punte NVLink.

Configurarea VPS

  • VPS-ul trebuie să fie provizionat pe un hipervizor compatibil cu GPU passthrough, cum ar fi:

    • KVM/QEMU cu VFIO (PCI passthrough)

    • VMware ESXi cu DirectPath I/O

    • Proxmox VE cu GPU passthrough

⚠️ Notă: NVLink nu funcționează între dispozitive virtualizate decât dacă ambele GPU sunt trecute ca dispozitive PCIe complete către aceeași VM.

Pas cu pas: Cum să configurați NVLink pe un VPS

Pasul 1: Asigurarea trecerii prin GPU

Gazda trebuie să transmită ambele GPU-uri fizice direct către VPS-ul dvs.

Pentru KVM/QEMU cu VFIO:

# Exemplu pentru atribuirea a două GPU prin 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

Actualizați libvirt sau qemu XML pentru a trece prin ambele GPU-uri.

Pasul 2: Instalarea driverelor NVIDIA

În interiorul VPS (guest OS), instalați cel mai recent driver NVIDIA:

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

Reporniți după instalare.

Pasul 3: Verificarea topologiei NVLink

Odată în interiorul sistemului de operare invitat:

nvidia-smi topo -m

Ar trebui să vedeți:

GPU0GPU1Afinitate CPU
GPU0XNV10-15
GPU1NV1X0-15

Unde NV1 înseamnă că NVLink este activ între GPU0 și GPU1.

Pasul 4: Activarea accesului Peer-to-Peer (opțional, dar recomandat)

nvidia-smi p2p

Asigurați-vă că Peer-to-Peer și Access sunt ambele marcate ca Enabled.

Considerații privind securitatea

  • Acces izolat: Asigurați-vă că VPS-ul dvs. nu este suprasubscris sau găzduit împreună cu alții atunci când utilizați passthrough GPU complet.

  • Nu există scurgeri de memorie partajată: NVLink creează un spațiu de memorie partajată-limită de acces la mediile de încredere.

  • Auditul accesului la dispozitivele /dev/nvidia*.

Depanarea problemelor NVLink

SimptomCauză posibilăRezolvare
NVLink nu este afișat în nvidia-smiGPU-urile nu sunt conectate corectOpriți gazda și reinstalați puntea NVLink fizică
Un singur GPU vizibilConfigurație greșită a passthrough-uluiVerificați setările VM XML/device passthrough
Peer-to-peer dezactivatDriver nepotrivit sau setări BIOSActualizați driverul, verificați BIOS pentru suport NVLink
Lățime de bandă redusăLiniile NVLink subutilizateUtilizați nvidia-smi nvlink –status pentru a verifica benzile

NVLink schimbă regulile jocului pentru volumele de lucru cu GPU intensiv, oferind avantaje imense de performanță atunci când este configurat corespunzător – chiar și în medii virtuale. Cu passthrough GPU direct și o configurare atentă, puteți exploata puterea interconectărilor multi-GPU pe un VPS, transformându-l într-un nod de calcul de înaltă performanță pentru aplicații solicitante.