Risolvere i problemi relativi alle VM GPU


Questa pagina mostra come risolvere i problemi relativi alle VM in esecuzione su Compute Engine con GPU collegate.

Se stai tentando di creare una VM con GPU collegate e ricevi errori, consulta la sezione Risoluzione dei problemi relativi alla disponibilità delle risorse e Risoluzione dei problemi relativi alla creazione e all'aggiornamento delle VM.

Risolvere i problemi delle VM GPU utilizzando NVIDIA DCGM

NVIDIA Data Center GPU Manager (DCGM) è una suite di strumenti per la gestione e il monitoraggio delle GPU per data center NVIDIA in ambienti cluster.

Se vuoi utilizzare DCGM per risolvere i problemi nel tuo ambiente GPU, completa quanto segue:

  • Assicurati di utilizzare il driver NVIDIA consigliato più recente per il modello di GPU collegato alla VM. Per esaminare le versioni dei driver, consulta Versioni consigliate dei driver NVIDIA.
  • Assicurati di aver installato la versione più recente di DCGM. Per installare la versione più recente, consulta Installazione di DCGM.

Diagnostica dei problemi

Quando esegui un comando di diagnostica dcgmi, i problemi segnalati dallo strumento di diagnostica includono i passaggi successivi per intervenire. L'esempio riportato di seguito mostra l'output utile del comando dcgmi diag -r memory -j.

{
  ........
   "category":"Hardware",
   "tests":[
      {
         "name":"GPU Memory",
         "results":[
            {
               "gpu_id":"0",
               "info":"GPU 0 Allocated 23376170169
bytes (98.3%)",
               "status":"Fail",
               ""warnings":[
                  {
                     "warning":"Pending page
retirements together with a DBE were detected on GPU 0. Drain the GPU and reset it or reboot the node to resolve this issue.",
                     "error_id":83,
                     "error_category":10,
                     "error_severity":6
                  }
               ]
            }
  .........

Dallo snippet di output precedente, puoi vedere che GPU 0 ha ritiri di pagine in sospeso causati da un errore non recuperabile. L'output ha fornito il error_id univoco e consigli per il debug del problema. Per questo esempio di output, ti consigliamo di scaricare la GPU e riavviare la VM. Nella maggior parte dei casi, seguire le istruzioni riportate in questa sezione dell'output può contribuire a risolvere il problema.

Aprire una richiesta di assistenza

Se non riesci a risolvere i problemi seguendo le indicazioni fornite dall'output dell'esecuzione della diagnostica dcgmi, puoi aprire una richiesta di assistenza. Quando apri una richiesta di assistenza, devi fornire le seguenti informazioni:

  1. Il comando eseguito e l'output restituito.
  2. File di log pertinenti, come il motore host e i log di diagnostica. Per raccogliere i file di log richiesti, puoi eseguire lo script gather-dcgm-logs.sh.

    Per un'installazione predefinita su sistemi Debian e basati su RPM, questo script si trova in /usr/local/dcgm/scripts.

  3. Per gli errori dcgmi diag, fornisci i file delle statistiche per i plug-in che non sono riusciti. Il file delle statistiche utilizza la seguente convenzione di denominazione: stats_PLUGIN_NAME.json.

    Ad esempio, se il plug-in pcie non è riuscito, includi il file denominato stats_pcie.json.

  4. Informazioni sul sistema NVIDIA e stato del driver. Per raccogliere queste informazioni, puoi eseguire lo script nvidia-bug-report.sh.

    L'esecuzione di questo script è utile anche per il debug aggiuntivo se il problema è causato da altre dipendenze NVIDIA e non da un bug nel DCGM stesso.

  5. Dettagli su eventuali modifiche recenti apportate al tuo ambiente precedenti all'errore.

Messaggi Xid

Dopo aver creato una VM con GPU collegate, devi installare i driver di dispositivo NVIDIA sulle VM GPU per consentire alle applicazioni di accedere alle GPU. Tuttavia, a volte questi driver riportano messaggi di errore.

Un messaggio Xid è un report di errore del driver NVIDIA stampato nel log del kernel o nel log eventi del sistema operativo della VM Linux. Questi messaggi vengono inseriti nel file /var/log/messages.

Per saperne di più sui messaggi Xid, incluse le potenziali cause, consulta la documentazione NVIDIA.

La sezione seguente fornisce indicazioni per la gestione di alcuni messaggi Xid raggruppati per i tipi più comuni: errori di memoria GPU, errori del processore di sistema GPU (GSP) ed errori di accesso alla memoria illegale.

Errori di memoria GPU

La memoria GPU è la memoria disponibile su una GPU che può essere utilizzata per lo stoccaggio temporaneo dei dati. La memoria della GPU è protetta con il codice di correzione degli errori (ECC), che rileva e corregge gli errori a singolo bit (SBE) e rileva e segnala gli errori a doppio bit (DBE).

Prima del rilascio delle GPU NVIDIA A100, era supportato il ritiro delle pagine dinamiche. Per le release delle GPU NVIDIA A100 e successive (ad esempio NVIDIA H100), viene introdotto il recupero degli errori di ricalcolo delle righe. ECC è attivo per impostazione predefinita. Google consiglia vivamente di mantenere attiva la funzionalità ECC.

Di seguito sono riportati gli errori comuni relativi alla memoria della GPU e le relative soluzioni suggerite.

Messaggio di errore Xid Risoluzione
Xid 48: Double Bit ECC
  1. Interrompi i carichi di lavoro.
  2. Elimina e ricrea la VM. Se l'errore persiste, presenta una richiesta all'assistenza clienti Google Cloud.
Xid 63: ECC page retirement or row remapping recording event
  1. Interrompi i carichi di lavoro.
  2. Reimposta le GPU.
Xid 64: ECC page retirement or row remapper recording failure

Il messaggio contiene le seguenti informazioni:

Xid 64: All reserved rows for bank are remapped
  1. Interrompi i carichi di lavoro.
  2. Elimina e ricrea la VM. Se l'errore persiste, presenta una richiesta all'assistenza clienti Google Cloud.

Se ricevi almeno due dei seguenti messaggi Xid contemporaneamente:

  • Xid 48
  • Xid 63
  • Xid 64

Il messaggio contiene le seguenti informazioni:

Xid XX: row remap pending
  1. Interrompi i carichi di lavoro.
  2. Reimposta le GPU. Il ripristino della GPU consente di completare la procedura di rimappatura delle righe e del ritiro delle pagine e di riparare la GPU.
Xid 92: High single-bit ECC error rate Questo messaggio Xid viene restituito dopo che il driver della GPU ha corretto un errore correggibile e non dovrebbe influire sui tuoi carichi di lavoro. Questo messaggio Xid è solo informativo. Non è richiesta alcuna azione da parte tua.
Xid 94: Contained ECC error
  1. Interrompi i carichi di lavoro.
  2. Reimposta le GPU.
Xid 95: Uncontained ECC error
  1. Interrompi i carichi di lavoro.
  2. Reimposta le GPU.

Errori GSP

Un processore di sistema GPU (GSP) è un microcontrollore che funziona su GPU e gestisce alcune delle funzioni di gestione dell'hardware a basso livello.

Messaggio di errore Xid Risoluzione
Xid 119: GSP RPC timeout
  1. Interrompi i carichi di lavoro.
  2. Elimina e ricrea la VM. Se l'errore persiste, raccogli la segnalazione di bug di NVIDIA e apri una richiesta con l'assistenza clienti Google Cloud.
Xid 120: GSP error

Errori di accesso alla memoria illegali

I seguenti Xid vengono restituiti quando le applicazioni presentano problemi di accesso alla memoria illegale:

  • Xid 13: Graphics Engine Exception
  • Xid 31: GPU memory page fault

Gli errori di accesso alla memoria illegale sono in genere causati dal tentativo dei carichi di lavoro di accedere alla memoria già liberata o fuori dai limiti. Ciò può essere causato da problemi come il dereferenziamento di un puntatore non valido o da un array fuori intervallo.

Per risolvere il problema, devi eseguire il debug dell'applicazione. Per eseguire il debug della tua applicazione, puoi utilizzare cuda-memcheck e CUDA-GDB.

In alcuni casi molto rari, il degrado dell'hardware potrebbe causare la restituzione di errori di accesso alla memoria illegale. Per identificare se il problema riguarda l'hardware, utilizza NVIDIA Data Center GPU Manager (DCGM). Puoi eseguire dcgmi diag -r 3 o dcgmi diag -r 4 per eseguire diversi livelli di copertura e durata del test. Se identifichi che il problema riguarda l'hardware, invia una richiesta all'assistenza clienti Google Cloud.

Altri messaggi di errore Xid comuni

Messaggio di errore Xid Risoluzione
Xid 74: NVLINK error
  1. Interrompi i carichi di lavoro.
  2. Reimposta le GPU.
Xid 79: GPU has fallen off the bus

Ciò significa che il driver non è in grado di comunicare con la GPU.

Riavvia la VM.

Ripristinare le GPU

Per alcuni problemi potrebbe essere necessario reimpostare le GPU. Per reimpostare le GPU: compila i seguenti passaggi:

  • Per le VM N1, G2 e A2, riavvia la VM eseguendo sudo reboot.
  • Per le VM A3, esegui sudo nvidia-smi --gpu-reset.
    • Per la maggior parte delle VM Linux, l'eseguibile nvidia-smi si trova nella directory /var/lib/nvidia/bin.
    • Per i nodi GKE, l'eseguibile nvidia-smi si trova nella directory /home/kubernetes/bin/nvidia.

Se gli errori persistono dopo il ripristino della GPU, devi eliminare e ricreare la VM.

Se l'errore persiste dopo l'eliminazione e la successiva creazione, invia una richiesta all'assistenza clienti Google Cloud per spostare la VM nella fase di riparazione.

Passaggi successivi

Esamina i tipi di macchine GPU.