Dev & Engineering ✓ NVIDIA · Official

DOCA DMA Development Guide

Guides hands-on DOCA DMA memory-copy development on BlueField and ConnectX systems.

54/ 100
Use with care

Useful, but reliability, evidence or controls still have material gaps.

See how it was scored ↓
Works as-is in
Codex · Claude Code
Stars
★ 3.8k
Last updated
today
License
Apache-2.0
doca-dmabluefield-dpuconnectxmemory-copy
+3scatter-gatherdoca-mmapc-cpp

What does this skill do, and when should you use it?

This skill supports external developers using the DOCA DMA C library to copy data between two doca_mmap regions through the BlueField DMA engine. It covers context and memcpy-task setup, capability discovery, mmap permissions, progress-engine submission and completion handling, and DOCA_ERROR_* debugging. It assumes the DOCA SDK is already installed on Linux and does not cover installation. Licensed Apache-2.0, it provides agent guidance rather than application source code, bindings, or standalone build manifests.

Checks the local DOCA installation with pkg-config doca-dma and by inspecting /opt/mellanox/doca/{lib,include,samples,applications}; guides configuration of a doca_dma context and doca_dma_task_memcpy; applies doca_dma_cap_task_memcpy_* queries for task support, maximum buffer size, and buffer-list length; configures source and destination doca_mmap permissions and, when needed, doca_mmap_export_*; guides task submission through a progress engine and completion handling; diagnoses DOCA_ERROR_* results; and routes network transfers, process messaging, and DOCA installation questions to related skills.

Good fit
  • C or C++ developers copying large buffers between host and DPU memory who need to configure a DMA context and memcpy task.
  • Engineers checking whether their device supports `doca_dma_task_memcpy` or determining the largest buffer supported in one task.
  • Developers whose first submission returns `DOCA_ERROR_NOT_PERMITTED` and who need to inspect source and destination mmap permissions.
  • Developers investigating missing completion events or `DOCA_ERROR_AGAIN` from a submitted DMA task.
  • Systems developers choosing among DOCA DMA, DOCA RDMA, DOCA Comch, and a plain CPU memcpy implementation.

How do you install this skill?

Before you use it
  • This skill guides BlueField/ConnectX DMA memory access; users should confirm the device, source and destination mmaps, permissions, length, and peer-to-peer data flow before execution, and review any sudo command.
  • Do not treat the BENCHMARK or SKILLCARD PASS, signature, or version fields as independently verified; the evaluation dataset is unavailable and several metadata fields remain TBD.
  • License declarations conflict across Apache-2.0, Apache-2.0 AND CC-BY-4.0, and NOASSERTION; this should be clarified before publication.
  • Core guidance depends on NVIDIA documentation and a local DOCA installation; Chinese support and mainland-China network reachability are not demonstrated.
Before you start
Your agent needs
  • Shell / CLI
  • Local filesystem
Install first
  • DOCA SDK at /opt/mellanox/doca
  • Linux
  • pkg-config
  • BlueField DPU or ConnectX NIC

Install the specific skill using the README-supported command: npx skills add nvidia/skills --skill doca-dma --yes. The skill becomes available to the agent for relevant tasks. The supplied source does not document a separate manual-copy procedure.

Generic route: install into Claude Code manually (macOS / Linux)
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/NVIDIA/skills.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/skills/doca-dma" ~/.claude/skills/
rm -rf "$tmp"

Generated from the source repository and skill path; it copies only this skill's folder. If the author's install steps above differ, follow those first. To scope it to one project, replace ~/.claude/skills with that project's .claude/skills.

How do you use this skill?

Try saying

Once installed, send your agent any of these to trigger it:

  • copy a host buffer to BlueField with DOCA DMA without using the CPU
  • my doca_dma_task_memcpy submission returns DOCA_ERROR_NOT_PERMITTED.

First install the DOCA SDK on Linux at /opt/mellanox/doca and attach a BlueField DPU or ConnectX NIC. Then ask an agent questions such as “copy a host buffer to BlueField with DOCA DMA without using the CPU” or “my doca_dma_task_memcpy submission returns DOCA_ERROR_NOT_PERMITTED.” The skill routes the question to CAPABILITIES.md or TASKS.md as appropriate.

What are this skill's strengths and limitations?

Pros
  • Covers DMA lifecycle, capability discovery, scatter-gather, mmap permissions, completion events, and error classification.
  • Explicitly distinguishes DMA from RDMA, Comch, and small CPU memcpy use cases.
  • Supports Rust, Go, Python, and other FFI consumers while treating the DOCA C ABI as authoritative.
  • The repository README documents ongoing synchronization and maintenance plus signature verification.
Limitations
  • Requires a pre-existing DOCA SDK installation; it does not install or configure DOCA.
  • Targets Linux systems with a BlueField DPU or ConnectX NIC; other platforms are not evidenced in the source.
  • Ships no pre-written DMA application code, samples subtree, bindings, or standalone build manifest.
  • The supplied material provides no skill-specific test suite, performance results, or detailed device compatibility matrix.

How does this skill compare with similar options?

Side by side with related skills; every score comes from the same FSRS standard.

Skill FS score Stars Last updated License
DOCA DMA Development Guide this page ✓ NVIDIA · Official 54 · Use with care ★ 3.8k today Apache-2.0
DOCA Arg Parser CLI ✓ NVIDIA · Official 55 · Use with care ★ 3.8k today Apache-2.0
DOCA Common Foundation ✓ NVIDIA · Official 55 · Use with care ★ 3.8k today Apache-2.0
DOCA Compress Hardware Offload ✓ NVIDIA · Official 58 · Recommended ★ 3.8k today Apache-2.0
DOCA AES-GCM Acceleration ✓ NVIDIA · Official 57 · Use with care ★ 3.8k today Apache-2.0

The skill explicitly compares DOCA DMA with DOCA RDMA, DOCA Comch, and plain CPU memcpy: use RDMA when data must cross a network, Comch for host-DPU producer/consumer messaging, and CPU memcpy for tiny one-shot copies.

How did FollowSkills review this skill?

FollowSkills review · FSRS-2.0
Use with care
54/ 100 5-point scale 2.7 / 5
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
1Trust17 / 25 · 3.4/5

The documentation scopes the skill to DOCA DMA, requires mmap permissions, device capability probing, and peer export, and asks users to confirm source, destination, and length before submission. It also routes installation elsewhere and generally presents commands as unprivileged unless noted. Deductions apply because DMA directly touches device memory, some diagnostics use sudo, execution confirmation, full data-flow disclosure, least-privilege guidance, and actionable rollback are incomplete; license metadata is inconsistent.

2Reliability8 / 20 · 2.0/5

SKILL.md, CAPABILITIES.md, and TASKS.md are largely consistent on lifecycle, capability checks, permission policy, error taxonomy, and failure feedback, and they require identifying DOCA_ERROR_* causes before retrying. Deductions apply because static review cannot reproduce key paths, no runnable implementation or committed key-path test suite is provided, and the boundary between single-buffer and scatter-gather descriptions is mildly unclear.

3Adaptability11 / 15 · 3.7/5

Audience, trigger phrases, positive scenarios, and refusal/routing boundaries are clearly described, including C/C++ and FFI users, Linux, BlueField/ConnectX, and the installed-DOCA prerequisite. Deductions apply because there is no Chinese-language guidance or localized example, some answers depend on NVIDIA online documentation, mainland-China reachability is not discussed, and environment-fit evidence is limited.

4Convention9 / 15 · 3.0/5

The material uses layered loader, capability, and task-workflow documentation and includes related skills, a command appendix, limitations, version handling, and issue/safety intake paths. Deductions apply because version, signature, and signing fields remain TBD, BENCHMARK reports a path inconsistent with the assessed path, author and maintenance responsibility are only indirectly established, license declarations conflict, and there is no clear changelog or complete parameter/FAQ section.

5Effectiveness6 / 15 · 2.0/5

The skill offers directly usable workflows for DMA setup, permissions, capability queries, and error diagnosis, with path selection and cross-peer rules. Deductions apply because it explicitly ships no runnable code, its modification renderer is deferred, and users must manually edit local samples and paste results back for validation; no statically verifiable representative final output is included, so substantial environment-specific review remains.

6Verifiability3 / 10 · 1.5/5

The files provide symbols, commands, paths, error mappings, an evaluation report, and external reference pointers, giving some auditability. Deductions apply because the evaluation dataset is unavailable, the report contains only aggregate figures, no independently reproducible test cases or CI coverage for key paths are shown, and static review cannot validate the underlying DOCA API claims.

1 2 3 4 5 6

Open a dimension to read why it scored that way

Reviewed Jul 20, 2026 Reviewed revision 55f18499943e Review evidence[1][2][3][4][5][6][7][8][9]

Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.

See the full review method →

FAQ

Does this skill install DOCA?
No. It assumes DOCA is already installed at `/opt/mellanox/doca`; installation is routed to `doca-setup`.
Does it generate a buildable DMA application?
No. It guides developers toward installed C samples and their own project, but deliberately ships no application source or standalone build manifest.
What can cause `DOCA_ERROR_NOT_PERMITTED` on the first submission?
The guidance checks mmap permissions, including `LOCAL_READ_ONLY` for the source and `LOCAL_READ_WRITE` for the destination, alongside the task-testing workflow.

More skills from this repository

All from NVIDIA/skills

Dev & Engineering ✓ NVIDIA · Official

DOCA Arg Parser CLI

Guides developers in building and debugging standard CLIs for DOCA applications.

★ 3.8k FS 55 Use with care today
Dev & Engineering ✓ NVIDIA · Official

DOCA Common Foundation

A shared programming foundation for DOCA applications on BlueField and ConnectX.

★ 3.8k FS 55 Use with care today
Dev & Engineering ✓ NVIDIA · Official

DOCA Compress Hardware Offload

Guides hands-on DEFLATE and LZ4 decompression development and debugging on BlueField and ConnectX platforms.

★ 3.8k FS 58 Recommended today
Dev & Engineering ✓ NVIDIA · Official

DOCA AES-GCM Acceleration

Configure, validate, and debug DOCA AES-GCM offload on BlueField DPUs and ConnectX NICs.

★ 3.8k FS 57 Use with care today
Dev & Engineering ✓ NVIDIA · Official

DOCA SHA Acceleration

Guidance for offloading SHA hashing to NVIDIA BlueField and ConnectX hardware.

★ 3.8k FS 56 Use with care today
Dev & Engineering ✓ NVIDIA · Official

DOCA Telemetry Exporter Development

Guides DOCA applications in defining, emitting, and debugging structured telemetry for external consumers.

★ 3.8k FS 55 Use with care today
Dev & Engineering ✓ NVIDIA · Official

DOCA Erasure Coding Development Skill

Guides hands-on DOCA Reed-Solomon resilience development and debugging on NVIDIA hardware.

★ 3.8k FS 49 Use with care today
Dev & Engineering ✓ NVIDIA · Official

DOCA Flow Tune

Guides engineers through snapshotting, analyzing, and optimizing live or captured DOCA Flow pipelines.

★ 3.8k FS 54 Use with care today
Dev & Engineering ✓ NVIDIA · Official

DOCA GPI GPU-Initiated RDMA Skill

Helps CUDA kernels drive RDMA queues directly from GPU memory without host-CPU mediation.

★ 3.8k FS 52 Use with care today
Dev & Engineering ✓ NVIDIA · Official

DOCA Rivermax Receive Development

Guides developers through building, validating, and debugging DOCA Rivermax receive applications for real-time network streams.

★ 3.8k FS 51 Use with care today
Dev & Engineering ✓ NVIDIA · Official

DOCA Ethernet Queue Development

Develop and debug DOCA Ethernet RX/TX queues on BlueField DPUs and ConnectX NICs.

★ 3.8k FS 55 Use with care today
Dev & Engineering ✓ NVIDIA · Official

DOCA Hardware Telemetry Counter Reader

Guides developers in reading per-domain hardware counters from BlueField and ConnectX devices.

★ 3.8k FS 60 Recommended today
Dev & Engineering ✓ NVIDIA · Official

DOCA RDMA Programming Guide

Helps developers build, configure, and debug DOCA RDMA applications on BlueField, ConnectX, and DOCA hosts.

★ 3.8k FS 56 Use with care today
Dev & Engineering ✓ NVIDIA · Official

DOCA Programming Guide

Guides developers through building, testing, and debugging library-agnostic DOCA applications from shipped samples.

★ 3.8k FS 54 Use with care today
Dev & Engineering ✓ NVIDIA · Official

DOCA Device Management Development Skill

Programmatically manage BlueField and ConnectX state through the DOCA C API.

★ 3.8k FS 53 Use with care today
Dev & Engineering ✓ NVIDIA · Official

DOCA UROM Host-Side Offload Development

Guides HPC, UCX, and MPI developers in offloading remote memory operations to a BlueField DPU.

★ 3.8k FS 52 Use with care today
Dev & Engineering ✓ NVIDIA · Official

DOCA PCC Custom Congestion Control

Guides host-side loading and troubleshooting of custom PCC algorithms on BlueField

★ 3.8k FS 51 Use with care today
Dev & Engineering ✓ NVIDIA · Official

DOCA Device Emulation Development

Guides developers in building custom PCIe devices on BlueField whose backend runs on the DPU and is visible to the host.

★ 3.8k FS 48 Use with care today
Dev & Engineering ✓ NVIDIA · Official

DOCA DPA Host-Side Development

Guides BlueField host programs through DOCA DPA loading, launch, capability checks, and debugging.

★ 3.8k FS 48 Use with care today
Dev & Engineering ✓ NVIDIA · Official

DOCA Flow DPA Performance

Guides defensible measurement of DOCA Flow rule-update and disable rates on DPA-capable NVIDIA hardware.

★ 3.8k FS 58 Recommended today

Related skills