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.
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ă.
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ă
Înainte de a încerca să configurați NVLink pe un VPS, asigurați-vă de următoarele:
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.
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.
Gazda trebuie să transmită ambele GPU-uri fizice direct către VPS-ul dvs.
Pentru KVM/QEMU cu VFIO:
Actualizați libvirt sau qemu XML pentru a trece prin ambele GPU-uri.
În interiorul VPS (guest OS), instalați cel mai recent driver NVIDIA:
Reporniți după instalare.
Odată în interiorul sistemului de operare invitat:
Ar trebui să vedeți:
GPU0 | GPU1 | Afinitate CPU | |
GPU0 | X | NV1 | 0-15 |
GPU1 | NV1 | X | 0-15 |
Unde NV1 înseamnă că NVLink este activ între GPU0 și GPU1.
Asigurați-vă că Peer-to-Peer și Access sunt ambele marcate ca Enabled.
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*.
Simptom | Cauză posibilă | Rezolvare |
---|---|---|
NVLink nu este afișat în nvidia-smi | GPU-urile nu sunt conectate corect | Opriți gazda și reinstalați puntea NVLink fizică |
Un singur GPU vizibil | Configurație greșită a passthrough-ului | Verificați setările VM XML/device passthrough |
Peer-to-peer dezactivat | Driver nepotrivit sau setări BIOS | Actualizați driverul, verificați BIOS pentru suport NVLink |
Lățime de bandă redusă | Liniile NVLink subutilizate | Utilizaț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.