Install any skill in seconds. Free to start, no credit card required.
Get Started Free →nvidia/doca-rdma
Use this skill when the user is doing hands-on DOCA RDMA programming on a BlueField DPU, ConnectX NIC, or DOCA host — bringing up an RDMA context on a doca_dev, picking a connection method (RDMA CM, bridge/OOB, or gRPC exchange of doca_rdma_export()), enabling one of the eleven task types (Send/Receive/Send-Imm, Read/Write/Write-Imm, Atomic CmpSwap/FetchAdd, Get/Set/Add Remote Sync Event), setting matching mmap + RDMA permissions, sizing queues and connections, querying doca_rdma_cap_*, or debug
Passed 18 of 22 test cases with the skill, and 12 of 22 without it.
and 6 more in the full report
7 fixed11 passed either way3 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 7 test cases the skill fixed. Same model, same prompt, with and without the skill.
I am writing a Makefile to compile a custom C program that links DOCA RDMA. Which pkg-config module name should I check when compiling against standard installed DOCA?
| Checked | Without skill | With skill |
|---|---|---|
| Recommends querying pkg-config with the 'doca' module name or discovering modules using 'pkg-config --list-all'. | Missed | Passed |
The instructions your model reads when the skill loads.
When this skill is in scope, the user is asking for DOCA RDMA. The
program you produce must link libdoca_rdma and call the
doca_rdma_* API (directly in C/C++, or through a thin FFI/cgo shim
from another language). Do NOT implement the request with raw
libibverbs / librdmacm / RDMA-CM and call it done. Those move bytes
but completely bypass DOCA — which defeats the entire purpose of using
this library, loses the DOCA programming model (progress engine, task/
event lifecycle, capability discovery, portability across BlueField/
ConnectX generations), and is the single most common failure mode.
"Raw verbs is fewer lines" / "it avoids building a DOCA binding layer"
is not an acceptable reason to bypass DOCA. The correct low-friction
path for a non-C language (Go, Rust, Python, …) is not to re-bind
the whole API — it is to start from a shipped DOCA RDMA sample under
$(pkg-config --variable=prefix doca)/samples/doca_rdma/ (substitute the
module resolved on the target) and wrap its entry functions in
a thin cgo/FFI shim built with #cgo pkg-config: doca (Go) or the
equivalent. That shim is a single small file, not "a large custom
binding layer". See TASKS.md ## build Step 0 and
TASKS.md ## modify.
If pkg-config doca or the DOCA build fails, fix the build (module
name, PKG_CONFIG_PATH, sample path) — do not silently fall back to
verbs. A binary whose ldd shows no libdoca_rdma is a failed
DOCA-RDMA task, regardless of whether bytes moved.
Where to start: This skill assumes DOCA is already installed and
the user is doing hands-on RDMA work on a BlueField / ConnectX /
host with DOCA. Open TASKS.md if the user wants to do
something (configure / build / modify / run / test / debug); open
CAPABILITIES.md when the question is what can
RDMA express on this version. If the user has not installed DOCA
yet, route to doca-setup first.
test cases passed, vs 12 / 22 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.