Configurarea NVLink pe un VPS cu configurare multi-GPU

NVLink, interconectarea GPU cu lățime de bandă mare de la NVIDIA, revoluționează sarcinile de lucru multi-GPU permițând partajarea rapidă a memoriei și transferul de date, depășind cu mult limitările PCIe. Pentru cercetătorii de date, inginerii ML sau utilizatorii HPC, NVLink poate accelera sarcini precum pregătirea modelelor de învățare profundă sau simulările la scară largă. De exemplu, puteți utiliza NVLink cu două GPU A100 pentru a antrena mai rapid un model de limbaj de mari dimensiuni prin punerea în comun a memoriei GPU. Cu toate acestea, configurarea NVLink într-un mediu virtualizat este complexă și necesită hardware și configurare specifice. Acest ghid explică NVLink, limitările sale într-un VPS și cum să îl configurați pentru o performanță optimă.

Limitări și precauții

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

  • Doar VPS-urile bazate pe bare-metal sau mașinile virtuale dedicate GPU cu passthrough direct permit NVLink să funcționeze.

  • 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.