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 colu…
Install / Use
npx skills add NVIDIA/skills --skill doca-gpunetio-ib-write-latInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Development & EngineeringSupported Platforms
Tags
Our assessment of doca-gpunetio-ib-write-lat
doca-gpunetio-ib-write-lat scores 88/100 on our quality scale, 968th of 3,356 Development & Engineering skills we index (top 29%).
Its SKILL.md is 15 KB long, well organised into 9 sections and no code examples: a thorough specification that gives an agent plenty to work with.
With 3,421 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 5 days ago, so doca-gpunetio-ib-write-lat is actively maintained.
- It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
doca-gpunetio-ib-write-lat compared with similar skills
All 4 of these similar skills score higher than doca-gpunetio-ib-write-lat; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| doca-gpunetio-ib-write-lat (this skill)by NVIDIA | 88 | 3.4k | 5d ago | SKILL.md |
| ai-job-searchby MadsLorentzen | 100 | 44.4k | today | CLAUDE.md |
| claude-howtoby luongnv89 | 100 | 41.7k | 2d ago | CLAUDE.md |
| algorithmic-artby anthropics | 100 | 177.9k | 6d ago | SKILL.md |
| pptxby anthropics | 100 | 177.9k | 6d ago | SKILL.md |
Frequently asked questions
- How do I install doca-gpunetio-ib-write-lat?
- Run
npx skills add NVIDIA/skills --skill doca-gpunetio-ib-write-lat. The install tabs above show the steps for each supported agent. - Which AI agents does doca-gpunetio-ib-write-lat work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is doca-gpunetio-ib-write-lat safe to use?
- It is Apache-2.0-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is doca-gpunetio-ib-write-lat still maintained?
- The repository was last updated 5 days ago, so doca-gpunetio-ib-write-lat is actively maintained.
Skill content
View source on GitHublicense: Apache-2.0
name: doca-gpunetio-ib-write-lat
description: >
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.
metadata:
kind: tool
compatibility: >
Requires DOCA SDK installed at /opt/mellanox/doca on Linux
(Ubuntu 22.04/24.04 or RHEL/SLES) with an InfiniBand-capable
ConnectX or BlueField RNIC. Requires NVIDIA GPU with CUDA
Toolkit and nvidia_peermem loaded; client and server hosts
each need a GPU-NIC pair on a common PCIe / NVLink fabric.
Reads pkg-config doca-gpunetio / doca-rdma / doca-common and
builds from the source tree at
/opt/mellanox/doca/tools/gpunetio_ib_write_lat against the installed DOCA.
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.
Example questions this skill answers well
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.
- "What GPU-init RDMA-WRITE latency / jitter can the
GPUNetIO path deliver for a real-time / control-loop
workload?" — worked example: "measure per-iteration
WRITE latency between two hosts with an H100 +
ConnectX-7 on each side, target the median and the p99
separately". Answered by the GPU-NIC pairing
precondition in
CAPABILITIES.md ## Capabilities and modes- the bring-up flow in
TASKS.md ## configure+TASKS.md ## run.
- the bring-up flow in
- "This is the GPUNetIO tool — how does the latency
number differ from the GPI programming surface?" —
worked example: "the team is using GPI; should I expect
GPUNetIO to beat / tie / lose vs GPI?". Answered by the
"same physical operation, different runtime framework"
rule in
CAPABILITIES.md ## Capabilities and modes- the cross-link to the GPI library skill
../../libs/doca-gpi/CAPABILITIES.md(note:doca/tools/ships no GPIib_write_latbenchmark binary — GPI is a programming surface, not a shipped benchmark tool).
- the cross-link to the GPI library skill
- "Median vs p99 vs jitter — which one is the actual
answer for a real-time control loop?" — worked
example: "my control loop has a deadline; the median
is well under the budget but p99 spikes; do I quote
the median or the p99?". Answered by the
median-vs-p99-vs-jitter rule in
CAPABILITIES.md ## Observability- the eval-loop overlay in
TASKS.md ## test.
- the eval-loop overlay in
- "What is the latency-vs-batching trade-off specific
to GPU-init RDMA?" — worked example: "my CUDA kernel
could batch multiple WRs to amortize the GPU-side
overhead; what does that buy me on latency vs what does
it cost me?". Answered by the
latency-vs-batching trade-off in
CAPABILITIES.md ## Capabilities and modes. - "What version of DOCA + CUDA Toolkit do I need for
this binary to build and run?" — worked example: "my
install has DOCA at one semver and CUDA at another;
will the ToT-shipped
gpunetio_ib_write_lateven link?". Answered by the version overlay inCAPABILITIES.md ## Version compatibility. - "How do I read the half-iter / full-iter / CUDA-side
usec columns?" — worked example: "the binary printed
half-iter, full-iter, and a CUDA-side number — what is
the right column to quote for one-way latency vs
round-trip vs cross-check?". Answered by the column-
semantics rule in
CAPABILITIES.md ## Observability.
Audience
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:
- A developer designing a GPU-resident real-time control loop and deciding whether the GPUNetIO path's tail latency fits the deadline.
- A platform operator validating a tuning change (NUMA pinning, GPU PCIe placement, IB device choice, GID index, NIC firmware burn) by re-running this benchmark against the new state.
- An SRE / performance engineer producing a "this is the GPUNetIO-driven WRITE latency on this GPU-NIC pair today, with median + p99 + jitter" artifact downstream consumers can cite.
- An AI agent answering "is the doca-gpunetio latency budget acceptable for this real-time workload class" honestly — with measured numbers, the build + invocation that produced them, and the GPU + NIC + DOCA version that scopes them — rather than guessing.
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).
Language scope
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.
When to load this skill
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:
- Measuring kernel-initiated RDMA WRITE latency between two hosts (or a host and a BlueField DPU) with the GPUNetIO surface.
- Characterizing tail latency (p99 / p99.9) and jitter for a real-time / control-loop workload class.
- Deciding whether the GPUNetIO path is the right runtime
surface for a class of workload vs the GPI programming
surface (the
doca-gpilibrary —doca/tools/ships no GPI benchmark binary) or the classic CPU-initiatedperftestpath. - Capturing a documented baseline (build + invocation + DOCA version + GPU + NIC + as-deployed environment + numbers) for later regression hunts.
- Diagnosing a build / link / run failure that surfaces the GPUNetIO + RDMA bring-up sequence under this tool's shipped scaffolding.
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.
What this skill provides
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.pcPLUS CUDA Toolkit), the layered error taxonomy, the observability surface (stdout report including the timeout knob thegpunetio_rdma_write_lat_*kernel functions surface per the verifiedcommon.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 aDeferred task verbsblock.
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.
What this skill deliberately does not ship
This skill is agent guidance, not a samples or scripts bundle. It deliberately does not contain — and pull requests should not add:
- Specific flag strings or expected latency numbers
beyond what the tool's shipped
--helpandmain.cARGP 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--helpon the installed version. - Pre-written DOCA GPUNetIO or CUDA kernel source
code that would compete with the shipped tool tree.
The shipped
client/,server/, andcommon/subtrees are the verified worked example. - Wrappers, parsers, or scripts in any language that
consume the tool's stdout. The output format is small
and documented in
CAPABILITIES.md ## Observability. - A
samples/,bindings/, orreference/subtree. This is a thin loader for a shipped tool tree.
Loading order
- Read this
SKILL.mdfirst to confirm the user's question is in scope (the u
Truncated for display — read the full file on GitHub.
Related Skills
ai-job-search
44.4kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
claude-howto
41.7kA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
pptx
177.9kUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an em…
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
