DOCA GPUNetIO WRITE Bandwidth Benchmark
Build, run, and interpret sustained RDMA WRITE bandwidth measurements driven by CUDA kernels through the DOCA GPUNetIO surface.
The documentation narrows scope, requires smoke testing and maintenance windows, and routes firmware, IOMMU, hugepage, and other hardware changes through a safety policy. However, the OOB exchange uses cleartext TCP and treats GPU handles and mmap descriptors as credentials without providing encryption, authentication, or rollback procedures, so points are deducted.
TASKS.md gives a fairly complete install, build, run, and layered-debug workflow, but the supplied files contain material inconsistencies: SKILL.md says the CUDA kernel is on the server, while CAPABILITIES.md places it on the client; TASKS.md also asks for a server GPU-address echo although the server is described as GPU-free. Static evidence cannot establish that the key path runs, so points are deducted.
Triggers, audience, prerequisites, and non-fit boundaries are explicit, and the skill distinguishes GPUNetIO, GPI, and CPU-initiated perftest. It provides no Chinese-language operating guidance and does not address mainland-China reachability or alternative sources for its DOCA, CUDA, and NVIDIA-documentation dependencies, so points are deducted.
The documentation has good layering, cross-links, task routing, limitation disclosures, and maintenance contacts. However, SKILL.md declares Apache-2.0 while SKILLCARD.yaml and skill-card.md claim Apache-2.0 AND CC-BY-4.0; version, signature, and scan fields remain TBD; and BENCHMARK.md contains path and metric-scope inconsistencies. These governance issues reduce the score.
The skill clearly covers GPU-NIC pairing, meson builds, smoke testing, throughput decomposition, and baseline recording, so it plausibly addresses the core task. It ships no scripts, fixed output parser, or directly reusable benchmark artifact, and results still require validation in the user's environment; the static calibration cap therefore applies and uncertainty is deducted.
The package includes committed capability guidance, task procedures, an evaluation report, and evals.json, providing some auditability. The evaluation dataset is unavailable, no committed key-path test suite or independent reproduction is supplied, and static review cannot validate commands or performance claims, so points are deducted.
- Resolve the client/server CUDA-kernel and GPU-echo inconsistencies before use; treat the shipped source and installed binary --help as authoritative.
- The OOB TCP channel carries handles and memory descriptors in cleartext; use only on a trusted network and within an explicit maintenance window, not on a shared production fabric.
- Reconcile the license, SKILL.md path, version/signature metadata, and benchmark-record inconsistencies.
- Do not treat the static documentation or evaluation report as executed validation of throughput or safety.
What does this skill do, and when should you use it?
This skill covers NVIDIA’s gpunetio_ib_write_bw client and server benchmark. It guides developers and performance engineers through measuring sustained RDMA WRITE bandwidth when a CUDA kernel posts work requests through DOCA GPUNetIO on a real GPU and InfiniBand device pair. It addresses prerequisites, Meson builds, client/server startup, result interpretation, bottleneck analysis, and failure diagnosis. It is not intended for general DOCA installation, GPUNetIO library development, CPU-initiated perftest, or application-level end-to-end throughput.
It guides checks for the DOCA SDK, CUDA Toolkit, GPU, InfiniBand RNIC, nvidia_peermem, and GPU-NIC pairing; builds the client and server under doca/tools/gpunetio_ib_write_bw/ with Meson and the doca-gpunetio, doca-rdma, and doca-common pkg-config modules; uses a TCP socket for out-of-band descriptor exchange; runs the benchmark; reads per-iteration bandwidth output; and helps decompose results into GPU occupancy, NIC issue rate, and link saturation.
- A performance engineer measures kernel-initiated sustained RDMA WRITE bandwidth between two hosts.
- A platform operator re-establishes a baseline after changing NUMA pinning, GPU PCIe placement, IB device selection, GID index, or NIC firmware.
- A developer compares the GPUNetIO path with the GPI programming surface or the CPU-initiated perftest path.
- An SRE records the measured WRITE bandwidth for a specific GPU-NIC pair, DOCA version, CUDA version, and deployed environment.
- An operator investigates Meson build failures, GPU-buffer registration issues involving nvidia_peermem, or run-to-run bandwidth variation.
What are this skill's strengths and limitations?
- Precisely targets sustained RDMA WRITE measurement with CUDA-kernel-submitted requests through GPUNetIO.
- Covers pairing prerequisites, build and run workflow, observability, version compatibility, and layered error diagnosis.
- Clearly distinguishes GPUNetIO, GPI, and CPU-initiated perftest measurement paths.
- Encourages reproducible records of GPU, NIC, DOCA version, invocation, and environment.
- Requires a real Linux DOCA, CUDA, NVIDIA GPU, and InfiniBand hardware environment.
- Depends on a suitable GPU-NIC topology, nvidia_peermem, and out-of-band TCP connectivity.
- It is guidance rather than a scripts bundle and provides no parser, wrapper, or replacement CUDA/DOCA kernel source.
- It provides no universal throughput numbers, and the supplied material does not identify an independent test suite or tested platform matrix.
How do you install this skill?
Install the NVIDIA skills collection with: npx skills add nvidia/skills. To install only this skill, use: npx skills add nvidia/skills --skill doca-gpunetio-ib-write-bw --yes. The skill directory is skills/doca-gpunetio-ib-write-bw/. Running the benchmark additionally requires Linux, an installed DOCA SDK, a compatible CUDA Toolkit and nvcc, an NVIDIA GPU, a BlueField DPU or ConnectX NIC, an InfiniBand RNIC, loaded nvidia_peermem, and the installed gpunetio_ib_write_bw sources. The supplied SKILL.md does not document the full DOCA installation procedure.
How do you use this skill?
Prompt an agent with a request such as “measure GPU-initiated GPUNetIO RDMA WRITE bandwidth” or “diagnose bandwidth swings in gpunetio_ib_write_bw.” Read SKILL.md first, then follow TASKS.md for configure, build, run, test, and debug. Build the client and server from doca/tools/gpunetio_ib_write_bw/, perform a smoke test before bulk measurements, and quote flags only after checking the installed binary’s --help because the skill deliberately avoids fixed flag strings and expected throughput values.
How does this skill compare with similar options?
Unlike upstream CPU-initiated perftest ib_write_bw, this benchmark measures the path where a CUDA kernel posts work requests through doca-gpunetio, so matching results should not be assumed. The skill also frames GPUNetIO versus GPI as a runtime-surface choice and distinguishes this bandwidth benchmark from the related GPUNetIO WRITE latency tool.