Résoudre les problèmes liés aux VM GPU


Cette page explique comment résoudre les problèmes liés aux VM exécutées sur Compute Engine auxquelles sont associés des GPU.

Si vous essayez de créer une VM avec des GPU associés et que vous obtenez des erreurs, consultez les pages Résoudre les erreurs de disponibilité des ressources et Résoudre les problèmes de création et de mise à jour de VM.

Résoudre les problèmes liés aux VM GPU à l'aide de NVIDIA DCGM

Le gestionnaire de GPU du centre de données (DCGM) NVIDIA est une suite d'outils permettant de gérer et de surveiller les GPU des centres de données NVIDIA dans les environnements de clusters.

Si vous souhaitez utiliser DCGM pour résoudre les problèmes dans votre environnement GPU, procédez comme suit :

  • Vérifiez que vous utilisez le dernier pilote NVIDIA recommandé pour le modèle de GPU associé à votre VM. Pour consulter les versions des pilotes, consultez la page Versions de pilote NVIDIA recommandées.
  • Assurez-vous d'avoir installé la dernière version de DCGM. Pour installer la dernière version, consultez la section Installation de DCGM.

Diagnostiquer les problèmes

Lorsque vous exécutez une commande de diagnostic dcgmi, les problèmes signalés par l'outil de diagnostic incluent les étapes suivantes permettant de prendre des mesures concernant le problème. L'exemple suivant montre le résultat exploitable de la commande 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
                  }
               ]
            }
  .........

L'extrait de résultat précédent montre que GPU 0 comporte des suppressions de page en attente causées par une erreur non récupérable. Le résultat a fourni le paramètre error_id unique et des conseils pour résoudre le problème. Pour cet exemple de résultat, il est recommandé de drainer le GPU et de redémarrer la VM. Dans la plupart des cas, le fait de suivre les instructions de cette section du résultat peut vous aider à résoudre le problème.

Ouvrir un dossier d'assistance

Si vous ne parvenez pas à résoudre les problèmes en suivant les instructions fournies par le résultat de votre exécution de diagnostic dcgmi, vous pouvez ouvrir une demande d'assistance. Lorsque vous ouvrez une demande d'assistance, vous devez fournir les informations suivantes :

  1. La commande exécutée et le résultat renvoyé.
  2. Fichiers journaux adaptés tels que le moteur hôte et les journaux de diagnostic Pour collecter les fichiers journaux requis, vous pouvez exécuter le script gather-dcgm-logs.sh.

    Pour une installation par défaut sur les systèmes basés sur Debian et RPM, ce script se trouve dans /usr/local/dcgm/scripts.

  3. Pour les échecs dcgmi diag, fournissez les fichiers de statistiques des plug-ins ayant échoué. Le fichier de statistiques utilise la convention d'attribution de noms suivante : stats_PLUGIN_NAME.json.

    Par exemple, en cas d'échec du plug-in pcie, incluez le fichier nommé stats_pcie.json.

  4. Informations système et état du pilote NVIDIA. Pour collecter ces informations, vous pouvez exécuter le script nvidia-bug-report.sh.

    L'exécution de ce script permet également d'effectuer un débogage supplémentaire si le problème est causé par d'autres dépendances NVIDIA et non par un bug dans DCGM.

  5. Détails concernant les modifications récentes apportées à votre environnement avant l'échec.

Messages Xid

Après avoir créé une VM à laquelle sont associés des GPU, vous devez installer des pilotes d'appareils NVIDIA sur vos VM GPU afin que vos applications puissent accéder aux GPU. Cependant, ces pilotes renvoient parfois des messages d'erreur.

Un message Xid est un rapport d'erreur du pilote NVIDIA affiché dans le journal de noyau du système d'exploitation ou dans le journal des événements de votre VM Linux. Ces messages sont placés dans le fichier /var/log/messages.

Pour en savoir plus sur les messages Xid, y compris les causes potentielles, consultez la documentation NVIDIA.

La section suivante fournit des conseils sur la gestion de certains messages Xid regroupés par les types les plus courants : erreurs de mémoire de GPU, erreurs de processeur système du GPU (GSP) et erreurs d'accès illégal à la mémoire.

Erreurs de mémoire du GPU

La mémoire du GPU est la mémoire disponible sur un GPU pouvant être utilisé pour le stockage temporaire de données. La mémoire du GPU est protégée par le code de correction d'erreur (ECC), qui détecte et corrige les erreurs à bit unique, et détecte et signale les erreurs à double bit (DBE).

Avant la sortie des GPU NVIDIA A100, la suppression dynamique de page était possible. Pour les versions de GPU NVIDIA A100 et ultérieures (telles que NVIDIA H100), la récupération d'erreur de remappage de ligne est introduite. Le routage ECC est activé par défaut. Nous vous recommandons vivement de laisser le chiffrement ECC activé.

Voici les erreurs courantes de mémoire du GPU et leurs solutions suggérées.

Message d'erreur Xid Solution
Xid 48: Double Bit ECC
  1. Arrêtez vos charges de travail.
  2. Supprimez et recréez la VM. Si l'erreur persiste, déposez une demande auprès du Cloud Customer Care.
Xid 63: ECC page retirement or row remapping recording event
  1. Arrêtez vos charges de travail.
  2. Réinitialisez les GPU.
Xid 64: ECC page retirement or row remapper recording failure

Le message contient les informations suivantes :

Xid 64: All reserved rows for bank are remapped
  1. Arrêtez vos charges de travail.
  2. Supprimez et recréez la VM. Si l'erreur persiste, déposez une demande auprès du Cloud Customer Care.

Si vous recevez au moins deux des messages Xid suivants en même temps :

  • Xid 48
  • Xid 63
  • Xid 64

Le message contient les informations suivantes :

Xid XX: row remap pending
  1. Arrêtez vos charges de travail.
  2. Réinitialisez les GPU. La réinitialisation du GPU permet au processus de remappage des lignes et de suppression de pages de terminer et de réparer le GPU.
Xid 92: High single-bit ECC error rate Ce message Xid est renvoyé une fois que le pilote de GPU a corrigé une erreur récupérable. Cela ne devrait pas affecter vos charges de travail. Ce message Xid n'est fourni qu'à titre d'information. Aucune action n'est requise de votre part.
Xid 94: Contained ECC error
  1. Arrêtez vos charges de travail.
  2. Réinitialisez les GPU.
Xid 95: Uncontained ECC error
  1. Arrêtez vos charges de travail.
  2. Réinitialisez les GPU.

Erreurs GSP

Un processeur système GPU (GSP) est un microcontrôleur qui s'exécute sur des GPU et gère certaines des fonctions de gestion matérielle de bas niveau.

Message d'erreur Xid Solution
Xid 119: GSP RPC timeout
  1. Arrêtez vos charges de travail.
  2. Supprimez et recréez la VM. Si l'erreur persiste, collectez le rapport de bug NVIDIA et déposez une demande auprès du service Cloud Customer Care.
Xid 120: GSP error

Erreurs d'accès illégal à la mémoire

Les Xid suivants sont renvoyés lorsque les applications rencontrent des problèmes d'accès illégal à la mémoire :

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

Les erreurs d'accès à la mémoire illégales sont généralement provoquées par vos charges de travail qui tentent d'accéder à la mémoire déjà libérée ou hors limites. Cela peut être dû à des problèmes tels que le déréférencement d'un pointeur non valide ou d'un tableau de limites sortantes.

Pour résoudre ce problème, vous devez déboguer votre application. Pour déboguer votre application, vous pouvez utiliser cuda-memcheck et CUDA-GDB.

Dans certains cas très rares, la dégradation matérielle peut entraîner l'affichage d'erreurs d'accès à la mémoire illégales. Pour déterminer si le problème concerne votre matériel, utilisez le gestionnaire de GPU du centre de données (DCGM) NVIDIA. Vous pouvez exécuter dcgmi diag -r 3 ou dcgmi diag -r 4 pour exécuter différents niveaux de couverture et de durée des tests. Si vous constatez que le problème concerne le matériel, déposez une demande auprès du Cloud Customer Care.

Autres messages d'erreur Xid courants

Message d'erreur Xid Solution
Xid 74: NVLINK error
  1. Arrêtez vos charges de travail.
  2. Réinitialisez les GPU.
Xid 79: GPU has fallen off the bus

Cela signifie que le pilote ne peut pas communiquer avec le GPU.

Redémarrez la VM.

Réinitialiser les GPU

Certains problèmes peuvent vous obliger à réinitialiser vos GPU. Pour réinitialiser les GPU, procédez comme suit :

  • Pour les VM N1, G2 et A2, redémarrez la VM en exécutant sudo reboot.
  • Pour les VM A3, exécutez nvidia-smi reset GPU.

Si des erreurs persistent après la réinitialisation du GPU, vous devez supprimer et recréer la VM.

Si l'erreur persiste après une suppression et une recréation, déposez une demande auprès du Cloud Customer Care pour déplacer la VM vers l'étape de réparation.