doca-dpa
Use this skill when the user is doing hands-on DOCA DPA host-side work on a BlueField — creating the `doca_dpa` Core context, loading a DPACC-compiled DPA app image (`doca_dpa_app`), creating DPA threads, launching kernels via `doca_dpa_kernel_launch_update_*`, draining `doca_dpa_completion`, running `doca_dpa_cap_*` discovery, choosing between the DPA comm component (inter-DPA messaging) and the DPA verbs component (in-kernel RDMA), or debugging `DOCA_ERROR_*` from `doca_dpa_*`. Trigger even without "DOCA DPA" or "Data-Path Accelerator": "run compute on the DPA from my host", "DPA kernel ha
npx skills add NVIDIA/skills --skill doca-dpa --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Guides hands-on host-side work with DOCA DPA: creating a doca_dpa context, loading a DPACC-compiled app image (doca_dpa_app), creating doca_dpa_thread contexts, launching kernels via doca_dpa_kernel_launch_update_, draining doca_dpa_completion, running doca_dpa_cap_ discovery, and debugging DOCA_ERROR_* from doca_dpa_*. It also covers choosing between the DPA comm component (inter-DPA messaging) and the DPA verbs component (in-kernel RDMA), and routing to other areas for DPA-side kernel programming or non-DPA topics. Trigger conditions include running compute on the DPA from host, kernel hangs, or DOCA_ERROR_DRIVER on launch, among others.
How it works
The skill lays out a host-side workflow for DOCA DPA usage: initialize a doca_dpa context against a doca_dev mapping to a BlueField with a visible DPA processor; load a doca_dpa_app image produced by dpacc; create one or more doca_dpa_thread execution contexts; launch DPA kernels using doca_dpa_kernel_launch_update_* with appropriate argument shapes; attach and drain doca_dpa_completion to observe completion; query host capabilities using doca_dpa_cap_* to reflect DPA features per BlueField generation; interpret DOCA_ERROR_* codes from doca_dpa_* calls to distinguish hardware, image, or driver-layer issues; and understand DPA-side code options (comms vs verbs) and related guidance in CAPABILITIES.md and TASKS.md. The skill also points users to CAPABILITIES.md and TASKS.md for detailed steps on configure, build, modify, run, test, and debug.
When to use it
Use when performing hands-on DOCA DPA host-side work from a host program or wrapper: initializing doca_dpa against a visible doca_dev, loading a DPA app image, creating doca_dpa_thread contexts, launching kernels, draining completions, discovering supported features, debugging DOCA_ERROR_, and validating host-DPA interactions. It applies regardless of whether you write host-side C or wrapper languages, as long as you drive doca_dpa_ APIs and have a matching DPACC compiler and DOCA setup.
What it can touch
- doca_dpa context initialization against doca_dev
- doca_dpa_app image loading
- doca_dpa_thread creation
- doca_dpa_kernel_launch_update_* for launching kernels
- doca_dpa_completion for observing completions
- doca_dpa_cap_* for capability discovery
- DOCA_ERROR_* from doca_dpa_* for debugging
- Options for DPA comms (libdoca_dpa_dev_comm.a) and DPA verbs (libdoca_dpa_dev_verbs.a) via references to headers and guidance in CAPABILITIES.md and TASKS.md
Caveats
- Requires DOCA SDK installed at /opt/mellanox/doca on Linux with a BlueField DPU exposing the DPA processor to the host, plus a DPACC compiler version compatible per the DOCA Compatibility Policy. Reads pkg-config --modversion doca-dpa and the installed dpacc version.
- This skill is an orientation/loader for host-side use; it does not ship pre-written DOCA DPA application or DPA-side kernel source, nor standalone build manifests or samples directories within the skill package. It routes users to shipped samples and companion guides for DPA-side development.
# DOCA DPA **Where to start:** This skill assumes DOCA is already installed, the user's BlueField has a DPA processor and the host can see it through DOCA, and the user is doing **hands-on DPA work from the host side** — i.e. using `doca-dpa` to load a DPA application image, launch DPA kernels, and exchange data with the DPA processor. Open [`TASKS.md`](TASKS.md) if the user wants to *do* somethin
What does the doca-dpa skill do?
Use this skill when the user is doing hands-on DOCA DPA host-side work on a BlueField — creating the `doca_dpa` Core context, loading a DPACC-compiled DPA app image (`doca_dpa_app`), creating DPA threads, launching kernels via `doca_dpa_kernel_launch_update_*`, draining `doca_dpa_completion`, running `doca_dpa_cap_*` discovery, choosing between the DPA comm component (inter-DPA messaging) and the DPA verbs component (in-kernel RDMA), or debugging `DOCA_ERROR_*` from `doca_dpa_*`. Trigger even without "DOCA DPA" or "Data-Path Accelerator": "run compute on the DPA from my host", "DPA kernel ha
How do I install it?
Run `npx skills add NVIDIA/skills --skill doca-dpa --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From NVIDIA/skills, a repository with 2,789 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
