{{opener}} GPUDirect Storage (GDS) ускоряет доступ к хранилищу для графических процессоров в локальных и облачных средах. Он обеспечивает надежный, переносимый и эффективный путь передачи данных между графическими процессорами NVIDIA и целями хранения, что позволяет увеличить пропускную способность, минимизировать задержки и снизить использование центрального процессора и памяти для широкого спектра платформ, фреймворков приложений и рабочих нагрузок. Настройка GPUDirect Storage начинается с понимания вашей среды. Какие настройки и пути хранения подходят для вашей платформы и рабочей нагрузки? Обширная документация описывает, как настраивать и устранять неполадки для поддерживаемых архитектур и решений хранения, но вам необходимо ориентироваться в этой информации и оптимизировать вашу развертку. Инструмент gds-diag был разработан командой GPUDirect Storage для упрощения оптимизации и настройки GPUDirect Storage. gds-diag — это простая утилита командной строки с открытым исходным кодом, которая оценивает окружения, выявляет проблемы и предлагает улучшения, чтобы помочь вам максимально эффективно использовать вашу развертку GDS. Он также включает в себя дополнительный агентский навык, который добавляет интерфейс на естественном языке и уровень оркестрации. Этот навык интерпретирует ваши намерения, выбирает и вызывает соответствующие подкоманды и координирует многоэтапные диагностические рабочие процессы. Данная публикация показывает, как начать работу с gds-diag, используя как интерфейс командной строки, так и агентский навык. Для использования gds-diag вам понадобится система на базе Linux с Python 3.8 или новее. GPUDirect Storage требует графического процессора класса дата-центра от NVIDIA и набора инструментов NVIDIA CUDA Toolkit 12.2 или новее, но это не зависит от самого gds-diag. gds-diag распространяется как часть репозитория NVIDIA Magnum IO на GitHub без необходимости установки других зависимостей. Вы можете клонировать репозиторий на машину, на которой планируете его запустить, с помощью команды git clone https://github.com/NVIDIA/MagnumIO.git и выбрать одну из следующих моделей использования: инструмент командной строки или AI-агент. Инструмент командной строки предоставляет детерминированный путь с минимальными зависимостями для диагностики развертываний GDS. Чтобы получить помощь по использованию командной строки, перейдите в каталог gds-diag и выполните команду gds-diag.py --help. AI-агент предоставляет самый интуитивный, гибкий и интерактивный механизм для диагностики развертываний GDS, сохраняя при этом надежную детерминированность основного инструмента командной строки. Откройте каталог gds-diag в вашем предпочтительном AI-кодовом помощнике и следуйте рекомендациям по использованию агентского навыка. Рекомендуется использовать режим AI-агента, если эта опция доступна в вашей среде. gds-diag проверен с Claude и Codex, хотя может работать и с другими инструментами. Инструмент командной строки gds-diag представляет собой один скрипт на Python с несколькими подкомандами, которые сосредоточены на различных диагностических задачах. Вы можете просмотреть доступные подкоманды, выполнив ./gds-diag.py --help. Если вы не уверены, с чего начать, просто выполните ./gds-diag.py all /path/to/check, и gds-diag автоматически выполнит полный набор диагностических процедур для этого пути. Это работает в средах bare-metal, виртуальных машинах и контейнерах. Вывод большинства подкоманд gds-diag представлен в виде набора выводов, сгруппированных по секциям. Каждый вывод и каждая секция имеют статусный значок. “FAIL” указывает на серьезную проблему, “WARN” — на потенциальную проблему, “INFO” — на значимую информацию, а “PASS” — на номинальную находку и отображается только при использовании опции --verbose. Каждый вывод включает объяснение, за которым следует план смягчения. gds-diag не будет самостоятельно реализовывать план смягчения или иным образом изменять систему. Его задача — выявлять проблемы и возможности для оптимизации и помогать вам или вашему администратору в внесении улучшений. Вы также можете вывести все диагностические отчеты в виде структурированных данных JSON с помощью опции --json. Это может быть полезно, если вы планируете загрузить выводы в другой инструмент или архивировать их для будущего использования. Большинство подкоманд следуют одной и той же структуре. Для демонстрации рассмотрим подготовку нового или измененного файла конфигурации GDS для развертывания в производственной среде. Подкоманда config-audit — это идеальный выбор для этого сценария. Если вызвать без аргументов, она проверит текущую эффективную конфигурацию, включая как статические файлы конфигурации, так и динамические модификаторы переменных окружения. Пример использования опции --config позволяет указать кандидатскую конфигурацию для проверки. Агентский навык gds-diag активируется автоматически, когда вы открываете репозиторий gds-diag, используя кодовый помощник, такой как Claude или Codex. Вы можете явно активировать gds-diag, используя ключевое слово /gds-diag в вашем кодовом помощнике, но это не является строго необходимым. Он автоматически выберет его как подходящий навык, если вы зададите вопросы на естественном языке о GDS. Навык не пытается дублировать детерминированные проверки, которые уже предоставляются инструментом командной строки gds-diag. Вместо этого его основная роль заключается в помощи в маршрутизации между подкомандами gds-diag и интерпретации их вывода. Начните использовать gds-diag в качестве вашего первого диагностического инструмента при исследовании конфигурации и оптимизации GPUDirect Storage. Его модульный дизайн предоставляет основу для дополнительных диагностик, таких как проверки сетевых транспортов, систем объектного хранения и фреймворков приложений. Если у вас есть диагностическая проверка или файловая система, которую вы хотите внести, мы приветствуем и настоятельно рекомендуем общественные вклады. Исходный код и агентский навык опубликованы под открытыми лицензиями (Apache 2.0 и Creative Commons Attribution 4.0 International). Материал подготовлен нейросетью на основе оригинальной публикации. ИИ может ошибаться в деталях (цифры, имена, даты, цитаты) — для важной информации сверяйтесь с первоисточником.