GPU Monitoring 2.0 associe GPU exporter, Prometheus et Grafana pour assurer l'observabilité des GPU de vos clusters Container Service for Kubernetes (ACK). Le GPU exporter est compatible avec les métriques de l'exporter DCGM et propose également des métriques personnalisées adaptées aux scénarios de partage de GPU.
Les métriques disponibles se répartissent en trois catégories : Métriques de l'exporter DCGM, Métriques personnalisées et Métriques obsolètes.
Facturation
L'utilisation des métriques personnalisées est facturée. Les frais varient selon la taille du cluster et le nombre d'applications. Avant d'activer ces métriques, consultez la page Présentation de la facturation afin de comprendre le modèle tarifaire. Pour suivre votre consommation, reportez-vous à la rubrique Consultez l'utilisation des ressources.
Métriques prises en charge par l'exporter DCGM
Le GPU exporter est compatible avec les métriques de l'exporter DCGM. Pour plus d'informations sur l'exporter DCGM amont, consultez la documentation DCGM exporter.
Métriques d'utilisation
| Metric | Type | Unit | Description |
|---|---|---|---|
DCGM_FI_DEV_GPU_UTIL |
Gauge | % | Taux d'utilisation du GPU échantillonné sur un cycle d'une seconde ou d'un sixième de seconde, selon le modèle de GPU. Un cycle correspond à une période durant laquelle une ou plusieurs fonctions noyau restent actives. Cette métrique indique si le GPU est occupé, mais pas l'intensité de son utilisation. |
DCGM_FI_DEV_MEM_COPY_UTIL |
Gauge | % | Taux d'utilisation de la bande passante mémoire. Par exemple, le GPU V100 offre une bande passante mémoire maximale de 900 Go/s. Si l'utilisation actuelle atteint 450 Go/s, cette métrique renvoie 50 %. |
DCGM_FI_DEV_ENC_UTIL |
Gauge | % | Taux d'utilisation de l'encodeur. |
DCGM_FI_DEV_DEC_UTIL |
Gauge | % | Taux d'utilisation du décodeur. |
Métriques de mémoire
| Metric | Type | Unit | Description |
|---|---|---|---|
DCGM_FI_DEV_FB_FREE |
Gauge | MiB | Mémoire framebuffer libre (mémoire GPU). |
DCGM_FI_DEV_FB_USED |
Gauge | MiB | Mémoire framebuffer utilisée. Correspond à la valeur Memory-Usage renvoyée par nvidia-smi. |
Métriques de profilage
Toutes les valeurs représentent des moyennes calculées sur un cycle, et non des lectures instantanées.
| Metric | Type | Unit | Description |
|---|---|---|---|
DCGM_FI_PROF_GR_ENGINE_ACTIVE |
Gauge | % | Ratio de cycles durant lesquels un moteur graphique ou de calcul est actif, moyenné sur l'ensemble des moteurs. Un moteur est considéré comme actif lorsqu'un contexte graphique ou de calcul est associé au thread et que ce contexte est occupé. |
DCGM_FI_PROF_SM_ACTIVE |
Gauge | % | Ratio de cycles durant lesquels au moins un warp sur un multiprocesseur de streaming (SM) est actif, moyenné sur tous les SM. Un warp est considéré comme actif lorsqu'il est planifié et que des ressources lui sont allouées, qu'il soit en cours de calcul ou en attente (par exemple, en attente d'accès à la mémoire). Si cette valeur descend en dessous de 0,5, l'utilisation du GPU est faible. Visez une valeur supérieure à 0,8 pour une utilisation efficace du GPU. |
DCGM_FI_PROF_SM_OCCUPANCY |
Gauge | % | Ratio des warps résidents sur un SM par rapport au nombre maximal de warps pris en charge par le SM par cycle, moyenné sur tous les SM. Une valeur élevée n'implique pas nécessairement une utilisation accrue du GPU ; elle n'indique une utilisation plus intensive que lorsque la métrique DCGM_FI_PROF_DRAM_ACTIVE révèle que la bande passante mémoire constitue le goulot d'étranglement. |
DCGM_FI_PROF_PIPE_TENSOR_ACTIVE |
Gauge | % | Ratio de cycles durant lesquels le pipeline tensoriel (HMMA/IMMA) est actif. Une valeur élevée signale une utilisation importante des cœurs tensoriels. À 100 %, les instructions tensorielles s'exécutent par intervalles au sein du cycle, chaque instruction nécessitant deux intervalles pour se terminer. Utilisez la métrique DCGM_FI_PROF_SM_ACTIVE pour déterminer si la faible utilisation provient d'un nombre réduit de SM actifs ou de périodes d'activité plus courtes. |
DCGM_FI_PROF_PIPE_FP64_ACTIVE |
Gauge | % | Ratio de cycles durant lesquels le pipeline FP64 (double précision) est actif. Des valeurs élevées indiquent une forte utilisation des cœurs FP64. Sur les GPU Volta, à 100 %, une instruction FP64 s'exécute toutes les quatre « semaines » au sein du cycle. Servez-vous de la métrique DCGM_FI_PROF_SM_ACTIVE pour clarifier les scénarios d'utilisation partielle. |
DCGM_FI_PROF_PIPE_FP32_ACTIVE |
Gauge | % | Ratio de cycles durant lesquels le pipeline FMA (Fused Multiply-Add) est actif. Les opérations FMA incluent les calculs FP32 (simple précision) et les opérations sur entiers. Sur les GPU Volta, à 100 %, une instruction FP32 s'exécute toutes les deux « semaines » au sein du cycle. |
DCGM_FI_PROF_PIPE_FP16_ACTIVE |
Gauge | % | Ratio de cycles durant lesquels le pipeline FP16 (demi-précision) est actif. Sur les GPU Volta, à 100 %, une instruction FP16 s'exécute toutes les deux « semaines » au sein du cycle. |
DCGM_FI_PROF_DRAM_ACTIVE |
Gauge | % | Ratio de cycles durant lesquels l'interface mémoire du périphérique est active pour l'envoi ou la réception de données. La valeur de crête atteignable est d'environ 0,8 (80 %), et non 1,0 (100 %). Combinez cette métrique avec DCGM_FI_PROF_SM_OCCUPANCY pour déterminer si la charge de travail est limitée par la bande passante mémoire. |
DCGM_FI_PROF_PCIE_TX_BYTES / DCGM_FI_PROF_PCIE_RX_BYTES |
Counter | B/s | Débits d'émission et de réception PCIe (Peripheral Component Interconnect Express), incluant les en-têtes de protocole et les charges utiles de données, moyennés sur un cycle. Le débit théorique maximal pour PCIe Gen 3 est de 985 Mo/s par lane. |
DCGM_FI_PROF_NVLINK_TX_BYTES / DCGM_FI_PROF_NVLINK_RX_BYTES |
Counter | B/s | Débits d'émission et de réception NVLink, incluant les en-têtes de protocole et les charges utiles de données, moyennés sur un cycle. Le débit théorique maximal pour NVLink Gen 2 est de 25 Go/s par lane et par direction. |
Métriques d'horloge
| Metric | Type | Unit | Description |
|---|---|---|---|
DCGM_FI_DEV_SM_CLOCK |
Gauge | MHz | Fréquence d'horloge du SM. |
DCGM_FI_DEV_MEM_CLOCK |
Gauge | MHz | Fréquence d'horloge de la mémoire. |
DCGM_FI_DEV_APP_SM_CLOCK |
Gauge | MHz | Fréquence d'horloge applicative du SM. |
DCGM_FI_DEV_APP_MEM_CLOCK |
Gauge | MHz | Fréquence d'horloge applicative de la mémoire. |
DCGM_FI_DEV_CLOCK_THROTTLE_REASONS |
Gauge | MHz | Raison du bridage de la fréquence d'horloge. |
Métriques d'erreurs XID et de violations
Les erreurs XID sont des codes d'erreur du pilote NVIDIA signalés lors de pannes matérielles ou logicielles. Les métriques de violation comptabilisent le temps cumulé (en microsecondes) pendant lequel l'horloge du GPU a été bridée pour chaque cause.
| Metric | Type | Unit | Description |
|---|---|---|---|
DCGM_FI_DEV_XID_ERRORS |
Gauge | - | Dernier code d'erreur XID survenu au cours d'une période donnée. |
DCGM_FI_DEV_POWER_VIOLATION |
Counter | μs | Temps cumulé de bridage de l'horloge dû aux limites de puissance. |
DCGM_FI_DEV_THERMAL_VIOLATION |
Counter | μs | Temps cumulé de bridage de l'horloge dû aux limites thermiques. |
DCGM_FI_DEV_SYNC_BOOST_VIOLATION |
Counter | μs | Temps cumulé de bridage de l'horloge dû aux contraintes de synchronisation (sync boost). |
DCGM_FI_DEV_BOARD_LIMIT_VIOLATION |
Counter | μs | Temps cumulé de bridage de l'horloge dû aux limites au niveau de la carte. |
DCGM_FI_DEV_LOW_UTIL_VIOLATION |
Counter | μs | Temps cumulé de bridage de l'horloge dû à une faible utilisation. |
DCGM_FI_DEV_RELIABILITY_VIOLATION |
Counter | μs | Temps cumulé de bridage de l'horloge dû aux contraintes de fiabilité. |
Métriques BAR1
| Metric | Type | Unit | Description |
|---|---|---|---|
DCGM_FI_DEV_BAR1_USED |
Gauge | MB | Mémoire BAR1 utilisée. |
DCGM_FI_DEV_BAR1_FREE |
Gauge | MB | Mémoire BAR1 libre. |
Métriques de température et de puissance
| Metric | Type | Unit | Description |
|---|---|---|---|
DCGM_FI_DEV_MEMORY_TEMP |
Gauge | C | Température de la mémoire. |
DCGM_FI_DEV_GPU_TEMP |
Gauge | C | Température du GPU. |
DCGM_FI_DEV_POWER_USAGE |
Gauge | W | Consommation électrique actuelle. |
DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION |
Counter | J | Énergie totale consommée depuis le dernier rechargement du pilote. |
Métriques de pages retirées
Les pages de mémoire GPU sont retirées lorsque des erreurs incorrigibles sont détectées. Une augmentation du compte indique une dégradation de l'état de la mémoire GPU.
| Metric | Type | Unit | Description |
|---|---|---|---|
DCGM_FI_DEV_RETIRED_SBE |
Gauge | - | Pages retirées en raison d'erreurs sur un seul bit. |
DCGM_FI_DEV_RETIRED_DBE |
Gauge | - | Pages retirées en raison d'erreurs sur deux bits. |
Métriques personnalisées
Les métriques personnalisées sont fournies par l'exporter GPU d'ACK pour les scénarios de partage de GPU et ne font pas partie de l'exporter DCGM amont. L'utilisation de ces métriques est facturée.
Métriques au niveau des processus
| Metric | Type | Unit | Description |
|---|---|---|---|
DCGM_CUSTOM_PROCESS_SM_UTIL |
Gauge | % | Taux d'utilisation des SM par les threads GPU. |
DCGM_CUSTOM_PROCESS_MEM_COPY_UTIL |
Gauge | % | Taux d'utilisation des copies mémoire par les threads GPU. |
DCGM_CUSTOM_PROCESS_ENCODE_UTIL |
Gauge | % | Taux d'utilisation de l'encodeur par les threads GPU. |
DCGM_CUSTOM_PROCESS_DECODE_UTIL |
Gauge | % | Taux d'utilisation du décodeur par les threads GPU. |
DCGM_CUSTOM_PROCESS_MEM_USED |
Gauge | MiB | Mémoire GPU utilisée par les threads GPU. |
Métriques au niveau des conteneurs et des nœuds
| Metric | Type | Unit | Description |
|---|---|---|---|
DCGM_CUSTOM_CONTAINER_MEM_ALLOCATED |
Gauge | MiB | Mémoire GPU allouée à un conteneur. |
DCGM_CUSTOM_CONTAINER_CP_ALLOCATED |
Gauge | - | Ratio de la puissance de calcul GPU allouée à un conteneur par rapport à la puissance totale du GPU. Plage de valeurs : [0, 1]. Par exemple, si le GPU fournit 100 unités de calcul et que 30 sont allouées à un conteneur, cette métrique renvoie 0,3. En mode GPU exclusif ou en mode GPU partagé, cette valeur est 0, car les conteneurs dans ces modes ne demandent que de la mémoire GPU, sans contrainte sur l'allocation de la puissance de calcul. |
DCGM_CUSTOM_DEV_FB_TOTAL |
Gauge | MiB | Mémoire GPU totale. |
DCGM_CUSTOM_DEV_FB_ALLOCATED |
Gauge | - | Ratio de la mémoire GPU allouée par rapport à la mémoire GPU totale. Plage de valeurs : [0, 1]. |
DCGM_CUSTOM_ALLOCATE_MODE |
Gauge | - | Mode de planification du nœud. Valeurs : 0 = aucun pod accéléré par GPU en cours d'exécution ; 1 = mode GPU exclusif ; 2 = mode GPU partagé. |
Métriques obsolètes
Les métriques suivantes ont été supprimées de GPU Monitoring 2.0. Remplacez-les par les métriques indiquées ci-dessous.
| Deprecated metric | Replacement | Notes |
|---|---|---|
nvidia_gpu_temperature_celsius |
DCGM_FI_DEV_GPU_TEMP |
|
nvidia_gpu_power_usage_milliwatts |
DCGM_FI_DEV_POWER_USAGE |
|
nvidia_gpu_sharing_memory |
DCGM_CUSTOM_DEV_FB_ALLOCATED x DCGM_CUSTOM_DEV_FB_TOTAL |
Ratio de mémoire GPU x mémoire GPU totale = mémoire GPU demandée. |
nvidia_gpu_memory_used_bytes |
DCGM_FI_DEV_FB_USED |
|
nvidia_gpu_memory_total_bytes |
DCGM_CUSTOM_DEV_FB_TOTAL |
|
nvidia_gpu_memory_allocated_bytes |
DCGM_CUSTOM_DEV_FB_ALLOCATED x DCGM_CUSTOM_DEV_FB_TOTAL |
Ratio de mémoire GPU x mémoire GPU totale = mémoire GPU demandée. |
nvidia_gpu_duty_cycle |
DCGM_FI_DEV_GPU_UTIL |
|
nvidia_gpu_allocated_num_devices |
sum(DCGM_CUSTOM_DEV_FB_ALLOCATED) |
Somme des ratios de mémoire GPU sur tous les GPU d'un nœud = nombre total de GPU demandés sur le nœud. |
nvidia_gpu_num_devices |
DCGM_FI_DEV_COUNT |