Se gli host ESXi nell'ambiente di vSphere IaaS control plane dispongono di uno o più dispositivi grafici NVIDIA GRID GPU, è possibile configurare le macchine virtuali in modo che utilizzino la tecnologia della GPU virtuale (vGPU) NVIDIA GRID. È inoltre possibile configurare altri dispositivi PCI su un host ESXi per renderli disponibili a una macchina virtuale in modalità passthrough.

Distribuzione di una macchina virtuale con vGPU in vSphere IaaS control plane

I dispositivi grafici NVIDIA GRID GPU sono progettati per ottimizzare operazioni grafiche complesse e consentirne l'esecuzione con prestazioni elevate senza sovraccaricare la CPU. NVIDIA GRID vGPU offre prestazioni grafiche senza precedenti, efficienza dei costi e scalabilità grazie alla condivisione di una singola GPU fisica tra più macchine virtuali come dispositivi passthrough separati abilitati per vGPU.

Considerazioni

Quando si utilizza NVIDIA vGPU, è necessario fare le considerazioni seguenti:
  • Il Supervisore a tre zone non supporta le macchine virtuali con vGPU.
  • Le macchine virtuali con dispositivi vGPU gestiti dal servizio della macchina virtuale vengono disattivate automaticamente quando un host ESXi passa alla modalità di manutenzione. Questa operazione potrebbe influire temporaneamente sui carichi di lavoro in esecuzione nelle macchine virtuali. Le macchine virtuali vengono accese automaticamente dopo che nell'host è presente la modalità di manutenzione.
  • DRS distribuisce le macchine virtuali vGPU in ampiezza negli host del cluster. Per ulteriori informazioni, vedere Posizionamento DRS delle macchine virtuali vGPU nella guida Gestione delle risorse di vSphere.

Requisiti

Per configurare NVIDIA vGPU, attenersi ai seguenti prerequisiti:

  • Verificare che ESXi sia supportato nella Guida alla compatibilità di VMware e controllare con il vendor che l'host soddisfi i requisiti di alimentazione e configurazione.
  • Configurare le impostazioni grafiche dell'host ESXi con almeno un dispositivo in modalità Condiviso diretta. Vedere Configurazione della grafica dell'host nella documentazione Gestione delle risorse di vSphere.
  • La libreria di contenuti utilizzata per le macchine virtuali con dispositivi vGPU deve includere immagini con la modalità di avvio impostata su EFI, ad esempio CentOS.
  • Installare il software NVIDIA vGPU. NVIDIA fornisce un pacchetto software vGPU che include i seguenti componenti.

    Per ulteriori informazioni, vedere la documentazione appropriata del software NVIDIA Virtual GPU.

Aggiunta di un dispositivo vGPU a una classe di macchine virtuali tramite vSphere Client

Creare o modificare una classe di macchine virtuali esistente per aggiungere una GPU virtuale (vGPU) NVIDIA GRID.

Prerequisiti

Privilegi richiesti:
  • Spazio dei nomi.Modifica configurazione a livello di cluster
  • Spazio dei nomi.Modifica configurazione spazio dei nomi
  • Virtual Machine Classes.Manage Virtual Machine Classes

Procedura

  1. Creare o modificare una classe di macchine virtuali esistente.
    Opzione Azione
    Crea una nuova classe di macchine virtuali
    1. Dal menu home di vSphere Client, selezionare Gestione carico di lavoro.
    2. Fare clic sulla scheda Servizi quindi su Gestisci nel riquadro Servizio macchina virtuale.
    3. Nella pagina Servizio macchina virtuale, fare clic su Classi di macchine virtuali quindi su Crea classe di macchine virtuali.
    4. Seguire le istruzioni visualizzate.
    Modifica classe macchina virtuale
    1. Dal menu home di vSphere Client, selezionare Gestione carico di lavoro.
    2. Fare clic sulla scheda Servizi quindi su Gestisci nel riquadro Servizio macchina virtuale.
    3. Nella pagina Servizio macchina virtuale, fare clic su Classi di macchine virtuali.
    4. Nel riquadro della classe di macchine virtuali esistente, fare clic su Gestisci e poi su Modifica.
    5. Seguire le istruzioni visualizzate.
  2. Nella pagina Configurazione fare clic sulla scheda Hardware virtuale, fare clic su Aggiungi nuovo dispositivo e selezionare Dispositivo PCI.
    Opzione Dispositivo PCI nel menu Aggiungi nuovo dispositivo
  3. Nell'elenco dei dispositivi disponibili nella pagina Selezione del dispositivo selezionare la vGPU NVIDIA GRID e fare clic su Seleziona.
    Il dispositivo viene visualizzato nella pagina Hardware virtuale.
  4. Fare clic sulla scheda Parametri avanzati e impostare i parametri con gli attributi e i valori seguenti.
    Opzione Descrizione
    Parametro Valore
    pciPassthru0.cfg.enable_uvm 1
    pciPassthru1.cfg.enable_uvm 1
    Aggiunta di attributi e valori per i parametri avanzati
  5. Rivedere la configurazione e fare clic su Fine.

risultati

Un tag Dispositivi PCI nel riquadro della classe di macchine virtuali indica che la classe di macchine virtuali è abilitata per vGPU.

Tag Dispositivi PCI nel riquadro della classe di macchine virtuali

Aggiunta di un dispositivo vGPU a una classe di macchine virtuali tramite la CLI del Data Center

Oltre a vSphere Client, è possibile utilizzare il comando della CLI del data center (DCLI) per aggiungere vGPU e configurazioni avanzate.

Per ulteriori informazioni sui comandi di DCLI, vedere Creazione e gestione di classi di macchine virtuali utilizzando la CLI del data center.

Procedura

  1. Accedere a vCenter Server utilizzando l'account utente root e digitare dcli +i per utilizzare DCLI in modalità interattiva.
  2. Eseguire il comando seguente per creare una classe di macchine virtuali.
    Nell'esempio seguente, la classe di macchine virtuali my-class include due CPU, 2048 di memoria e una VirtualMachineConfigSpec con due profili vGPU di esempio, mockup-vmiop-8c e mockup-vmiop. I campi extraConfig pciPassthru0.cfg.enable_uvm e pciPassthru1.cfg.enable_uvm sono impostati su 1.
    dcli +i +show-unreleased com vmware vcenter namespacemanagement virtualmachineclasses create --id my-class --cpu-count 2 --memory-mb 2048 --config-spec '{"_typeName":"VirtualMachineConfigSpec","deviceChange":[{"_typeName":"VirtualDeviceConfigSpec","operation":"add","device":{"_typeName":"VirtualPCIPassthrough","key":20,"backing":{"_typeName":"VirtualPCIPassthroughVmiopBackingInfo","vgpu":"mockup-vmiop-8c"}}},{"_typeName":"VirtualDeviceConfigSpec","operation":"add","device":{"_typeName":"VirtualPCIPassthrough","key":20,"backing":{"_typeName":"VirtualPCIPassthroughVmiopBackingInfo","vgpu":"mockup-vmiop"}}}],"extraConfig":[{"_typeName":"OptionValue","key":"pciPassthru0.cfg.enable_uvm","value":{"_typeName":"string","_value":"1"}},{"_typeName":"OptionValue","key":"pciPassthru1.cfg.enable_uvm","value":{"_typeName":"string","_value":"1"}}]}'
    

Installare il driver guest NVIDIA in una macchina virtuale in vSphere IaaS control plane

Se la macchina virtuale include un dispositivo PCI configurato per la vGPU, dopo aver creato e avviato la macchina virtuale nell'ambiente vSphere IaaS control plane, installare il driver grafico NVIDIA vGPU per abilitare completamente le operazioni della GPU.

Prerequisiti

  • Distribuire la macchina virtuale con vGPU. Assicurarsi che il file YAML della macchina virtuale faccia riferimento alla classe di macchine virtuali con definizione della vGPU. Vedere Distribuzione di una macchina virtuale in vSphere IaaS control plane.
  • Verificare di aver scaricato il pacchetto software vGPU dal sito di download di NVIDIA, di aver decompresso il pacchetto e che il componente driver guest sia pronto. Per informazioni, vedere la documentazione relativa al software NVIDIA Virtual GPU.
    Nota: La versione del componente driver deve corrispondere alla versione di vGPU Manager installata da un amministratore di vSphere nell'host ESXi.

Procedura

  1. Copiare il pacchetto del driver Linux del software NVIDIA vGPU, ad esempio NVIDIA-Linux-x86_64-version-grid.run, nella macchina virtuale guest.
  2. Prima di tentare di eseguire il programma di installazione del driver, terminare tutte le applicazioni.
  3. Avviare il programma di installazione del driver NVIDIA vGPU.
    sudo ./NVIDIA-Linux-x86_64-version-grid.run
  4. Accettare il contratto di licenza del software NVIDIA e selezionare per aggiornare automaticamente le impostazioni di configurazione di X.
  5. Verificare che il driver sia stato installato.
    Ad esempio,
    ~$ nvidia-smi
    Wed May 19 22:15:04 2021
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 460.63       Driver Version: 460.63       CUDA Version: 11.2     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  GRID V100-4Q        On   | 00000000:02:00.0 Off |                  N/A|
    | N/AN/AP0    N/A/  N/A|    304MiB /  4096MiB |      0%      Default |
    |                               |                      |                  N/A|
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+

Distribuzione di una macchina virtuale con dispositivi PCI in vSphere IaaS control plane

Oltre a vGPU, è possibile configurare altri dispositivi PCI in un host ESXi per renderli disponibili per una macchina virtuale in modalità passthrough.

vSphere IaaS control plane supporta dispositivi I/O DirectPath dinamico. Utilizzando I/O DirectPath dinamico, la macchina virtuale può accedere direttamente ai dispositivi PCI e PCIe fisici connessi a un host. È possibile utilizzare I/O DirectPath dinamico per assegnare più dispositivi passthrough PCI a una macchina virtuale. Ogni dispositivo passthrough può essere specificato dal relativo fornitore e identificatore dispositivo PCI.
Nota: Quando si configura I/O DirectPath dinamico per i dispositivi passthrough PCI, connettere i dispositivi PCI all'host e contrassegnarli come disponibili per il passthrough. Vedere Abilitazione del passthrough per un dispositivo di rete in un host nella documentazione Rete di vSphere.