LM Warden

Surveillance des GPU : la machine derrière ces chiffres.

Sauf mention contraire dans une légende, les relevés de cette page proviennent d’une seule station de travail : quatre RTX A4000, avec un seul modèle chargé sur l’ensemble, occupées par notre propre trafic de test. Ce sont les chiffres qu’affichait la console pendant l’enregistrement des fig. 1 et 5. Les tests de capacité présentés plus bas ont aussi utilisé une Quadro RTX 5000, et le précisent.

Les panneaux par carte lisent les données du pilote NVIDIA : ils font donc partie de l’installation Linux. Sur un Mac à puce Apple, l’app Mac (bêta) affiche l’utilisation du GPU et le budget mémoire indiqué par Metal, sans mesure de la consommation électrique.

GPU
4 × NVIDIA RTX A4000, 16 Gio chacune (Ampere, compute 8.6)
VRAM utilisée
59,4 sur 64,0 Gio, un seul modèle réparti sur les quatre cartes
PCIe
Gen 4 x16 par carte
Pilote
610.57.04, CUDA 13.3
Charge GPU, puissance et jetons, relevés sur la fig. 1
MesureÀ la captureMédiane sur 24 h d’activitéPic sur 24 h
Utilisation GPU, carte la plus sollicitée (%)100100100
Puissance GPU, somme des quatre cartes (W)548530559
Jetons par minute (panneau du 23 sept.)non affiché190 k880 k

Vos chiffres seront différents : c’est tout l’intérêt de les mesurer. La ligne des jetons est antérieure au passage aux jetons par seconde ; le panneau Stats affiche désormais des jetons par seconde, et ces chiffres proviennent de la capture du 23 septembre, sur l’ancien panneau par minute.

Une valeur impossible à mesurer s’affiche « not reported ».

La plupart des tableaux de bord GPU fondent quatre cartes en une seule courbe moyenne et affichent une valeur manquante comme un 0. Celui-ci donne à chaque carte son propre panneau : la température face au seuil de bridage indiqué par son pilote, la puissance face à la limite propre à la carte, les fréquences, le ventilateur, le lien PCIe tel qu’il est négocié à cet instant, ainsi que l’ECC et le NVLink quand la carte en dispose. Deux cartes achetées à dix-huit mois d’écart restent deux cartes, et une valeur que le pilote ne fournit pas est signalée comme manquante au lieu d’être tracée à zéro.

Quatre panneaux GPU de la page Stats en charge, un par RTX A4000 : utilisation de 99 à 100 % en état d’alimentation P2, températures de 79 à 94 degrés face à un seuil de bridage de 100 degrés, un avertissement de ralentissement thermique sur trois cartes, puissance de 134 à 138 sur une limite de 140 watts, fréquences, version du pilote et de CUDA, lien PCIe, NVLink et ECC Seuil de bridage fourni par le pilote, pas une estimation Pourquoi la fréquence baisse, selon le pilote Puissance face à sa propre limite de 140 W NVLink et ECC, tels que la carte les rapporte
Fig. 5Les quatre panneaux GPU de la même page Stats, en taille réelle, capturés pendant la même charge. Chaque carte est à 99 ou 100 % en état d’alimentation P2, et trois d’entre elles, entre 90 et 94 °C, sont maintenues par le pilote entre 76 et 84 % de leur fréquence maximale. Faites défiler l’image horizontalement pour voir les quatre panneaux.
Ce qui est lu, et où
Par carteTempérature et seuil de bridage, puissance et sa limite, fréquences du cœur et de la mémoire, ventilateur, génération et largeur PCIe, ECC, NVLink, et le processus du moteur qui utilise la carte
Par hôteVRAM utilisée, utilisation du GPU (la carte la plus sollicitée), puissance (la somme des cartes) et jetons par seconde
Par requêteDélai avant le premier jeton, latence entre jetons et durée, mesurés au niveau du proxy de la même façon pour les deux moteurs

Ce qu’attend chaque requête.

La page Stats liste chaque requête en cours avec la session du client et l’étape où elle en est : en file d’attente au warden, prefill (le moteur lit le prompt), réflexion, écriture d’un appel d’outil, ou réponse. Un badge indique la part du prompt probablement présente dans le cache du réplica. Lorsqu’un prefill dure plus longtemps que ne le prévoit le débit de prefill appris sur cette machine, la ligne indique la cause probable de l’attente : d’autres prompts devant lui sur le même réplica, un cache probablement évincé, ou une lenteur sans cause visible pour le warden. La session provient de l’ID que chaque outil envoie déjà : Claude Code, Codex, OpenCode et pi sans aucun réglage, Hermes et Aider avec une ligne de configuration.

Le tableau In flight avec 14 requêtes actives, toutes de la clé agent-farm depuis une seule adresse client. Colonnes : token, IP du client, session, modèle, phase, fenêtre de contexte et temps écoulé. Six lignes sont en appel d’outil ou en réponse et huit en prefill, la plupart avec un badge estimant que 94 à 100 % du prompt est en cache ; trois prefills portent un badge evict? et deux un badge sablier, 1·r0 et 1·r4. Sous le tableau : modèle de prefill à 439 tok/s appris sur 1 132 requêtes, estimation du cache juste dans 57 % des cas, et le taux de succès selon la durée d’inactivité : 68 % après jusqu’à 30 secondes, et seulement 18 % après 5 à 15 minutes. Pas encore de jeton, cache probablement évincé Un prompt le précède sur le réplica 4
Fig. 12Quatorze requêtes en cours sur la machine à sept GPU. Sous le tableau figure ce que le warden a appris des requêtes terminées : cette machine traite le prefill à environ 439 jetons par seconde et par requête, son estimation du cache était juste dans 57 % des cas, et une conversation inactive depuis plus de deux minutes trouve généralement son cache vidé (20 % de succès après 2 à 5 minutes). Le nom de la clé est fictif et l’adresse est une adresse réservée à la documentation. Sous 768 pixels de large, le tableau devient une liste de fiches. Relevé le 5 octobre 2026. Faites défiler l’image horizontalement pour voir toutes les colonnes.