К основному содержанию
скилл CX Codex GP ChatGPT официальный · OpenAI

dynamo-interconnect-check — скилл для Codex: проверка RDMA и NVLink

Проверяет, что транспорт NIXL/UCX/NCCL в развёртывании Dynamo действительно работает. Нужен перед тем, как доверять цифрам disaggregated-обслуживания.

Установить в Codex · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add openai/plugins --skill dynamo-interconnect-check -a codex
Открыть на GitHub

Что делает dynamo-interconnect-check

Скилл читает конфигурацию рецепта и проверяет переменные окружения NIXL, UCX и NCCL. Если критичные для disaggregated-режима переменные вроде UCX_TLS, UCX_NET_DEVICES или NCCL_IB_HCA не заданы, это пока только предупреждение: значения могут быть зашиты в образ. Дальше идут проверки на узле или в рабочем поде.

Второй шаг — проба железа: устройства InfiniBand и активные линки, GPUDirect RDMA через nvidia_peermem, GDRCopy, NVLink в топологии GPU. Отсутствующие утилиты (ibstat, nvidia-smi, lsmod) помечаются как skipped, и это не пройденная проверка. Третий шаг ищет в поде инструменты NIXL и подсказывает команду для парного теста передачи prefill↔decode. Полный тест между подами требует двух GPU-подов на фабрике.

Скилл только читает: кластер не меняется, секреты не печатаются. Нужны Python 3.10+ на машине оператора, доступ kubectl exec к рабочему поду и чтение каталога рецептов. Проверка переменных смотрит текст рецепта, поэтому значения, подставленные через initContainers или оператором, она не увидит. Для одноузлового agg-развёртывания транспорт не задействован, так что проверять там нечего. Если поды уже падают или не планируются, сначала нужен dynamo-troubleshoot.

Какие задачи решает

  • убедиться, что KV-трафик между prefill и decode идёт по RDMA, а не по медленному запасному пути
  • проверить переменные окружения рецепта до запуска disaggregated-развёртывания
  • найти причину, почему disagg работает медленно или зависает при живом agg
  • проверить GPUDirect RDMA и NVLink в топологии GPU на узле
  • отличить проблему фабрики от проблемы модели перед публикацией замеров

Примеры запросов агенту

  • Проверь переменные транспорта в рецепте recipes/qwen3-coder-480b/sglang/disagg
  • Запусти проверку узла для пода qwen-worker-0 в неймспейсе dynamo-demo
  • Проверь готовность NIXL в поде qwen-worker-0 и скажи, какую команду запускать следующей

Как установить dynamo-interconnect-check

1Через Skills CLI (Vercel)

npx skills add openai/plugins --skill dynamo-interconnect-check -a codex

2Вручную: положить файлы

.agents/skills/dynamo-interconnect-check/SKILL.md

Для всех проектов — ~/.agents/skills/

По шагам, с командами для каждой платформы: Скиллы Codex: как установить, где лежат и как вызвать

Вопросы о dynamo-interconnect-check

Как установить dynamo-interconnect-check в Codex?

Выполните npx skills add openai/plugins --skill dynamo-interconnect-check -a codex. Скилл появится в .agents/skills/dynamo-interconnect-check/SKILL.md.

Что делает dynamo-interconnect-check?

Проверяет, готов ли транспорт NIXL/UCX/NCCL к disaggregated-обслуживанию по RDMA или NVLink. Смотрит переменные окружения рецепта, возможности узла и доступность NIXL в поде.

Чем это отличается от dynamo-troubleshoot?

Этот скилл проверяет транспорт до того, как вы доверитесь развёртыванию или его бенчмаркам. Для подов, которые уже падают или не планируются, сначала запускают dynamo-troubleshoot.

Исходный текст

SKILL.md · Apache-2.0
---
name: dynamo-interconnect-check
description: Validate that a Dynamo deployment's NIXL/UCX/NCCL interconnect is ready for disaggregated serving over RDMA/NVLink. Use after recipe-runner brings a deployment up (especially disagg/multi-node) to confirm the KV transport is correct; use troubleshoot for diagnosing already-failed pods.
license: Apache-2.0
metadata:
  author: Dan Gil <[email protected]>
  tags:
    - dynamo
    - nixl
    - rdma
    - disagg
    - validation
---

# Dynamo Interconnect Check

<!--
SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: CC-BY-4.0
-->

## Purpose

Confirm that the transport disaggregated serving depends on actually works. A
deployment can pass an endpoint smoke test while disagg is silently wrong: if
NIXL/UCX cannot reach the peer worker over RDMA or NVLink, KV transfer falls
back to a slow or broken path. Catch that with read-only checks before trusting
a disagg deployment or its benchmark numbers.

This skill is read-only. It never mutates the cluster and never prints secrets.

## Prerequisites

- Python 3.10+ on the operator machine.
- `kubectl exec` access to a worker pod in the target Dynamo deployment.
- Read access to the recipe directory (`recipes/<model>/<framework>/<mode>`).
- For node-capability checks: tools like `ibstat`, `nvidia-smi`, `lsmod` available in the worker pod image (missing tools are reported as `skipped`, not failures).

## When To Use

- After `dynamo-recipe-runner` deploys a **disagg** or multi-node recipe.
- Before reporting disagg throughput/latency, so numbers reflect the real
  transport.
- When agg works but disagg is slow, hangs, or returns wrong output and you
  suspect the fabric rather than the model.

For diagnosing pods that are already crashing or unschedulable, use
`dynamo-troubleshoot` first.

## Instructions

### 1. Check Transport Env Vars On The Recipe

```bash
python3 scripts/check_interconnect.py env recipes/<model>/<framework>/<mode>
```

Reports which NIXL/UCX/NCCL transport variables are set and flags
disagg-critical ones (e.g. `UCX_TLS`, `UCX_NET_DEVICES`, `NCCL_IB_HCA`) that are
absent. Missing here is only a warning — they may be baked into the image — so
confirm with the node and NIXL checks. See
`references/interconnect-env-vars.md` for what each variable does.

### 2. Check Node Capabilities

Locally on a GPU node, or inside a running worker pod:

```bash
python3 scripts/check_interconnect.py node \
  --namespace "${NAMESPACE}" --pod <worker-pod>
```

Probes (read-only) for: InfiniBand devices and Active links, GPUDirect RDMA
(`nvidia_peermem`), GDRCopy, and NVLink in the GPU topology. Missing tools are
reported as `skipped`, not failures.

### 3. Validate NIXL Reachability

```bash
python3 scripts/check_interconnect.py nixl \
  --namespace "${NAMESPACE}" --pod <worker-pod>
```

Looks for NIXL test tooling in the pod and surfaces the exact next step to run a
pairwise prefill↔decode transfer test. A full cross-pod transfer test requires
two scheduled GPU pods on the fabric.

## Available Scripts

| Script | Purpose | Arguments |
|---|---|---|
| `scripts/check_interconnect.py env` | Inspect NIXL/UCX/NCCL env vars on a recipe | positional recipe path |
| `scripts/check_interconnect.py node` | Probe InfiniBand, GPUDirect RDMA, GDRCopy, NVLink on a node or pod | `--namespace`, `--pod` |
| `scripts/check_interconnect.py nixl` | Surface NIXL transfer-test readiness for a pod | `--namespace`, `--pod` |

Invoke via the agentskills.io `run_script()` protocol:

```python
run_script("scripts/check_interconnect.py", args=["env", "recipes/qwen3-coder-480b/sglang/disagg"])
run_script("scripts/check_interconnect.py", args=["node", "--namespace", "dynamo-demo", "--pod", "qwen-worker-0"])
```

## Examples

Verify a disagg recipe's transport env shape before deploy:

```bash
python3 scripts/check_interconnect.py env recipes/qwen3-coder-480b/sglang/disagg
```

After deploy, validate a worker pod's fabric:

```bash
python3 scripts/check_interconnect.py node \
  --namespace dynamo-demo --pod qwen-worker-0
python3 scripts/check_interconnect.py nixl \
  --namespace dynamo-demo --pod qwen-worker-0
```

Equivalent through the agent protocol:

```python
run_script("scripts/check_interconnect.py", args=["nixl", "--namespace", "dynamo-demo", "--pod", "qwen-worker-0"])
```

## Output Contract

Each check returns `ok` / `warn` / `fail` / `skipped` with a one-line detail,
plus a rolled-up verdict on disagg transport readiness. Report:

- transport env vars present vs. disagg-critical ones missing
- RDMA / GPUDirect / NVLink capability status
- whether NIXL reachability was validated, and the next command if not
- a clear statement of whether disagg can be trusted, or what to fix first

## Limitations

- Read-only fabric probe; does not run a full pairwise NIXL transfer (requires two scheduled GPU pods and the in-pod NIXL test tools).
- `skipped` results for missing tools (`ibstat`, `nvidia-smi`, `lsmod`) are inconclusive, not a pass.
- Env-var check inspects the recipe text; values injected at runtime via initContainers or operator-applied envs are not detected.
- Single-node agg deployments do not exercise the transport — this skill is for disagg / multi-node validation.

## Troubleshooting

| Symptom | Likely cause | Next step |
|---|---|---|
| `env` reports all critical vars missing | Vars baked into image or injected by operator | Run the `node` check inside the worker pod to verify actual env |
| `node` reports no Active IB link | Fabric down or HCA not provisioned to the node | Contact cluster admin; verify `kubectl describe node` shows `nvidia.com/gpu` and IB labels |
| `nvidia_peermem` missing | GPUDirect RDMA module not loaded | Ask cluster admin to load `nvidia-peermem`; without it, NIXL falls back to staged copies |
| `nixl` finds no test tools | Worker image lacks NIXL test harness | Use a NIXL-enabled image or run the standalone transfer test from a debug pod |

## Benchmark

See `BENCHMARK.md` for the NVCARPS-EVAL performance report (auto-generated by the NVSkills CI pipeline). To refresh, re-run `/nvskills-ci` on an upstream PR touching this skill.

## References

- `references/interconnect-env-vars.md` — NIXL/UCX/NCCL env var catalog and IB
  capability checklist.
- Use `scripts/check_interconnect.py` for all read-only checks.

© Dan Gil · Apache-2.0 · openai/plugins

Похожие скиллы

Все скиллы по теме «DevOps и инфраструктура» →
wizard Matt Pocock Скилл создаёт интерактивный bash-скрипт для ручных шагов: настройки сервисов, секретов CI и разовых миграций. 553 369установок hyperframes-cli heygen-com Управляет проектами HyperFrames через терминал: собирает таймлайн, проверяет контраст кадров, запускает предпросмотр и рендерит видео локально или в облаке. CX Codex +1 1 300 000установок setup-pre-commit Matt Pocock Скилл настраивает pre-commit для JavaScript-репозитория: Husky запускает форматирование, проверку типов и тесты перед коммитом. 489 289установок using-git-worktrees Jesse Vincent Готовит изолированное рабочее дерево перед доработкой или выполнением плана. Проверяет текущий репозиторий, выбирает нативные средства платформы либо Git. CX Codex 217 153установок finishing-a-development-branch Jesse Vincent Скилл проверяет тесты и помогает выбрать, как завершить работу в ветке: слить её, открыть Pull Request или оставить как есть. CX Codex 214 439установок orca-cli stablyai Скилл даёт агенту доступ к worktree, терминалам, артефактам и встроенному браузеру Orca через CLI. Пригодится, когда работа идёт в окружении Orca. CX Codex +1 354 000установок

Из того же набора528

Весь набор →
physical-ai-infrastructure-setup-and-resilient-scaling Скилл помогает подготовить и проверять инфраструктуру NVIDIA Physical AI для генерации синтетических данных на MicroK8s или Azure AKS. Он также охватывает развёртывание OSMO и восстановление после сбоев. CX Codex GP ChatGPT ★ 7 604звёзд репо omniverse-usd-performance-tuning Оркестратор для разбора медленной загрузки, нехватки памяти и низкого FPS в USD-сценах. Ведёт агента по цепочке фаз от профилирования до отчёта. CX Codex GP ChatGPT ★ 7 604звёзд репо omniverse-realtime-viewer Направляет агента при сборке 3D-вьюеров OpenUSD на базе NVIDIA Omniverse. Помогает выбрать архитектурный путь и подключить нужные рецепты рендеринга. CX Codex GP ChatGPT ★ 7 604звёзд репо omniverse-cad-to-simready Координирует путь от CAD-модели или другого исходного ассета до SimReady USD и пакета. Нужен для конвертации, назначения материалов и физики, проверки и подготовки ассета. CX Codex GP ChatGPT ★ 7 604звёзд репо cuopt-user-rules Скилл задаёт агенту правила, как помогать с NVIDIA cuOpt: маршрутизация, LP, MILP, QP, установка и сервер. CX Codex GP ChatGPT ★ 7 604звёзд репо aiq-deploy Скилл разворачивает и проверяет инфраструктуру NVIDIA AI-Q Blueprint, а также помогает остановить сервисы и разобрать сбои. CX Codex GP ChatGPT ★ 7 604звёзд репо mixpanelyst Скилл помогает запрашивать и разбирать данные Mixpanel через Python. Пригодится для воронок, удержания, сегментов и поведения пользователей. CX Codex GP ChatGPT ★ 7 604звёзд репо mixpanel-auth Скилл для Codex, который ведёт учётные записи Mixpanel: проверяет сессию, добавляет аккаунты, запускает OAuth и переключает проекты. CX Codex GP ChatGPT ★ 7 604звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой