Dev & Engineering ✓ NVIDIA · Official doca-dmabluefield-dpuconnectxmemory-copyscatter-gatherdoca-mmapc-cpp

DOCA DMA Development Guide

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

FollowSkills review · FSRS-2.0
Not recommended
54/ 100 5-point scale 2.7 / 5
Trust17 / 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.

Reliability8 / 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.

Adaptability11 / 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.

Convention9 / 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.

Effectiveness6 / 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.

Verifiability3 / 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.

Evidence confidence:Low Reviewed Jul 20, 2026 Reviewed revision 55f18499943e
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.
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.
Review evidence [1][2][3][4][5][6][7][8][9]
See the full review method →

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.

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

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 do you install this skill?

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.

How do you use this skill?

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.

How does this skill compare with similar options?

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.

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.

Dev & Engineering ✓ NVIDIA · Official

DOCA Common Foundation

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

Dev & Engineering ✓ NVIDIA · Official

DOCA Compress Hardware Offload

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

Dev & Engineering ✓ NVIDIA · Official

DOCA AES-GCM Acceleration

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

Dev & Engineering ✓ NVIDIA · Official

DOCA SHA Acceleration

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

Dev & Engineering ✓ NVIDIA · Official

DOCA Telemetry Exporter Development

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

Dev & Engineering ✓ NVIDIA · Official

DOCA Erasure Coding Development Skill

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

Dev & Engineering ✓ NVIDIA · Official

DOCA Flow Tune

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

Dev & Engineering ✓ NVIDIA · Official

DOCA GPI GPU-Initiated RDMA Skill

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

Dev & Engineering ✓ NVIDIA · Official

DOCA Rivermax Receive Development

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

Dev & Engineering ✓ NVIDIA · Official

DOCA Ethernet Queue Development

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

Dev & Engineering ✓ NVIDIA · Official

DOCA Hardware Telemetry Counter Reader

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

Dev & Engineering ✓ NVIDIA · Official

DOCA RDMA Programming Guide

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

Dev & Engineering ✓ NVIDIA · Official

DOCA Programming Guide

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

Dev & Engineering ✓ NVIDIA · Official

DOCA Device Management Development Skill

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

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.

Dev & Engineering ✓ NVIDIA · Official

DOCA PCC Custom Congestion Control

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

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.

Dev & Engineering ✓ NVIDIA · Official

DOCA DPA Host-Side Development

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

Dev & Engineering ✓ NVIDIA · Official

DOCA Flow DPA Performance

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

Related skills