L'intégration du gestionnaire GPU de centre de données (DCGM) NVIDIA collecte des métriques clés avancées de GPU à partir de DCGM. L'agent Ops peut être configuré pour collecter l'un des deux ensembles de métriques différents en sélectionnant la version du récepteur dcgm
:
- La version 2 du récepteur
dcgm
fournit un ensemble de métriques sélectionné pour surveiller les performances et l'état des GPU associés à une instance de VM donnée. - La version 1 du récepteur
dcgm
fournit un ensemble de métriques de profilage destinées à être utilisées avec les métriques GPU par défaut. Pour en savoir plus sur l'objectif et l'interprétation de ces métriques, consultez la page Métriques de profilage dans la présentation de la fonctionnalité DCGM.
Pour en savoir plus sur le gestionnaire GPU de centre de données (DCGM) NVIDIA, consultez la documentation DCGM. Cette intégration est compatible avec les versions 3.1 et ultérieures de DCGM.
Ces métriques ne sont disponibles que pour les systèmes Linux. Les métriques de profilage ne sont pas collectées à partir des modèles de GPU NVIDIA P100 et P4.
Prérequis
Pour collecter des métriques NVIDIA DCGM, procédez comme suit:
-
- Métriques de la version 1: version 2.38.0 ou ultérieure de l'agent Ops Seules les versions 2.38.0 ou 2.41.0 ou ultérieures de l'agent Ops sont compatibles avec la surveillance GPU. N'installez pas les versions 2.39.0 et 2.40.0 de l'agent Ops sur les VM auxquelles sont associés des GPU. Pour en savoir plus, consultez la page Plantages de l'agent et rapports mentionnant NVIDIA.
- Métriques de la version 2: version 2.51.0 ou ultérieure de l'agent Ops.
Installer DCGM et vérifier l'installation
Vous devez installer la version 3.1 ou ultérieure de DCGM, et vous assurer qu'elle s'exécute en tant que service privilégié. Pour installer DCGM, consultez la section Installation de la documentation de DCGM.
Pour vérifier que DCGM fonctionne correctement, procédez comme suit :
Vérifiez l'état du service DCGM en exécutant la commande suivante :
sudo service nvidia-dcgm status
Si le service est en cours d'exécution, le service
nvidia-dcgm
est répertorié en tant queactive (running)
. Le résultat se présente comme suit :● nvidia-dcgm.service - NVIDIA DCGM service Loaded: loaded (/usr/lib/systemd/system/nvidia-dcgm.service; disabled; vendor preset: enabled) Active: active (running) since Sat 2023-01-07 15:24:29 UTC; 3s ago Main PID: 24388 (nv-hostengine) Tasks: 7 (limit: 14745) CGroup: /system.slice/nvidia-dcgm.service └─24388 /usr/bin/nv-hostengine -n --service-account nvidia-dcgm
Vérifiez que les appareils GPU sont trouvés en exécutant la commande suivante :
dcgmi discovery --list
Si des appareils sont détectés, le résultat se présente comme suit :
1 GPU found. +--------+----------------------------------------------------------------------+ | GPU ID | Device Information | +--------+----------------------------------------------------------------------+ | 0 | Name: NVIDIA A100-SXM4-40GB | | | PCI Bus ID: 00000000:00:04.0 | | | Device UUID: GPU-a2d9f5c7-87d3-7d57-3277-e091ad1ba957 | +--------+----------------------------------------------------------------------+
Configurer l'Agent Ops pour DCGM
En suivant le guide de configuration de l'agent Ops, ajoutez les éléments requis pour collecter les données de télémétrie de votre service DCGM et redémarrez l'agent.
Exemple de configuration
Les commandes suivantes créent la configuration permettant de collecter et d'ingérer les métriques de la version 2 du récepteur pour NVIDIA DCGM, et de redémarrer l'agent Ops:
Si vous souhaitez collecter uniquement les métriques de profilage DCGM, remplacez la valeur du champ receiver_version
par 1
. Vous pouvez également supprimer complètement l'entrée receiver_version
. La version par défaut est 1
.
Vous ne pouvez pas utiliser les deux versions en même temps.
Après avoir exécuté ces commandes, vous pouvez vérifier que l'agent a redémarré. Exécutez la commande suivante et vérifiez que les composants du sous-agent "Metrics Agent" (Agent de métriques) et "Logging Agent" (Agent Logging) sont répertoriés comme "active" (en cours d'exécution) :
sudo systemctl status google-cloud-ops-agent"*"
Si vous utilisez un compte de service personnalisé au lieu du compte de service Compute Engine par défaut, ou si vous disposez d'une très ancienne VM Compute Engine, vous devrez peut-êtreautoriser l'Agent Ops.
Configurer la collecte de métriques
Pour ingérer des métriques à partir de NVIDIA DCGM, vous devez créer un récepteur pour les métriques produites par NVIDIA DCGM, puis créer un pipeline pour le nouveau récepteur.
Ce récepteur ne permet pas d'utiliser plusieurs instances dans la configuration, par exemple pour surveiller plusieurs points de terminaison. Toutes ces instances écrivent dans la même série temporelle, et Cloud Monitoring n'a aucun moyen de les distinguer.
Pour configurer un récepteur pour vos métriques dcgm
, spécifiez les champs suivants :
Champ | Par défaut | Description |
---|---|---|
collection_interval |
60s |
Une valeur time duration, telle que 30s ou 5m . |
endpoint |
localhost:5555 |
Adresse du service DCGM, au format host:port . |
receiver_version |
1 |
1 ou 2. La version 2 propose de nombreuses autres métriques. |
type |
Cette valeur doit être dcgm . |
Métriques surveillées
Les tableaux suivants fournissent la liste des métriques que l'agent Ops collecte à partir de l'instance NVIDIA DGCM. Toutes les métriques ne sont pas disponibles pour tous les modèles de GPU. Les métriques de profilage ne sont pas collectées à partir des modèles de GPU NVIDIA P100 et P4.
Métriques de la version 1
Les métriques suivantes sont collectées à l'aide de la version 1 du récepteur dcgm
.
Type de métrique | |
---|---|
Genre, type Ressources surveillées |
Étiquettes |
workload.googleapis.com/dcgm.gpu.profiling.dram_utilization †
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/dcgm.gpu.profiling.nvlink_traffic_rate †
|
|
GAUGE , INT64 gce_instance |
direction gpu_number model uuid
|
workload.googleapis.com/dcgm.gpu.profiling.pcie_traffic_rate †
|
|
GAUGE , INT64 gce_instance |
direction gpu_number model uuid
|
workload.googleapis.com/dcgm.gpu.profiling.pipe_utilization †
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model pipe ‡uuid
|
workload.googleapis.com/dcgm.gpu.profiling.sm_occupancy †
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/dcgm.gpu.profiling.sm_utilization †
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
† Non disponible sur les modèles de GPU P100 et P4.
‡ Pour L4, la valeur pipe
fp64
n'est pas prise en charge.
Métriques de la version 2
Les métriques suivantes sont collectées à l'aide de la version 2 du récepteur dcgm
.
Type de métrique | |
---|---|
Genre, type Ressources surveillées |
Étiquettes |
workload.googleapis.com/gpu.dcgm.clock.frequency
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.clock.throttle_duration.time
|
|
CUMULATIVE , DOUBLE gce_instance |
gpu_number model uuid violation †
|
workload.googleapis.com/gpu.dcgm.codec.decoder.utilization
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.codec.encoder.utilization
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.ecc_errors
|
|
CUMULATIVE , INT64 gce_instance |
error_type gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.energy_consumption
|
|
CUMULATIVE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.memory.bandwidth_utilization
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.memory.bytes_used
|
|
GAUGE , INT64 gce_instance |
gpu_number model state uuid
|
workload.googleapis.com/gpu.dcgm.nvlink.io ‡
|
|
CUMULATIVE , INT64 gce_instance |
direction gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.pcie.io ‡
|
|
CUMULATIVE , INT64 gce_instance |
direction gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.pipe.utilization ‡
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model pipe §uuid
|
workload.googleapis.com/gpu.dcgm.sm.utilization ‡
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.temperature
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.utilization
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
† Pour les P100 et P4, seules les valeurs violation
power
, thermal
et sync_boost
sont acceptées.
‡ Non disponible sur les modèles de GPU P100 et P4.
§ Pour L4, la valeur pipe
fp64
n'est pas prise en charge.
Métriques concernant les GPU
En outre, la configuration intégrée de l'Agent Ops collecte également les métriques agent.googleapis.com/gpu
, qui sont signalées par la
bibliothèque de gestion (NVML) NVIDIA.
Vous n'avez pas besoin de configuration supplémentaire dans l'agent Ops pour collecter ces métriques, mais vous devez créer votre VM avec des GPU associés et installer le pilote de GPU. Pour en savoir plus, consultez la section À propos des métriques gpu
. Les métriques de la version 1 du récepteur dcgm
sont conçues pour compléter ces métriques par défaut, tandis que les métriques de la version 2 du récepteur dcgm
sont destinées à être autonomes.
Vérifier la configuration
Cette section explique comment vérifier que vous avez bien configuré le récepteur NVIDIA DCGM. La collecte de la télémétrie par l'agent Ops peut prendre une ou deux minutes.
Pour vérifier que les métriques NVIDIA DCGM sont envoyées à Cloud Monitoring, procédez comme suit :
-
Dans la console Google Cloud, accédez à la page leaderboardExplorateur de métriques :
Accéder à l'explorateur de métriques
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.
- Dans la barre d'outils du volet de création de requêtes, sélectionnez le bouton nommé code MQL ou code PromQL.
- Vérifiez que MQL est sélectionné dans le bouton d'activation Langage. Le bouton de langage se trouve dans la barre d'outils qui vous permet de mettre en forme votre requête.
- Pour les métriques v1, saisissez la requête suivante dans l'éditeur, puis cliquez sur Exécuter la requête :
fetch gce_instance | metric 'workload.googleapis.com/dcgm.gpu.profiling.sm_utilization' | every 1m
- Pour les métriques v2, saisissez la requête suivante dans l'éditeur, puis cliquez sur Exécuter :
fetch gce_instance | metric 'workload.googleapis.com/gpu.dcgm.sm.utilization' | every 1m
Afficher le tableau de bord
Pour afficher vos métriques NVIDIA DCGM, vous devez configurer un graphique ou un tableau de bord. L'intégration NVIDIA DCGM inclut un ou plusieurs tableaux de bord. Tous les tableaux de bord sont automatiquement installés après la configuration de l'intégration et que l'agent Ops a commencé à collecter des données de métriques.
Vous pouvez également afficher des aperçus statiques de tableaux de bord sans installer l'intégration.
Pour afficher un tableau de bord installé, procédez comme suit :
-
Dans la console Google Cloud, accédez à la page Tableaux de bord .
Accéder à la page Tableaux de bord
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.
- Sélectionnez l'onglet Liste des tableaux de bord, puis choisissez la catégorie Intégrations.
- Cliquez sur le nom du tableau de bord que vous souhaitez afficher.
Si vous avez configuré une intégration, mais que le tableau de bord n'a pas été installé, vérifiez que l'agent Ops est en cours d'exécution. Lorsqu'un graphique ne contient aucune donnée de métrique, l'installation du tableau de bord échoue. Une fois que l'agent Ops a commencé à collecter des métriques, le tableau de bord est installé.
Pour afficher un aperçu statique du tableau de bord, procédez comme suit :
-
Dans la console Google Cloud, accédez à la page Intégrations :
Accéder à la page Intégrations
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.
- Cliquez sur le filtre de plate-forme de déploiement Compute Engine.
- Recherchez l'entrée pour NVIDIA DCGM, puis cliquez sur Afficher les détails.
- Cliquez sur l'onglet Tableaux de bord pour afficher un aperçu statique. Si le tableau de bord est installé, vous pouvez y accéder en cliquant sur Afficher le tableau de bord.
Pour en savoir plus sur les tableaux de bord dans Cloud Monitoring, consultez la page Tableaux de bord et graphiques.
Pour en savoir plus sur l'utilisation de la page Intégrations, consultez la page Gérer les intégrations.
Limites DCGM et mise en pause du profilage
L'utilisation simultanée de DCGM peut entrer en conflit avec l'utilisation d'autres outils de développement NVIDIA, tels que Nsight Systems ou Nsight Compute. Cette limite s'applique aux GPU NVIDIA A100 et versions antérieures. Pour en savoir plus, consultez la section Profiler le taux d'échantillonnage dans la fonctionnalité DCGM.
Lorsque vous devez utiliser des outils tels que les systèmes Nsight sans interruption importante, vous pouvez suspendre ou reprendre temporairement la collecte des métriques à l'aide des commandes suivantes :
dcgmi profile --pause dcgmi profile --resume
Lorsque le profilage est suspendu, aucune des métriques DCGM collectées par l'Agent Ops n'est émise par la VM.
Étape suivante
Pour accéder à un tutoriel pas à pas expliquant comment utiliser Ansible pour installer l'agent Ops, configurer une application tierce et installer un exemple de tableau de bord, consultez la vidéo Install the Ops Agent to troubleshoot third-party applications (Installer l'agent Ops pour résoudre les problèmes liés à des applications tierces).