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 :
- La commande exécutée et le résultat renvoyé.
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
.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
.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.
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 |
|
Xid 63: ECC page retirement or row remapping recording
event |
|
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
|
|
Si vous recevez au moins deux des messages Xid suivants en même temps :
Le message contient les informations suivantes : Xid XX: row remap pending
|
|
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 |
|
Xid 95: Uncontained ECC error |
|
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 |
|
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 |
|
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.