Fehlerbehebung bei GPU-VMs


Auf dieser Seite wird beschrieben, wie Sie Probleme für VMs beheben, die auf Compute Engine mit angehängten GPUs ausgeführt werden.

Wenn Sie versuchen, eine VM mit angehängten GPUs zu erstellen, und dabei Fehler erhalten, lesen Sie die Informationen unter Fehlerbehebung bei Fehlern bei der Ressourcenverfügbarkeit 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 Monitoring von NVIDIA-Rechenzentrums-GPUs in Clusterumgebungen.

Wenn Sie DCGM zum Beheben von Problemen in Ihrer GPU-Umgebung verwenden möchten, gehen Sie so vor:

  • Verwenden Sie den neuesten empfohlenen NVIDIA-Treiber für das mit Ihrer VM verbundene GPU-Modell. Informationen zu Treiberversionen finden Sie unter Empfohlene NVIDIA-Treiberversionen.
  • Prüfen Sie, ob die neueste Version von DCGM installiert ist. Informationen zum Installieren der neuesten Version finden Sie unter DCGM-Installation.

Probleme diagnostizieren

Wenn Sie den Diagnosebefehl dcgmi ausführen, enthalten die vom Diagnosetool gemeldeten Probleme weitere Schritte, um das Problem zu beheben. 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 Ausgabe-Snippet sehen Sie, dass in GPU 0 ausstehende Seitensperrungen vorliegen, die durch einen nicht behebbaren Fehler verursacht wurden. 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 kann es hilfreich sein, das Problem mit der Anleitung in diesem Abschnitt der Ausgabe zu beheben.

Supportfall eröffnen

Wenn Sie die Probleme nicht mithilfe der Anleitung aus der Ausgabe Ihres Diagnoselaufs dcgmi beheben können, können Sie eine Supportanfrage eröffnen. Wenn Sie eine Supportanfrage 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 Diagnoseprotokolle. Zum Erfassen der erforderlichen Logdateien können Sie das Skript gather-dcgm-logs.sh ausführen.

    Für eine Standardinstallation auf Debian- und RPM-basierten Systemen befindet sich dieses Skript in /usr/local/dcgm/scripts.

  3. Geben Sie bei dcgmi diag-Fehlern die Statistikdateien für die fehlgeschlagenen Plug-ins an. Die Statistikdatei verwendet die folgende Namenskonvention: stats_PLUGIN_NAME.json.

    Wenn beispielsweise das Plug-in pcie fehlgeschlagen ist, fügen Sie die Datei stats_pcie.json ein.

  4. NVIDIA-Systeminformationen und Treiberstatus Zum Erfassen dieser Informationen können Sie das Skript nvidia-bug-report.sh ausführen.

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

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

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-Meldung ist ein Fehlerbericht vom NVIDIA-Treiber, der im Kernel-Log oder im Ereignislog des Betriebssystems für Ihre Linux-VM ausgegeben wird. Diese Nachrichten werden in der Datei /var/log/messages abgelegt.

Weitere Informationen zu Xid-Nachrichten und mögliche 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 und erstellen Sie die VM neu. Wenn der Fehler weiterhin auftritt, stellen Sie eine Anfrage beim 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 und erstellen Sie die VM neu. Wenn der Fehler weiterhin auftritt, stellen Sie eine Anfrage beim 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-Meldung wird zurückgegeben, nachdem der GPU-Treiber einen korrigierbaren Fehler behoben hat. Sie sollte sich nicht auf Ihre Arbeitslasten auswirken. Diese Xid-Meldung dient nur zur Information. 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 Funktionen der Hardwareverwaltung auf niedriger Ebene übernimmt.

Xid-Fehlermeldung Lösung
Xid 119: GSP RPC timeout
  1. Beenden Sie Ihre Arbeitslasten.
  2. Löschen und erstellen Sie die VM neu. Wenn der Fehler weiterhin auftritt, erfassen Sie den NVIDIA-Fehlerbericht und reichen Sie eine Anfrage beim Cloud Customer Care ein.
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 den NVIDIA Data Center GPU Manager (DCGM), um festzustellen, ob das Problem auf Ihre Hardware zurückzuführen ist. 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 auf die Hardware zurückzuführen ist, reichen Sie eine Supportanfrage beim Cloud Customer Care ein.

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.

GPUs zurücksetzen

Bei einigen Problemen müssen Sie möglicherweise Ihre GPUs zurücksetzen. Führen Sie die folgenden Schritte aus, um GPUs zurückzusetzen:

  • Bei N1-, G2- und A2-VMs starten Sie die VM neu, indem Sie sudo reboot ausführen.
  • Führen Sie für A3-VMs nvidia-smi reset GPU aus.

Wenn Fehler nach dem Zurücksetzen der GPU weiterhin bestehen, 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.