doca-perftest · git:20261028.b75adbc · 2026-10-28 · sha256 4b363b8649625d23
doca-perftest git:20261028.b75adbcA
Immutable. This exact content never changes and is served at /api/v1/blob/4b363b8649625d23.
---
license: Apache-2.0
name: doca-perftest
description: >
Use this skill when the user is running DOCA Perftest (doca_perftest), the
RDMA benchmark that measures bandwidth, message rate and latency for RDMA
verbs, point-to-point or across a cluster, with an optional DOCA Verbs
backend (-r dv) or GPUNetIO engine (--engine gpunetio). Trigger even when the
user does not say "DOCA Perftest" — implicit phrasings include "how do I
benchmark RDMA write bandwidth with DOCA", "run ib_write_bw but across 8
nodes", "perftest says the device is busy", "my latency numbers differ between
client and server", "launch the server over SSH", or "run an all-to-all RDMA
test from a JSON scenario". Refuse and route elsewhere for DOCA install
(doca-setup), DOCA Bench (doca-bench), and application-level throughput.
metadata:
author: NVIDIA <doca-feedback@nvidia.com>
kind: tool
doca_version: "3.5"
tags:
- doca
- rdma
- benchmark
- perftest
compatibility: >
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.
---
# 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 ibv` vs `-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 ibv` vs `-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
1. This file for scope and routing.
2. `TASKS.md` for the exact command for the job you are doing.
3. `CAPABILITIES.md` when 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.md` first.
- Failure diagnosis: `doca-debug/SKILL.md` for the layer ladder, then the `TASKS.md ## debug` anchor 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.