npx skills add ...
npx skills add nvidia/skills --skill doca-gpunetio-ib-write-lat
Use this skill when the user is measuring GPU-kernel-initiated RDMA WRITE latency through doca-gpunetio — building and running the `gpunetio_ib_write_lat` client + server pair under `doca/tools/gpunetio_ib_write_lat/`, checking GPU-NIC pairing, reading the half-iter / full-iter / CUDA-side usec columns, characterizing median / p99 / jitter for a real-time control loop, picking GPUNetIO vs GPI vs CPU-initiated `perftest`, or weighing the latency-vs-batching trade-off. Trigger even without 'GPUNetIO' or 'ib_write_lat': 'GPU kernel RDMA latency benchmark', 'how fast can a CUDA kernel post a WRITE', 'p99 RDMA latency on H100 + ConnectX', 'kernel-launched WR tail latency', or 'compare GPU-init vs CPU-init perftest'. Route elsewhere for bandwidth runs (doca-gpunetio-ib-write-bw), the GPI surface (doca-gpi), library debugging (doca-gpunetio), or DOCA install.
npx skills add nvidia/skills --skill doca-gpunetio-ib-write-lat
Where to start: This is a tool skill for the GPUNetIO-
flavored ib_write_lat benchmark shipped under
doca/tools/gpunetio_ib_write_lat/ (a client + server pair,
built from source against the installed DOCA via meson).
It measures the latency of an RDMA WRITE work request when
the WR is posted from a CUDA kernel through the
doca-gpunetio device-side surface, in a ping-pong cadence.
Open TASKS.md and start at
## configure for the GPU-NIC pairing
precondition and the build pattern; jump to
## run for the single-iteration smoke
flow. Open CAPABILITIES.md when the
question is what this tool actually measures, how it
differs from the GPI sister tool on the same physical
operation, or how to interpret the half-iter / full-iter
/ CUDA-side usec output and the median / p99 / jitter
characterization. If DOCA is not installed yet, route to
doca-setup first; if the
user is still deciding between GPUNetIO and GPI as a
programming surface, the picture in
../../libs/doca-gpunetio/CAPABILITIES.md#capabilities-and-modes
and
../../libs/doca-gpi/CAPABILITIES.md#capabilities-and-modes
is the first stop.
The CLASSES of doca-gpunetio-ib-write-lat questions this
skill is built to answer, each with one worked example. The
class is the load-bearing piece; the worked example is one
instance.
CAPABILITIES.md ## Capabilities and modes
TASKS.md ## configure +
TASKS.md ## run.CAPABILITIES.md ## Capabilities and modes
../../libs/doca-gpi/CAPABILITIES.md
(note: doca/tools/ ships no GPI ib_write_lat
benchmark binary — GPI is a programming surface, not a
shipped benchmark tool).CAPABILITIES.md ## Observability
TASKS.md ## test.CAPABILITIES.md ## Capabilities and modes.gpunetio_ib_write_lat even
link?". Answered by the version overlay in
CAPABILITIES.md ## Version compatibility.CAPABILITIES.md ## Observability.This skill serves external developers and performance engineers who need a reproducible measurement of the latency of an RDMA WRITE WR when the WR is posted from a CUDA kernel through doca-gpunetio, on the user's actual install and GPU-NIC pair. Concretely:
It is not for users debugging the doca-gpunetio
library itself (route to
../../libs/doca-gpunetio/SKILL.md),
and not a substitute for the perftest upstream
ib_write_lat (which measures CPU-initiated WRITE
latency).
The doca-gpunetio-ib-write-lat tool is shipped as C
plus CUDA .cu translation units under
doca/tools/gpunetio_ib_write_lat/, split into a
client/ subtree, a server/ subtree, and a common/
subtree shared between them (per the verified file layout:
client/{main.c,perftest.{c,h},meson.build},
server/{main.c,perftest.{c,h},meson.build},
common/{common.c,common.h,kernel.cu}). The host-side
build is meson against the installed DOCA pkg-config
modules (doca-gpunetio, doca-rdma, doca-common,
plus the CUDA Toolkit dependency); the device-side build
is nvcc against the DOCA GPU NetIO device-side header
set. There is no Python / Rust / Go binding — the tool is
a pair of CLI binaries.
Load this skill when the user is — or the agent needs to
— build and run the gpunetio_ib_write_lat client +
server on real hosts with DOCA installed plus a CUDA
Toolkit matched to the DOCA install, and a GPU + IB device
pair on each host's PCIe topology. Concretely:
doca-gpi
library — doca/tools/ ships no GPI benchmark binary)
or the classic CPU-initiated perftest path.Do not load this skill for general DOCA orientation,
library API work, or installation. For those, use
doca-public-knowledge-map,
../../libs/doca-gpunetio/SKILL.md,
or doca-setup. Do not load
it for application-level real-time deadline analysis —
this benchmark measures the WR latency through GPUNetIO,
not the user's full pipeline.
This is a thin loader. Substantive material lives in two companion files:
CAPABILITIES.md — what the tool measures (the
ping-pong WRITE latency primitive driven by both sides'
CUDA kernels through doca-gpunetio), the
runtime-surface selection rule (GPUNetIO vs GPI vs
CPU-initiated), the GPU-NIC pairing precondition, the
latency-vs-batching trade-off intrinsic to GPU-init
RDMA, the median / p99 / jitter reporting taxonomy,
the version overlay (DOCA .pc PLUS CUDA Toolkit),
the layered error taxonomy, the observability surface
(stdout report including the timeout knob the
gpunetio_rdma_write_lat_* kernel functions surface
per the verified common.h), and the safety overlay.TASKS.md — step-by-step workflows for the in-scope
task verbs: install, configure, build, modify,
run (smoke-before-bulk; single-iteration verification;
reading the report columns), test (the eval loop —
median / p99 / jitter / steady-state), debug (walk
the error taxonomy layer by layer), use (how a
latency result feeds a real-time class-of-workload
decision), plus a Deferred task verbs block.The skill assumes a host where DOCA is already installed,
a CUDA Toolkit matched to the install is present, and the
operator has whatever privileges the public install
profile expects for binding a doca_dev, a doca_gpu,
and an OOB TCP socket.
This skill is agent guidance, not a samples or scripts bundle. It deliberately does not contain — and pull requests should not add:
--help and main.c
ARGP registration establish. The flag surface is small
(device name, GPU PCIe address, GID index, server IP
on the client side); the agent re-reads the binary's
--help on the installed version.client/, server/, and common/
subtrees are the verified worked example.CAPABILITIES.md ## Observability.samples/, bindings/, or reference/ subtree.
This is a thin loader for a shipped tool tree.SKILL.md first to confirm the user's
question is in scope (the user actually wants to
measure kernel-initiated WRITE latency through
GPUNetIO, not the GPI variant, not the CPU-initiated
variant, and not a library API question).perftest, the latency-vs-batching trade-off, the
median / p99 / jitter reporting taxonomy, the version
overlay, the error taxonomy, the observability
surface, and the safety overlay, see
CAPABILITIES.md.install,
configure, build, modify, run, test,
debug, use — see TASKS.md.../../libs/doca-gpunetio/SKILL.md —
the library this tool wraps. The per-GPU doca_gpu
context, the GPU-visible RDMA handles, the CUDA-side
persistent-kernel pattern, the dual capability-
discovery rule (DOCA cap-query AND
cudaGetDeviceProperties), and the env preconditions
(nvidia_peermem loaded, CUDA buffers registered
with DOCA) live there.../../libs/doca-rdma/SKILL.md —
the underlying RDMA library. The RDMA queue this tool
binds is created and connected via doca-rdma; the
queue lifecycle, the transport type (RC vs UC vs UD),
the permission matrix, and the connection method are
owned there.../../libs/doca-verbs/SKILL.md —
the raw-verbs escape hatch beneath doca-rdma /
doca-gpunetio. This tool stays on the higher-level
surfaces.../doca-gpunetio-ib-write-bw/SKILL.md —
bandwidth analog of this tool on the same runtime
framework. Same physical operation; different metric
class (latency vs BW). The two together carry the full
GPUNetIO-side latency / throughput picture.doca-gpi — the GPI
programming surface (CUDA-kernel-initiated RDMA). The
alternative runtime framework for the same physical
operation; doca/tools/ ships no GPI ib_write_lat
benchmark binary, so the GPI comparison is against the
library surface, not a sibling tool. The selection rule
in
CAPABILITIES.md ## Capabilities and modes
is the decision aid; the agent's job is to teach when
to pick which.doca-version — the
canonical version-detection chain, four-way match
rule. The ## Version compatibility section here is a
thin overlay.doca-setup — env
preparation, install verification, GPU + CUDA Toolkit
pairing, nvidia_peermem load, hugepages, NUMA, and
the NGC DOCA container path.doca-public-knowledge-map —
routing to the public DOCA documentation set and the
CUDA Toolkit pointer.doca-debug — the
cross-cutting debug ladder.doca-hardware-safety —
the bundle-wide hardware-safety meta-policy.*