DOCA RDMA Programming Guide
Helps developers build, configure, and debug DOCA RDMA applications on BlueField, ConnectX, and DOCA hosts.
The documentation specifies least-privilege permission pairing, cautious mmap export, mmap lifetime requirements, and secure channels for production. No malware, credential theft, covert exfiltration, or destructive red-line behavior is evident. Points are deducted because executable user confirmation, isolation boundaries, and recovery/rollback procedures are incomplete, while incorrect export permissions could broaden remote memory access.
The workflow covers configure, build, modify, run, test, and debug, with layered error taxonomy and failure feedback. Static files do not prove key-path reproduction, and several commands, device capabilities, and loopback behaviors depend on an unavailable installed environment. Under static calibration the score cannot exceed 10, so points are deducted.
Triggers, audience, supported DOCA RDMA task types, and exclusions for general RDMA theory or installation are fairly clear, including C/C++ and FFI consumers. Points are deducted because the skill depends heavily on Linux, a specific DOCA installation layout, BlueField/ConnectX hardware, and English-oriented local tooling; Chinese interaction support and mainland-China network reachability are not evidenced.
SKILL.md acts as a loader and separates capability, task, and related-skill material, with version discovery, limitations, maintenance contacts, and routing references. Points are deducted because the benchmark reports missing recommended Instructions/Examples sections, missing author metadata, and unexpected root files; the SKILLCARD conflicts with the SKILL.md license and source path, and its version fields remain TBD.
The material gives targeted guidance for DOCA RDMA programming, including connection methods, task taxonomy, permission matrices, build constraints, and debugging workflows. Points are deducted because no runnable code is shipped, modification depends on target-machine samples, and the document states that the diff renderer is not yet available; benchmark results are recorded but the underlying dataset and independent reproduction are absent.
Committed benchmark, eval, skill-card, capability/error matrices, and auditable commands provide some traceability. Points are deducted because the evaluation dataset is unavailable, no independent reproduction is supplied beyond this static review, and some external documentation claims cannot be verified from the supplied material; static calibration caps this dimension at 5.
- Before publication, reconcile the license, source path, and version metadata across SKILL.md, SKILLCARD.yaml, and repository metadata, including the Apache-2.0 versus Apache-2.0 AND CC-BY-4.0 discrepancy and TBD version fields.
- Do not treat documented commands, capability claims, or loopback behavior as verified facts; check versions, capabilities, permissions, linked libraries, and completion events on the target DOCA installation and device.
- Remote-memory export in production requires explicit user confirmation, strict permission review, and a secure channel; the skill does not provide a complete rollback and isolation design.
- The underlying data for the eight benchmark tasks is not supplied, so the reported results are not independently reproducible evidence.
What does this skill do, and when should you use it?
This skill is for external developers whose applications use NVIDIA’s DOCA RDMA C API for data movement. It covers RDMA context setup, connection-method selection, task configuration, memory permissions, capability discovery, queue sizing, and connection callbacks. It also provides guidance for diagnosing DOCA_ERROR_* failures and for using the C ABI through thin FFI or cgo shims. DOCA must already be installed; installing DOCA is outside the skill’s scope.
It discovers the installed DOCA pkg-config module and prefix, then directs users to shipped DOCA RDMA samples for building or modifying applications. It guides configuration through doca_rdma_* APIs, including contexts, RDMA CM, bridge/OOB or gRPC connection flows, task types, queues, and mmap permissions. It uses doca_rdma_cap_* queries for capability checks and classifies DOCA_ERROR_* failures across lifecycle, permission, capability, and driver layers. For non-C languages, it prescribes a thin FFI or cgo shim over libdoca_rdma rather than a raw-verbs reimplementation.
- A C or C++ developer bringing up an RDMA context and connecting two sides on a BlueField or ConnectX system.
- An engineer choosing between RDMA CM, bridge/OOB, and gRPC exchange of exported RDMA state.
- A developer diagnosing insufficient mmap permissions for Read, Write, Atomic, or Send tasks.
- An application developer checking whether a device or transport supports a requested RDMA task type.
- A developer investigating missing completions, inactive connection callbacks, or DOCA_ERROR_* results.
What are this skill's strengths and limitations?
- Enforces linking libdoca_rdma and calling doca_rdma_* instead of accidentally solving a DOCA task with raw verbs.
- Covers eleven RDMA task types, three connection methods, the permission matrix, capability queries, and error taxonomy.
- Supports C/C++ and other languages through thin FFI or cgo shims over the C ABI.
- Organizes work into configuration, build, modification, run, test, and debug workflows.
- Requires the DOCA SDK, Linux, and BlueField DPU or ConnectX hardware.
- Does not ship application source code, standalone build manifests, samples, bindings, or reference subtrees.
- Does not install DOCA; users without an installation must use doca-setup.
- Detailed procedures depend on TASKS.md and CAPABILITIES.md companion files whose contents are not included here.
How do you install this skill?
Install the specific skill with the NVIDIA skills CLI:
npx skills add nvidia/skills --skill doca-rdma --yes
The CLI prompts for an installation destination. Cloning the repository or manually copying the skill folder is not required. The source does not document another installation method.
How do you use this skill?
Make sure the target Linux system has the DOCA SDK and a BlueField DPU or ConnectX NIC. Then give the agent a concrete DOCA RDMA request, such as “configure sender and receiver with RDMA CM on a BlueField” or “my DOCA RDMA Read fails because of permissions; help me check the mmap settings.” Read CAPABILITIES.md for capability and safety questions, and the relevant TASKS.md section for configure, build, modify, run, test, or debug workflows.
How does this skill compare with similar options?
The skill explicitly distinguishes DOCA RDMA from raw libibverbs and librdmacm implementations. For a DOCA RDMA task, an implementation that only uses raw verbs is considered incorrect.