Fehlerbehebung bei GPU-VMs

Auf dieser Seite wird beschrieben, wie Sie Probleme mit VMs beheben, die auf Compute Engine ausgeführt werden und an die GPUs angehängt sind.

Wenn Sie versuchen, eine VM mit angehängten GPUs zu erstellen und Fehler erhalten, lesen Sie die Informationen unter Fehler bei der Ressourcenverfügbarkeit beheben und Fehlerbehebung beim Erstellen und Aktualisieren von VMs.

Fehlerbehebung bei GPU-VMs mit NVIDIA DCGM

NVIDIA Data Center GPU Manager (DCGM) ist eine Suite von Tools zum Verwalten und Überwachen von NVIDIA-Rechenzentrum-GPUs in Clusterumgebungen.

Wenn Sie DCGM zur Fehlerbehebung in Ihrer GPU-Umgebung verwenden möchten, gehen Sie so vor:

  • Achten Sie darauf, dass Sie den neuesten empfohlenen NVIDIA-Treiber für das GPU-Modell verwenden, das an Ihre VM angehängt ist. Informationen zu Treiberversionen finden Sie unter Empfohlene NVIDIA-Treiberversionen.
  • Achten Sie darauf, dass Sie die neueste Version von DCGM installiert haben. Informationen zum Installieren der neuesten Version finden Sie unter DCGM-Installation.

Probleme diagnostizieren

Wenn Sie einen dcgmi-Diagnosebefehl ausführen, enthalten die vom Diagnosetool gemeldeten Probleme die nächsten Schritte zur Behebung des Problems. Das folgende Beispiel zeigt die umsetzbare Ausgabe des Befehls 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
                  }
               ]
            }
  .........

Im vorherigen Ausgabeschnipsel sehen Sie, dass für GPU 0 ausstehende Seitendeaktivierungen vorliegen, die durch einen nicht behebaren Fehler verursacht werden. Die Ausgabe enthält die eindeutige error_id und Tipps zur Fehlerbehebung. Für diese Beispielausgabe wird empfohlen, die GPU zu leeren und die VM neu zu starten. In den meisten Fällen können Sie das Problem beheben, wenn Sie die Anleitung in diesem Abschnitt der Ausgabe befolgen.

Supportfall eröffnen

Wenn Sie die Probleme mit der Anleitung in der Ausgabe Ihres dcgmi-Diagnoselaufs nicht beheben können, können Sie einen Supportfall eröffnen. Wenn Sie einen Supportfall eröffnen, müssen Sie die folgenden Informationen angeben:

  1. Der ausgeführte Befehl und die zurückgegebene Ausgabe.
  2. Relevante Logdateien wie Host-Engine- und Diagnoselogs. Um die erforderlichen Logdateien zu erfassen, können Sie das Script gather-dcgm-logs.sh ausführen.

    Bei einer Standardinstallation auf Debian- und RPM-basierten Systemen befindet sich dieses Script in /usr/local/dcgm/scripts.

  3. Bei dcgmi diag-Fehlern geben Sie die Statistikdateien für die Plug-ins an, bei denen ein Fehler aufgetreten ist. Die Statistikdatei verwendet die folgende Namenskonvention: stats_PLUGIN_NAME.json.

    Wenn beispielsweise beim pcie-Plug-in ein Fehler aufgetreten ist, fügen Sie die Datei stats_pcie.json ein.

  4. NVIDIA-Systeminformationen und Treiberstatus. Um diese Informationen zu erfassen, können Sie das Script nvidia-bug-report.sh ausführen. Wenn Sie eine Instanz mit Blackwell-GPUs verwenden, folgen Sie der Anleitung unter NVIDIA-Fehlerbericht für Blackwell-GPUs erstellen, um einen umfassenden Fehlerbericht zu erhalten.

    Die Ausführung dieses Scripts hilft auch bei der zusätzlichen Fehlerbehebung, wenn das Problem durch andere NVIDIA-Abhängigkeiten und nicht durch einen Fehler in DCGM selbst verursacht wird.

  5. Details zu allen kürzlich vorgenommenen Änderungen an Ihrer Umgebung, die vor dem Fehler aufgetreten sind.

Xid-Nachrichten

Nachdem Sie eine VM mit angehängten GPUs erstellt haben, müssen Sie NVIDIA-Gerätetreiber auf Ihren GPU-VMs installieren, damit Ihre Anwendungen auf die GPUs zugreifen können. Manchmal geben diese Treiber jedoch Fehlermeldungen zurück.

Eine Xid-Nachricht ist ein Fehlerbericht des NVIDIA-Treibers, der in das Kernel-Log oder Ereignisprotokoll des Betriebssystems für Ihre Linux-VM geschrieben wird. Diese Nachrichten werden in der Datei /var/log/messages platziert.

Weitere Informationen zu Xid-Nachrichten, einschließlich möglicher Ursachen, finden Sie in der NVIDIA-Dokumentation.

Der folgende Abschnitt enthält Anleitungen zum Umgang mit einigen Xid-Nachrichten, die nach den häufigsten Typen gruppiert sind: GPU-Arbeitsspeicherfehler, GPU-Systemprozessor-Fehler und Fehler bezüglich ungültigen Arbeits-Speicherzugriff.

GPU-Arbeitsspeicherfehler

GPU-Arbeitsspeicher ist der Speicher, der auf einem GPU-Gerät verfügbar ist und zum temporären Speichern von Daten verwendet werden kann. Der GPU-Arbeits-Speicher ist durch den Fehlerkorrekturcode ECC geschützt, der Single-Bit-Fehler (SBE) erkennt und korrigiert und Double-Bit-Fehler (DBE) erkennt und meldet.

Vor der Veröffentlichung der NVIDIA A100-GPUs wurde die dynamische Seitendeaktivierung unterstützt. Für NVIDIA A100- und neuere GPU-Releases (z. B. NVIDIA H100) wird die Wiederherstellung nach Zeilenneuzuordnungsfehlern eingeführt. ECC ist standardmäßig aktiviert. Google empfiehlt dringend, ECC aktiviert zu lassen.

Im Folgenden sind einige häufige GPU-Arbeits-Speicherfehler und ihre empfohlenen Lösungen aufgeführt.

Xid-Fehlermeldung Lösung
Xid 48: Double Bit ECC
  1. Beenden Sie Ihre Arbeitslasten.
  2. Löschen Sie die VM und erstellen Sie sie neu. Wenn der Fehler weiterhin auftritt, senden Sie eine Supportanfrage an den Cloud Customer Care.
Xid 63: ECC page retirement or row remapping recording event
  1. Beenden Sie Ihre Arbeitslasten.
  2. Setzen Sie die GPUs zurück.
Xid 64: ECC page retirement or row remapper recording failure

Die Nachricht enthält die folgenden Informationen:

Xid 64: All reserved rows for bank are remapped
  1. Beenden Sie Ihre Arbeitslasten.
  2. Löschen Sie die VM und erstellen Sie sie neu. Wenn der Fehler weiterhin auftritt, senden Sie eine Supportanfrage an den Cloud Customer Care.

Wenn Sie mindestens zwei der folgenden Xid-Nachrichten zusammen erhalten:

  • Xid 48
  • Xid 63
  • Xid 64

Die Nachricht enthält die folgenden Informationen:

Xid XX: row remap pending
  1. Beenden Sie Ihre Arbeitslasten.
  2. Setzen Sie die GPUs zurück. Wenn Sie die GPU zurücksetzen, können die Zeilen-Neuzuordnung und Seitendeaktivierung abgeschlossen und die GPU repariert werden.
Xid 92: High single-bit ECC error rate Diese Xid-Nachricht wird zurückgegeben, nachdem der GPU-Treiber einen korrigierbaren Fehler behoben hat. Sie sollte sich nicht auf Ihre Arbeitslasten auswirken. Diese Xid Nachricht dient nur zu Informationszwecken. Sie müssen nichts tun.
Xid 94: Contained ECC error
  1. Beenden Sie Ihre Arbeitslasten.
  2. Setzen Sie die GPUs zurück.
Xid 95: Uncontained ECC error
  1. Beenden Sie Ihre Arbeitslasten.
  2. Setzen Sie die GPUs zurück.

Fehler im GSP

Ein GPU-Systemprozessor (GSP) ist ein Mikrocontroller, der auf GPUs ausgeführt wird und einige der Hardwareverwaltungsfunktionen auf niedriger Ebene verarbeitet.

Xid-Fehlermeldung Lösung
Xid 119: GSP RPC timeout
  1. Beenden Sie Ihre Arbeitslasten.
  2. Löschen Sie die VM und erstellen Sie sie neu. Wenn der Fehler weiterhin auftritt, erfassen Sie den NVIDIA-Fehlerbericht und senden Sie eine Supportanfrage an Cloud Customer Care.
Xid 120: GSP error

Ungültiger Arbeitsspeicherzugriff-Fehler

Die folgenden Xids werden zurückgegeben, wenn Anwendungen illegale Arbeits-Speicherzugriffsprobleme haben:

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

Ungültiger Arbeits-Speicherzugriff-Fehler werden normalerweise dadurch verursacht, dass Arbeitslasten versuchen, auf Arbeitsspeicher zuzugreifen, der bereits freigegeben wurde oder außerhalb des zulässigen Bereichs liegt. Dies kann durch Probleme wie die Dereferenzierung eines ungültigen Zeigers oder durch ein Array außerhalb des gültigen Bereichs verursacht werden.

Um dieses Problem zu beheben, müssen Sie Ihre Anwendung debuggen. Zum Debuggen Ihrer Anwendung können Sie cuda-memcheck und CUDA-GDB verwenden.

In einigen sehr seltenen Fällen kann ein Hardwareverschlechterung dazu führen, dass Fehler zu ungültigem Arbeits-Speicherzugriff zurückgegeben werden. Verwenden Sie NVIDIA Data Center GPU Manager (DCGM), um festzustellen, ob das Problem mit Ihrer Hardware zusammenhängt. Sie können dcgmi diag -r 3 oder dcgmi diag -r 4 ausführen, um verschiedene Level an Testabdeckung und -dauer auszuführen. Wenn Sie feststellen, dass das Problem mit der Hardware zusammenhängt, senden Sie eine Supportanfrage an den Cloud Customer Care.

Weitere häufige Xid-Fehlermeldungen

Xid-Fehlermeldung Lösung
Xid 74: NVLINK error
  1. Beenden Sie Ihre Arbeitslasten.
  2. Setzen Sie die GPUs zurück.
Xid 79: GPU has fallen off the bus

Das bedeutet, dass der Treiber nicht mit der GPU kommunizieren kann.

Starten Sie die VM neu.
Xid 149 mit 0x02a, wie im folgenden Beispiel:
Xid (PCI:0000:c0:00): 149,NETIR_LINK_EVT Fatal XC0 i0 Link 04 (0x02a485c6 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000)

Dies weist auf ein bekanntes Problem hin, das die Firmware für NVIDIA B200-GPUs betrifft.

  1. Beenden Sie Ihre Arbeitslasten.
  2. Setzen Sie die GPUs zurück.

GPUs zurücksetzen

Bei einigen Problemen müssen Sie möglicherweise Ihre GPUs zurücksetzen. So setzen Sie GPUs zurück:

  • Starten Sie für N1-, G2- und A2-VMs, die VM neu.
  • Löschen Sie für G4-VMs, an die weniger als eine GPU angehängt ist, die VM und erstellen Sie sie neu.
  • Führen Sie für A3- und A4-VMs sudo nvidia-smi --gpu-reset aus.
    • Bei den meisten Linux-VMs befindet sich die ausführbare Datei nvidia-smi im Verzeichnis /var/lib/nvidia/bin.
    • Bei GKE-Knoten befindet sich die ausführbare Datei nvidia-smi im Verzeichnis /home/kubernetes/bin/nvidia.
    • Wenn Sie GKE-Knoten verwenden, können Sie das gpu-reset-tool verwenden, um das Zurücksetzen aller GPUs auf einem Knoten zu automatisieren. Für dieses Tool müssen Sie nur den Namen des Zielknotens angeben.

Alternativ werden GPUs auch zurückgesetzt, wenn Sie eine VM zurücksetzen oder neu starten.

Wenn die Fehler nach dem Zurücksetzen der GPU weiterhin auftreten, müssen Sie die VM löschen und neu erstellen.

Wenn der Fehler nach einem Löschen und Neuerstellen weiterhin besteht, senden Sie eine Supportanfrage an den Cloud Customer Care, um die VM in die Reparaturphase zu verschieben.

Nächste Schritte

GPUMaschinentypen ansehen.