doca-bench
Run `doca_bench` (DOCA 2.7.0 or newer) to measure throughput, bulk latency, precision latency, or maximum bandwidth for RDMA, Compress, AES-GCM, SHA, DMA, EC, Ethernet, Comch, or GPUNetIO on a host or BlueField Arm.
Install / Use
npx skills add NVIDIA/skills --skill doca-benchInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Development & EngineeringSupported Platforms
Tags
Our assessment of doca-bench
doca-bench scores 88/100 on our quality scale, 958th of 3,356 Development & Engineering skills we index (top 29%).
Its SKILL.md is 14 KB long, well organised into 8 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-bench 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-bench compared with similar skills
All 4 of these similar skills score higher than doca-bench; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| doca-bench (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-bench?
- Run
npx skills add NVIDIA/skills --skill doca-bench. The install tabs above show the steps for each supported agent. - Which AI agents does doca-bench 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-bench 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-bench still maintained?
- The repository was last updated 5 days ago, so doca-bench is actively maintained.
Skill content
View source on GitHublicense: Apache-2.0
name: doca-bench
description: >
Run doca_bench (DOCA 2.7.0 or newer) to measure throughput,
bulk latency, precision latency, or maximum bandwidth for RDMA,
Compress, AES-GCM, SHA, DMA, EC, Ethernet, Comch, or GPUNetIO on
a host or BlueField Arm. Use it to discover enabled benchmark
libraries, capture a reproducible command/version/device/environment
baseline, compare stable runs against a declared tolerance, or
diagnose configuration, device-binding, workload-precondition, and
measurement failures. Trigger for requests such as measuring
BlueField compression speed, NIC RDMA throughput, crypto latency,
or a pre-upgrade baseline. Do not use for application end-to-end
timing, custom benchmark code, DOCA installation, or binary patches.
metadata:
kind: tool
compatibility: >
Requires DOCA SDK ≥ 2.7.0 installed at /opt/mellanox/doca on
Linux (Ubuntu 22.04/24.04 or RHEL/SLES) with a BlueField DPU or
ConnectX NIC attached and the doca_bench binary present at
/opt/mellanox/doca/tools/doca_bench. Companion app must run on
the far side for remote-memory / RDMA / Eth scenarios; host and
BlueField-Arm execution both supported.
DOCA Bench (doca_bench)
Where to start: This is a tool skill for invoking doca_bench,
the cross-library micro-benchmark harness. Open
TASKS.md and start at
## configure for the three-axis decision
(target library × workload shape × measurement axis), then
## run for the smoke-before-bulk flow. Open
CAPABILITIES.md when the question is what
doca_bench can measure, which DOCA libraries it can drive, or
how to interpret throughput / latency / op-rate output without
fooling yourself on warm-up or steady-state. If DOCA is not
installed yet, route to
doca-setup first; if the install
version is < 2.7.0, doca_bench is not shipped on this host.
Example questions this skill answers well
The CLASSES of doca_bench 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 does this DOCA library actually deliver on this device?" —
worked example: "throughput of DOCA Compress on my BlueField-3".
Answered by the three-axis configuration in
CAPABILITIES.md ## Capabilities and modes- the smoke-before-bulk flow in
TASKS.md ## run. The same shape answers "send-side throughput of DOCA RDMA" —doca_benchis cross-library, not single-library.
- the smoke-before-bulk flow in
- "Which DOCA libraries can
doca_benchactually drive on this install?" — worked example: "is doca_sha enumerable on a granular-build install". Answered by the built-in query system surfaced inCAPABILITIES.md ## Capabilities and modesTASKS.md ## configurestep 2 (probe-before-bench). Empty enumeration = library not installed, not bench failure.
- "Is this number reliable, or did I miss the warm-up?" —
worked example: "why does my first-second number differ from my
steady-state number". Answered by the measurement-soundness
overlay in
CAPABILITIES.md ## Error taxonomylayer 5 +TASKS.md ## test(the eval-loop overlay treats warm-up / steady-state / outliers as re-iteration triggers, not one-shot facts). - "Bench reports zero throughput / hangs at start / disagrees
with the public docs." — worked example: "
doca_benchshows zero ops for AES-GCM butdoca_capssays the device supports it". Answered by the layered error taxonomy inCAPABILITIES.md ## Error taxonomy(config-syntax → device-binding → library-precondition → workload-precondition → measurement-soundness → version → cross-cutting) +TASKS.md ## debug. - "How do I capture a baseline I can later regression-test
against?" — worked example: "snapshot decompress throughput
on this BlueField + DOCA version before a firmware update".
Answered by the CSV output + version-overlay rule in
TASKS.md ## test(capture command line + version + device + as-deployed environment alongside the numbers; quoting numbers without the four-tuple is the cross-version regression-hunt failure mode). - "
doca_benchreturns nothing for library X — what does that mean?" — worked example: "empty output for DOCA SHA". Answered by the empty-output interpretation rules inTASKS.md ## debug+CAPABILITIES.md ## Error taxonomy. Re-route throughdoca-capsfor the coarse per-device per-library capability ground truth, then back into bench once the capability is confirmed present.
Audience
This skill serves external operators, developers, and AI agents who need a reproducible, vendor-supported way to measure DOCA library performance on the user's actual install and device. Concretely:
- An external developer choosing between DOCA libraries (e.g. COMPRESS vs SHA vs DMA throughput) before committing an application design.
- A platform operator validating a tuning change (NUMA pinning,
driver upgrade, firmware burn) by re-running a captured
doca_benchbaseline against the new state. - An SRE / performance engineer producing a "this is what the device delivers today" artifact that downstream consumers (capacity planning, regression bisection) can cite.
- An AI agent answering "what throughput / latency should I expect from DOCA library X on device Y?" honestly — with a measured number, the command line that produced it, and the version + device + environment that scopes it — instead of guessing from datasheet headlines.
It is not for users debugging the doca_bench source code,
and not a substitute for the live public DOCA Bench guide on
docs.nvidia.com.
doca_bench is shipped as a tool (a single CLI binary plus a
companion app for the remote half of remote-memory / RDMA / Eth
scenarios), not a library you link against. The skill uses the
same kind: tool three-file shape as the rest of the bundle so
the agent's task-verb contract
(configure / build / modify / run / test / debug) is uniform
across libraries, services, and tools — even when individual
verbs collapse to a routing stub for a shipped binary.
When to load this skill
Load this skill when the user is — or the agent needs to — invoke
doca_bench on a real host with DOCA ≥ 2.7.0 installed (or
inside the public NGC DOCA container with the equivalent version)
to measure performance of a DOCA library. Concretely:
- Picking which DOCA library to benchmark for a candidate workload (RDMA vs COMPRESS vs DMA, etc.).
- Picking which measurement axis to ask for (throughput vs bulk
latency vs precision latency vs max-bandwidth) — the four modes
defined in
tools/bench/doca_bench/configuration.hppare not interchangeable. - Probing the install's granular-build state so the agent can honestly report "this library is not exposed on this install" instead of inventing a workload.
- Capturing a documented baseline (command line + version + device
- as-deployed environment + numbers) for later regression hunts.
- Requiring the workload owner to predeclare acceptable variance and obtaining two consecutive runs within that tolerance before reporting a stable result; otherwise escalating the variance.
- Diagnosing why a bench run reported zero / unstable / unexpected
results (the error-taxonomy walk in
TASKS.md ## debug).
Do not load this skill for general DOCA orientation, library
API work, or installation. For those, use
doca-public-knowledge-map,
the matching libs/<library> skill, or
doca-setup. Do not load it for
application-level end-to-end benchmarking either — doca_bench
measures the DOCA library surface, not the user's application
above it.
What this skill provides
This is a thin loader. Substantive material lives in two companion files:
CAPABILITIES.md— whatdoca_benchcan measure (the cross-library scope, the three-axis configuration model, the documented operating modes, the warm-up / pipeline / multi-core concepts that constrain measurement soundness), the version overlay (doca-bench-specific facts on top of the canonicaldoca-versionrules), the layered error taxonomy (config-syntax / device-binding / library-precondition / workload-precondition / measurement-soundness / version / cross-cutting), the observability surface (screen + CSV output, real-time stats, query system), and the safety posture (the public guide's "not for production" warning, the host vs BlueField execution rule, the companion-app attack surface).TASKS.md— step-by-step workflows for the in-scope task verbs:configure(the three-axis decision + the probe-before-bench step),build(route to install — the binary is shipped, the companion app is shipped),modify(refuse — do not patch the bench binary; modify the bench invocation instead),run(the smoke-before-bulk flow),test(the eval loop — warm-up, steady-state, outliers, cross-version),debug(walk the error taxonomy layer by layer), plus aDeferred task verbsblock routing out-of-scope questions and aCommand appendixofdoca_bench-specific invocation classes.
The skill assumes a host where DOCA ≥ 2.7.0 is already installed
(or the public NGC DOCA container is running at an equivalent
version) and the operator has whatever permissions the public
guide requires for doca_bench to bind devices and allocate
resources on their platform.
What this skill deliberately does not ship
This skill is agent guidance, not a samples or scripts bundle. To keep the boundary clean, it deliberately does not contain — and pull requests should not add:
- Specific flag strings or scenario / metric / attribute names
beyond what the public DOCA Bench guide documents. The flag
surface evolves and is install-specific; the documented
invocations +
--helpon the installed version are the authoritative answer. Inventing a flag is the most common hallucination failure for this skill. - Pre-baked example output or expected throughput numbers. Bench output is device-, version-, firmware-, NUMA-, and tuning-specific. A captured number pinned to one platform and one DOCA version misleads operators on a different platform / version.
- Wrappers, parsers, or scripts in any language that consume
doca_benchCSV or stdout. The output formats are documented; if a user wants to script against them, the right answer is "read the live guide, write the parser against your installed version". - A
samples/orreference/subtree. This is a thin loader for a documented CLI; substantive material lives on the public page and in--help.
Loading order
- Read this
SKILL.mdfirst to confirm the user's question is in scope (the user actually wants to invokedoca_benchfor measurement, not learn about a DOCA library in general). - For what
doca_benchmeasures, the three-axis model, the version overlay, the error taxonomy, observability surface, and safety posture, see CAPABILITIES.md. - For the documented invocations and the smoke-before-bulk
workflow —
configure,build,modify,run,test,debug— see TASKS.md.
Related skills
doca-public-knowledge-map— routing to the public DOCA Bench page ondocs.nvidia.comand the rest of the public DOCA documentat
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.
