NVIDIA présente gds-diag : un outil de diagnostic open source pour la configuration et l'optimisation de GPUDirect Storage

  • PublicPublic
  • 31 Oct, 2026
NVIDIA présente gds-diag : un outil de diagnostic open source pour la configuration et l'optimisation de GPUDirect Storage

NVIDIA GPUDirect Storage (GDS) accélère le transfert de données entre les GPU et les cibles de stockage, augmentant considérablement la bande passante tout en minimisant la latence et en réduisant la charge sur le CPU et la mémoire. Bien qu'une documentation étendue existe pour la configuration de GDS sur diverses architectures, la navigation dans ces paramètres pour optimiser un déploiement spécifique reste une tâche complexe pour les développeurs et les administrateurs système. Pour relever ce défi, l'équipe GPUDirect Storage a développé gds-diag, une utilitaire en ligne de commande open source qui simplifie le processus d'évaluation des environnements, d'identification des problèmes de configuration et de suggestion d'améliorations ciblées pour les systèmes de production.

Figure 1. Schéma de haut niveau du chemin de données GPUDirect Storage avec gds-diag
Figure 1. Schéma de haut niveau du chemin de données GPUDirect Storage avec gds-diag

L'outil gds-diag fonctionne sur les systèmes Linux avec Python 3.8 ou une version ultérieure et est distribué dans le dépôt GitHub NVIDIA Magnum IO sans dépendances supplémentaires. Il est important de noter que, bien que GDS lui-même nécessite un GPU de classe datacenter NVIDIA et CUDA Toolkit 12.2 ou une version ultérieure, gds-diag n'a pas besoin de ces composants pour exécuter ses vérifications diagnostiques. L'outil est structuré sous forme d'un unique script Python doté de plusieurs sous-commandes, consultables via le drapeau --help. Ces sous-commandes sont organisées en quatre catégories distinctes, permettant aux utilisateurs de sélectionner des tâches diagnostiques en fonction de leur étape de déploiement actuelle ou des problèmes spécifiques qu'ils investiguent, tels que la validation de l'environnement ou l'optimisation des performances.

Figure 2. Tableau des sous-commandes gds-diag, regroupées par catégories
Figure 2. Tableau des sous-commandes gds-diag, regroupées par catégories

La sortie de la plupart des sous-commandes gds-diag présente les résultats groupés en sections, chacune étant marquée d'un badge de statut indiquant la gravité ou la nature du problème. Chaque constat est accompagné d'une explication détaillée suivie d'un plan d'atténuation recommandé. Il est essentiel de souligner que gds-diag est conçu comme un outil d'aide au diagnostic et non comme un correcteur automatique ; il n'implémente pas de modifications ni ne modifie la configuration du système de son propre chef. Au contraire, il permet aux utilisateurs et aux administrateurs de prendre des décisions éclairées concernant les améliorations du système. Une exception notable au format de sortie standard est la commande support-matrix, qui affiche un tableau des combinaisons de plateformes prises en charge, en utilisant un code couleur pour distinguer les configurations entièrement prises en charge, conditionnellement prises en charge et non prises en charge.

Figure 3. Capture d'écran d'un exemple de résultat gds-diag avec annotations
Figure 3. Capture d'écran d'un exemple de résultat gds-diag avec annotations

Pour les utilisateurs préparant de nouveaux fichiers de configuration GDS ou des fichiers modifiés pour la production, la sous-commande config-audit fournit un mécanisme de vérification robuste. Lors de son exécution, elle audite la configuration effective actuelle, en tenant compte à la fois des fichiers de configuration statiques et des modificateurs dynamiques de variables d'environnement. L'outil est capable d'identifier des erreurs subtiles, telles que des fautes de frappe dans les entrées, et de confirmer la validité après leur correction. De plus, gds-diag propose une option --static pour examiner les données générales et une option --live qui intègre des informations système en temps réel, garantissant que les diagnostics reflètent l'état réel de la pile matérielle et logicielle.

Figure 4. Capture d'écran de la matrice de prise en charge de gds-diag
Figure 4. Capture d'écran de la matrice de prise en charge de gds-diag

En plus de l'interface en ligne de commande, gds-diag inclut une compétence agent optionnelle qui ajoute une interface en langage naturel et une couche d'orchestration pour l'outil. Cette compétence s'active automatiquement lorsque le dépôt est ouvert dans des assistants de codage tels que Claude ou Codex. Elle interprète l'intention de l'utilisateur, sélectionne les sous-commandes appropriées et coordonne les flux de travail de diagnostic multi-étapes. Contrairement aux vérifications déterministes de l'interface en ligne de commande, la compétence agent utilise un raisonnement guidé par le modèle pour interpréter les résultats et proposer des étapes de remédiation. Elle peut même inspecter des scripts système, tels que les configurations de lancement de conteneurs, pour identifier des problèmes et proposer de les modifier, en respectant les paramètres locaux et les politiques du site pour la confirmation par l'utilisateur.