Come posso risolvere gli errori Xid sulla mia istanza Linux EC2 accelerata da GPU NVIDIA?

7 minuti di lettura
0

Quando eseguo la mia applicazione su un'istanza Linux di Amazon Elastic Compute Cloud (Amazon EC2) con accelerazione GPU NVIDIA, la mia applicazione si blocca. Inoltre, ricevo errori Xid specifici della GPU nel log di sistema. Desidero recuperare informazioni diagnostiche dalla GPU e risolvere gli errori Xid relativi alla GPU.

Risoluzione

Nota: la seguente risoluzione risolve i problemi relativi ai tipi di istanza G4, G5 e G6. Le GPU vengono trasferite alle istanze guest per tutte le famiglie di istanze EC2 accelerate da GPU.

Recupera la diagnostica nvidia-smi

Utilizza lo strumento nvidia-smi per recuperare statistiche e diagnostica sullo stato e le prestazioni delle GPU NVIDIA collegate all'istanza. Il driver GPU NVIDIA fornisce automaticamente lo strumento e include tutte le opzioni AWS Deep Learning Amazon Machine Image (DLAMI). Per informazioni sull'installazione del driver GPU NVIDIA per qualsiasi famiglia di istanze GPU, consulta Opzioni di installazione.

Esegui il comando sudo nvidia-smi -q per interrogare le statistiche.

Esempio di statistiche sulla memoria:

ECC Errors
        Volatile                              # Errors counted since last GPU driver reload
            SRAM Correctable            : 0
            SRAM Uncorrectable          : 0
            DRAM Correctable            : 0
            DRAM Uncorrectable          : 0
        Aggregate                             # Errors counted for the life of the GPU
            SRAM Correctable            : 0
            SRAM Uncorrectable          : 0
            DRAM Correctable            : 0
            DRAM Uncorrectable          : 0

Tutte le generazioni di GPU NVIDIA registrano statistiche aggregate e volatili sulla memoria dell'hardware della GPU. I contatori di errori ECC aggregati persistono per tutta la durata della GPU. Poiché il valore positivo potrebbe derivare da un problema passato, devi controllare anche le metriche volatili. Gli errori ECC volatili vengono incrementati da zero dall'ultima volta che il driver GPU è stato ricaricato.

Gli errori ECC non corretti aumentano nel corso della vita dell'istanza. Puoi tuttavia correggere gli errori ECC. Per reimpostare il contatore, riavvia l'istanza o reimposta la GPU. A seconda del tipo di istanza e della generazione della GPU, un riavvio avvia il ritiro della pagina o la rimappatura delle righe per le pagine con memoria danneggiata.

Istanze P3, P3dn, G4dn:

    Retired Pages
        Single Bit ECC              : 0
        Double Bit ECC              : 0
        Pending Page Blacklist      : No

Le prime generazioni di GPU NVIDIA utilizzano il ritiro dinamico delle pagine. Puoi ignorare gli errori a bit singolo perché in genere non causano problemi.

Se il firmware della GPU identifica errori a doppio bit, la GPU interrompe l'elaborazione e causa la chiusura improvvisa dell'applicazione. Se si verificano errori a doppio bit, il sistema operativo (OS) registra un errore Xid e lo stato della lista nera delle pagine in sospeso è . Per risolvere questi errori, riavvia l'istanza per ritirare la posizione di memoria danneggiata. Dopo il riavvio, lo stato della lista nera delle pagine in sospeso viene reimpostato su No.

Nota: i contatori di errore persistono per tutta la durata della GPU. Un contatore diverso da zero all'avvio dell'istanza non significa che sia presente un problema hardware attivo o una GPU difettosa.

Istanze P4d, P4de, G5, G5G e G6:

    Remapped Rows        Correctable Error                 : 0 # Can safely ignore.
        Uncorrectable Error               : 0 # If > 0, review system logs for Xid errors
        Pending                           : No # If Yes, an instance reboot or GPU reset is required.
        Remapping Failure Occurred        : No # Should always be No. If Yes, please stop/start the instance.

Le famiglie di istanze successive con GPU A100 e A10G isolano e contengono errori di memoria con una rimappatura delle righe che impedisce il riutilizzo di posizioni di memoria degradate note. La modifica della rimappatura delle righe sostituisce lo schema di ritiro delle pagine nelle GPU di generazione precedente.

Puoi ignorare gli errori di memoria correggibili. Gli errori non correggibili possono causare errori o chiusure improvvise dell'applicazione e vengono registrati nel log del sistema operativo (OS) come errori Xid.

Quando un errore non correggibile attiva righe rimappate in sospeso, devi reimpostare la GPU per ritirare la posizione di memoria non valida. Riavvia l'istanza per reimpostare la GPU. Oppure esegui il seguente comando per reimpostare manualmente la GPU:

sudo nvidia-smi -i GPU_UUID -r

Nota: sostituisci GPU_UUID con l'ID della tua GPU.

Se si verifica un errore di rimappatura, arresta e avvia l'istanza affinché migri su un nuovo host sottostante con una GPU integra.

Nota: AWS esegue una diagnostica regolare per rilevare e sostituire automaticamente le GPU non integre.

Risolvi le modalità di errore

Il driver GPU per tutte le generazioni di GPU NVIDIA scrive gli errori nei log del sistema operativo (OS) come errori Xid. Per ulteriori informazioni su questi errori, consulta Xid errors (Errori Xid) sul sito web di NVIDIA.

Numero errato di GPU o GPU mancanti

Per visualizzare tutte le GPU collegate, esegui il seguente comando:

nvidia-smi --list-gpus | wc -l

Nell'output del comando, assicurati che il numero di GPU collegate corrisponda al numero previsto di GPU per il tuo tipo di istanza. Se manca una GPU, arresta e avvia l'istanza.

Puoi inoltre utilizzare i passaggi di risoluzione dei problemi precedenti per risolvere i seguenti esempi di errore ECC:

  • "Xid 48: A DBE has occurred"
  • "Xid 63: A page has successfully been retired"
  • "Xid 64: A page has failed retirement due to an error"

NVRM: Xid 79 (PCI:0000:00:00): GPU has fallen off the bus

L'errore Xid 79 si verifica quando l'istanza perde la comunicazione con la GPU sottostante. Per risolvere il problema, riavvia l'istanza. Se il problema persiste dopo il riavvio, arresta e avvia l'istanza.

WARNING: infoROM is corrupted at gpu 0000:00:00.0

L'errore InfoROM is corrupted si verifica quando una parte del firmware della GPU è danneggiata. Per risolvere il problema, riavvia l'istanza o reimposta la GPU. Se il problema persiste dopo il riavvio, arresta e avvia l'istanza.

NVRM: Xid 119 PCI:0000:00:00): Timeout waiting for RPC from GSP

-oppure-

NVRM: Xid 120 PCI:0000:00:00): GSP Error: Task 1 raised error code

Gli errori precedenti si verificano quando attivi il GSP (GPU Systems Processor). Per risolvere il problema, disattiva il GSP dal driver GPU o dal modulo del kernel. Per istruzioni sulla disattivazione del GSP, consulta 4.2.6. Disabling GSP firmware (4.2.6. Disattivazione del firmware GSP) sul sito web di NVIDIA.

Evita futuri errori Xid

Quando possibile, utilizza il driver e il runtime CUDA più recenti. Le versioni dei driver GPU spesso introducono correzioni, miglioramenti e ottimizzazioni. Tuttavia, gli aggiornamenti potrebbero contenere anche modifiche funzionali. Prima effettua lo staging e il test degli aggiornamenti dei driver sulle istanze GPU non di produzione.

Le GPU hanno una velocità di clock del core e della memoria che cambia dinamicamente a seconda del carico. Per migliorare le prestazioni, imposta sempre la velocità di clock massima del core della GPU e della memoria.

Disattiva il GSP. Nelle ultime generazioni di istanze, le GPU NVIDIA includono la funzionalità firmware GSP. Per istruzioni sulla disattivazione del GSP, consulta 4.2.6. Disabling GSP firmware (4.2.6. Disattivazione del firmware GSP) sul sito web di NVIDIA.

Inoltre, utilizza l'agente Amazon CloudWatch per monitorare le metriche delle GPU.

Se completi i passaggi precedenti per la risoluzione dei problemi e continui a riscontrare errori Xid, richiedi assistenza al Supporto AWS. Per farlo, fornisci l'ID dell'istanza e l'output del comando nvidia-smi -q. Inoltre, esegui il comando sudo nvidia-bug-report.sh incluso nel driver GPU NVIDIA. Lo script nvidia-bug-report.sh acquisisce i log delle chiavi e altre informazioni diagnostiche nella directory di lavoro corrente. Alla richiesta di assistenza allega il file di log compresso nvidia-bug-report.log.gz.

AWS UFFICIALEAggiornata 4 mesi fa