Doca Perftest
NVIDIAOfficialCreated by NVIDIA
- Skill
- Tool integration
- Software development
- Apache-2.0
- Medium risk
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The doca-perftest skill assists users in executing and interpreting results from the doca_perftest utility, a performance benchmarking tool for RDMA verbs. It covers point-to-point and multi-node testing scenarios, including the use of DOCA Verbs and GPUNetIO backends. The skill provides instructions for configuring benchmarks, managing multi-node orchestration, and troubleshooting common issues like device contention or inconsistent latency metrics.
What it does
- Guides users through running RDMA bandwidth, message rate, and latency benchmarks.
- Supports configuration for point-to-point and cluster-wide multi-node testing.
- Facilitates comparison between IBV, DOCA Verbs, and GPUNetIO engine backends.
- Assists in interpreting benchmark results and diagnosing performance discrepancies.
- Provides troubleshooting steps for common runtime errors like device busy states.
When to use it
- When you need to measure RDMA performance metrics on systems with DOCA installed.
- When performing multi-node benchmarking using JSON scenarios or traffic patterns.
- When comparing different RDMA drivers or backends within the DOCA environment.
- When debugging inconsistent latency or bandwidth numbers between client and server nodes.
Advantages
- Streamlines the execution of complex multi-node RDMA performance tests.
- Provides clear guidance on backend selection for optimized testing.
- Helps identify and resolve common configuration issues in RDMA benchmarking.
- Standardizes the approach to performance measurement across DOCA-enabled clusters.
Usage examples
- “Run a point-to-point RDMA write bandwidth test.”
- The agent provides the command structure using -v write -m bw, explaining how to coordinate the server and client nodes.
- “Benchmark 16 nodes at once and get one report.”
- The agent explains how to use a JSON scenario or the --traffic_pattern flag to aggregate performance data across the cluster.
- “My latency numbers differ between client and server.”
- The agent guides the user to check NUMA placement, core affinity, and consistency in message sizes and verb types.
- “perftest says the device is busy”
- The agent provides troubleshooting steps to identify and clear processes holding the RDMA device.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/nvidia/doca-perftest/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip doca-perftest.zip -d .agents/skills
Documentation by NVIDIA
DOCA Perftest
When to load this skill
Load this skill when the user wants to — or the agent needs to — run
doca_perftest on a host with DOCA installed. Concretely:
Measuring RDMA bandwidth, message rate, or latency between two hosts (point-to-point) with a verb such as write / read / send.
Running the same benchmark across many nodes — JSON scenario or
--traffic_pattern(pair-wise, all-to-all), orchestrated over OpenMPI / passwordless SSH.Comparing the IBV and DOCA Verbs backends (
-r ibvvs-r dv) or driving the GPUNetIO engine (--engine gpunetio).Interpreting a run: client-vs-server number drift, "device busy", inconsistent latency across runs.
Do not load this skill for DOCA install (doca-setup), the doca-bench harness,
Flow pipeline tuning (doca-flow-tune), or application-level
throughput.
Examples
"Measure RDMA write bandwidth between two ConnectX-7 hosts with 64 KB messages." Point-to-point: run the server, then the client with
-n."I need latency across 16 nodes, all-to-all." Multi-node: JSON scenario or
--traffic_pattern, with OpenMPI."Compare the IBV and DOCA Verbs drivers on the same device." Same command,
-r ibvvs-r dv.
Instructions
Follow the loading order below. Open TASKS.md for the commands and CAPABILITIES.md for what the tool can measure and what it does not.
Where to start: DOCA Perftest is the DOCA 3.5 replacement for legacy ib_write_bw / ib_send_lat plus the orchestration scripts used to run them on many nodes. Start at TASKS.md ## point-to-point for a first run. Use ## multi-node for scenarios and ## debug when a run fails or the numbers look wrong.
If DOCA is not installed, route to doca-setup/SKILL.md. Client and server must run the same DOCA Perftest version; check with doca-version/SKILL.md before comparing numbers across hosts. If the question is about GPU-initiated RDMA in the user's own code, route to doca-gpunetio/SKILL.md.
Example questions this skill answers well
"Run a point-to-point RDMA write bandwidth test." Use
-d <dev> -n <server> -v write -m bw -s <size> -D <sec>; the client coordinates the server side over SSH (requires SSH key exchange set up beforehand)."Benchmark 16 nodes at once and get one report." Use a JSON scenario or
--traffic_pattern; the report aggregates per device, node and test."Latency differs between runs." Check the latency mode, the core and NUMA placement, and whether both sides use the same message size and verb.
Loading order
This file for scope and routing.
TASKS.mdfor the exact command for the job you are doing.CAPABILITIES.mdwhen you need to know whether a verb, driver, memory type or traffic pattern is supported.
Do not open every companion file.
Scope boundaries
Installs and driver packages:
doca-setup/SKILL.md.Version matching across client, server and DOCA release:
doca-version/SKILL.md.Any change to NIC or eswitch state, firmware, or host kernel settings (hugepages, IOMMU, PCIe rebind): follow
doca-hardware-safety/SKILL.mdfirst.Failure diagnosis:
doca-debug/SKILL.mdfor the layer ladder, then theTASKS.md ## debuganchor here.Upstream CPU-initiated
ib_write_bw: this tool replaces it on DOCA 3.5; do not mix the two in one comparison without saying so.
Files
- ATTRIBUTION.mdAdded by AutoGineer897 B
- BENCHMARK.md10.3 KiB
- CAPABILITIES.md2.9 KiB
- LICENSELicence file added by AutoGineer11.2 KiB
- SKILL.md4.6 KiB
- SKILLCARD.yaml2.4 KiB
- TASKS.md4.7 KiB
- evals/evals.json2.9 KiB
- skill-card.md4.7 KiB
- skill.oms.sig5.1 KiB
evals/evals.json
{
"skill_name": "doca-perftest",
"evals": [
{
"id": "doca-perftest.explicit-positive.v1",
"prompt": "Use the doca-perftest skill for this task: I'm running into this: \"run ib_write_bw but across 8 nodes with one report\". Can you walk me through it?",
"expected_skill": "doca-perftest",
"expected_output": "The agent selects the doca-perftest skill and answers from its documented workflow, quoting only real symbols/commands from the bundle (no invented tokens).",
"assertions": [
"The doca-perftest skill is selected and its SKILL.md/TASKS.md drive the answer.",
"Every symbol, flag, or command named is traceable to the bundle (no invented tokens)."
]
},
{
"id": "doca-perftest.implicit-positive.v1",
"prompt": "I'm running into this: \"run ib_write_bw but across 8 nodes with one report\". Can you walk me through it?",
"expected_skill": "doca-perftest",
"expected_output": "The agent recognizes this as a doca-perftest issue even though the skill is not named, loads it, and answers grounded in the bundle.",
"assertions": [
"The answer engages the request directly rather than deflecting it.",
"The answer stays grounded in real bundle symbols/commands."
]
},
{
"id": "doca-perftest.implicit-positive.v2",
"prompt": "I'm running into this: \"my latency numbers differ between client and server on the same run\". Can you walk me through it?",
"expected_skill": "doca-perftest",
"expected_output": "The agent recognizes this as a doca-perftest issue even though the skill is not named, loads it, and answers grounded in the bundle.",
"assertions": [
"The answer engages the request directly rather than deflecting it.",
"The answer stays grounded in real bundle symbols/commands."
]
},
{
"id": "doca-perftest.negative.v1",
"prompt": "I need to build a DOCA Flow pipeline that forwards packets between two representors and count hits per rule. How should I approach this?",
"expected_skill": null,
"expected_output": "PASS when the answer names doca-flow (the DOCA Flow library skill) as the guidance that owns this request — not doca-perftest.",
"assertions": [
"The answer names doca-flow as the skill that owns this request."
]
},
{
"id": "doca-perftest.negative.v2",
"prompt": "How many flow rules per second can the host CPU path install and delete? Which tool measures that?",
"expected_skill": "doca-flow-tune",
"expected_output": "PASS when the answer does not present doca-perftest (an RDMA data-plane benchmark) as the tool for Flow rule install/delete rates, and points to doca-flow-tune monitor mode for the running pipeline's rule-install rate.",
"assertions": [
"The answer keeps doca-perftest out of Flow rule-rate measurement and routes the question to doca-flow-tune."
]
}
]
}
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs Node.js
The author says: Requires DOCA 3.5 or later on Linux with a ConnectX or BlueField RDMA device, libibverbs (DOCA-OFED or upstream rdma-core), and OpenMPI for multi-node modes. The DOCA Verbs backend needs the doca-verbs package; the GPUNetIO engine needs doca-gpunetio, CUDA and a Volta+ GPU. Run benchmarks only on a trusted, non-shared fabric.
Security
What our scanner noticed· Medium risk
- Large base64-encoded blobs
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- NVIDIA
- Publisher
- NVIDIA (Official)
- Source
- NVIDIA/skills · skills/doca-perftest · commit fce3cca
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE-APACHE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by NVIDIA or NVIDIA.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download doca-perftest.zip