NVIDIA представила gds-diag: відкритий діагностичний інструмент для налаштування та оптимізації GPUDirect Storage

  • PublicPublic
  • 31 Oct, 2026
NVIDIA представила gds-diag: відкритий діагностичний інструмент для налаштування та оптимізації GPUDirect Storage

NVIDIA GPUDirect Storage (GDS) прискорює передачу даних між GPU та пристроями зберігання, значно підвищуючи пропускну здатність, зменшуючи затримки та навантаження на CPU та оперативну пам'ять. Хоча існує обширна документація щодо налаштування GDS для різних архітектур, пошук оптимальних параметрів для конкретного розгортання залишається складним завданням для розробників та системних адміністраторів. Щоб вирішити цю проблему, команда GPUDirect Storage розробила gds-diag - відкриту утиліту командного рядка, яка спрощує оцінку середовища, виявлення проблем із конфігурацією та підбір точкових покращень для продуктивних систем.

Рисунок 1. Схема високого рівня шляху даних GPUDirect Storage з gds-diag
Рисунок 1. Схема високого рівня шляху даних GPUDirect Storage з gds-diag

Інструмент gds-diag працює в Linux-системах з Python 3.8 або новішою версією та поширюється в репозиторії NVIDIA Magnum IO на GitHub без додаткових залежностей. Важливо зазначити, що хоча сам GDS вимагає GPU класу datacenter від NVIDIA та CUDA Toolkit 12.2 або новішої версії, для виконання діагностичних перевірок gds-diag ці компоненти не потрібні. Інструмент являє собою єдиний Python-скрипт з кількома підкомандами, список яких можна переглянути за допомогою прапорця --help. Підкоманди згруповані в чотири категорії, що дозволяє користувачам обирати діагностичні завдання залежно від етапу розгортання або конкретних проблем, наприклад, валідація середовища або налаштування продуктивності.

Рисунок 2. Таблиця підкоманд gds-diag, згрупованих за категоріями
Рисунок 2. Таблиця підкоманд gds-diag, згрупованих за категоріями

Вивід більшості підкоманд gds-diag представляє результати, згруповані за розділами, кожен з яких позначений статусним бейджем, що вказує на серйозність або характер проблеми. Кожне зауваження супроводжується детальним поясненням та рекомендованим планом усунення. Принципово важливо, що gds-diag спроектований як діагностичний помічник, а не автоматичний засіб виправлення: він не вносить змін і не модифікує конфігурацію системи самостійно. Натомість він дає змогу користувачам та адміністраторам приймати обґрунтовані рішення щодо вдосконалення системи. Помітним винятком зі стандартного формату виводу є команда support-matrix, яка відображає таблицю підтримуваних комбінацій платформ, використовуючи кольорове кодування для розрізнення повністю підтримуваних, умовно підтримуваних та непідтримуваних конфігурацій.

Рисунок 3. Скріншот прикладу результату gds-diag з анотаціями
Рисунок 3. Скріншот прикладу результату gds-diag з анотаціями

Для користувачів, які готують нові або змінених файли конфігурації GDS для продакшену, підкоманда config-audit забезпечує надійний механізм перевірки. Під час запуску вона аудитує поточну ефективну конфігурацію, враховуючи як статичні файли конфігурації, так і динамічні модифікатори змінних середовища. Інструмент здатен виявляти тонкі помилки, такі як помилки в написанні записів, і підтверджувати валідність після їх виправлення. Крім того, gds-diag пропонує опцію --static для перегляду загальних даних та опцію --live, яка включає інформацію про систему в реальному часі, забезпечуючи точне відображення фактичного стану апаратного та програмного стеку.

Рис. 4. Знімок екрана матриці підтримки gds-diag
Рис. 4. Знімок екрана матриці підтримки gds-diag

Окрім інтерфейсу командного рядка, gds-diag включає необов'язковий агентський навик, який додає інтерфейс на природній мові та шар оркестрації для інструменту. Цей навик активується автоматично при відкритті репозиторію в кодинг-асистентах, таких як Claude або Codex. Він інтерпретує наміри користувача, обирає відповідні підкоманди та координує багатокрокові діагностичні процеси. На відміну від детермінованих перевірок CLI, агентський навик використовує міркування, керовані моделлю, для інтерпретації результатів та пропозиції кроків усунення несправностей. Він навіть може перевіряти системні скрипти, такі як конфігурації запуску контейнерів, щоб виявити проблеми та запропонувати їх модифікацію, дотримуючись локальних налаштувань і політик сайту для підтвердження дій користувачем.