npx skills add ...
npx skills add nvidia/skills --skill dynamo-interconnect-check
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.
npx skills add nvidia/skills --skill dynamo-interconnect-check
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.
kubectl exec access to a worker pod in the target Dynamo deployment.recipes/<model>/<framework>/<mode>).ibstat, nvidia-smi, lsmod available in the worker pod image (missing tools are reported as skipped, not failures).dynamo-recipe-runner deploys a disagg or multi-node recipe.For diagnosing pods that are already crashing or unschedulable, use
dynamo-troubleshoot first.
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.
Locally on a GPU node, or inside a running 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.
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.
| 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:
Verify a disagg recipe's transport env shape before deploy:
After deploy, validate a worker pod's fabric:
Equivalent through the agent protocol:
Each check returns ok / warn / fail / skipped with a one-line detail,
plus a rolled-up verdict on disagg transport readiness. Report:
skipped results for missing tools (ibstat, nvidia-smi, lsmod) are inconclusive, not a pass.| 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 |
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/interconnect-env-vars.md — NIXL/UCX/NCCL env var catalog and IB
capability checklist.scripts/check_interconnect.py for all read-only checks.