DOCA GPI GPU-Initiated RDMA Skill
Helps CUDA kernels drive RDMA queues directly from GPU memory without host-CPU mediation.
The documentation scopes the skill, requires secure handling of remote mmap and connection-info artifacts, and addresses handle lifetime and hardware-safety escalation. It does not clearly require user confirmation for remote RDMA effects or provide an application-level rollback mechanism, so points are deducted.
SKILL.md, CAPABILITIES.md, and TASKS.md provide lifecycle guidance, error taxonomy, observability, and failure routing. However, this review is static, key paths were not executed, and several dependencies are delegated to an installed DOCA environment, release notes, or other skills; the score therefore remains below the static ceiling.
Audience, trigger phrases, use cases, and out-of-scope boundaries are unusually explicit. The skill nevertheless requires a narrow BlueField/ConnectX, NVIDIA GPU, CUDA, Linux, and preinstalled DOCA environment; Chinese-language support is not described, and external documentation may be difficult to reach from mainland China, so points are deducted.
The loader plus CAPABILITIES.md, TASKS.md, related skills, dependency notes, examples, limitations, experimental-version warning, and contact paths form a useful structure. Maintenance ownership and changelog information are incomplete, SKILLCARD version/signature/timestamps remain TBD, and license/repository metadata is inconsistent, so points are deducted.
The files cover surface selection, object lifecycle, GPU-handle transfer, endpoint exchange, and debugging, which plausibly supports the core guidance task. There is no runnable code or template, results depend on the user's environment and external skills, and BENCHMARK.md says the evaluation dataset was unavailable; only limited static effectiveness credit is warranted.
The files identify concrete API symbols, paths, error classes, and a test workflow, and include a benchmark summary. They do not include the relevant headers, a committed CI test suite, or complete reproducible evaluation data; the report explicitly says the source dataset was unavailable, so only limited static evidence credit is justified.
- This is a static review; DOCA, CUDA, RDMA, and the tests were not executed. Do not treat the BENCHMARK.md PASS as independently reproducible evidence.
- GPU-initiated remote RDMA may read or modify remote memory. In production, confirm the authorized peer, protect connection-info and mmap descriptors, and validate stop, teardown, and failure-recovery behavior.
- Verify the installed DOCA/CUDA versions, headers, and device capabilities before use. The entire GPI surface is marked DOCA_EXPERIMENTAL, so upgrades require renewed end-to-end validation.
- License and skill-card metadata are inconsistent, and version/signature fields remain TBD; maintainers should reconcile them and add a change history before publication.
What does this skill do, and when should you use it?
This is a DOCA GPI-focused Agent Skill in NVIDIA's skills repository for developers using an NVIDIA GPU with a BlueField DPU or ConnectX NIC on the same host. It covers the GPI, domain, channel, and attribute-object model, including passing a GPU-side channel handle to a CUDA kernel. It also guides memory-map attachment, endpoint connection, channel sizing, and DOCA_ERROR_* troubleshooting. It does not install DOCA or cover the CUDA programming model, host-CPU-initiated RDMA, DPA-side initiation, or the doca-gpunetio Send/Receive API.
Guides inspection of libraries, headers, samples, and applications under /opt/mellanox/doca and checks the local installation with pkg-config doca-gpi. It explains how to create and configure doca_gpi, domain, and channel objects; set domain count, GID, port, and queue sizing; create channels; and obtain a doca_gpu_gpi_channel* handle for GPU use. It also covers local and remote mmap attachment, endpoint connection-info exchange, build and execution workflows, and layered diagnosis of DOCA_ERROR_* returned by doca_gpi_* calls. The skill itself does not ship buildable GPI application source, CUDA kernel templates, standalone build manifests, or samples/reference/bindings subtrees.
- A GPU-application developer whose CUDA kernel must post RDMA writes to remote memory can use it to choose between the lower-level GPI channel/queue surface and the higher-level doca-gpunetio Send/Receive surface.
- A developer creating GPI domains and channels, including configurations such as 64 channels or 1024-entry send queues, can use it for attribute sizing and lifecycle guidance.
- A developer who needs to pass the handle returned by doca_gpi_gpu_channel_get into a CUDA kernel can use it to understand the host-side and GPU-side boundary.
- A developer debugging DOCA_ERROR_* on a BlueField or ConnectX plus NVIDIA GPU system can use its layered checks for lifecycle ordering, GPU datapath assignment, CUDA-version mismatch, and lower-level failures.
What are this skill's strengths and limitations?
- Covers the GPI object model, GPU-handle handoff, memory attachment, endpoint connection, resource sizing, and error diagnosis.
- Clearly separates the roles of GPI, doca-gpunetio, doca-rdma, and doca-rdmi.
- Provides entry points for install, configure, build, modify, run, test, debug, and use workflows.
- Includes guidance for version matching, safety policy, and layered DOCA_ERROR_* diagnosis.
- Requires Linux, an installed DOCA SDK, CUDA Toolkit, a BlueField or ConnectX device, and an NVIDIA GPU, creating a substantial environment and hardware barrier.
- Does not provide copy-ready GPI application source, CUDA kernel templates, or standalone build files.
- Every public GPI symbol is marked DOCA_EXPERIMENTAL, so users must follow the locally installed version's API and compatibility constraints.
- Out of scope for DOCA installation, the CUDA programming model, and the higher-level GPU NetIO Send/Receive API.
How do you install this skill?
The repository README provides this collection install command: npx skills add nvidia/skills. To install only this skill, use: npx skills add nvidia/skills --skill doca-gpi --yes. The README does not document DOCA SDK or CUDA Toolkit installation; this skill requires DOCA to already be installed at /opt/mellanox/doca.
How do you use this skill?
Install the skill directory into the destination selected by the Skills CLI, then trigger it with a relevant request such as: "My CUDA kernel needs to post RDMA directly from GPU memory; how should I configure DOCA GPI?" For hands-on work, read TASKS.md; for GPI capabilities and object behavior, read CAPABILITIES.md. Load doca-gpunetio as well when the question includes CUDA kernel launch or device-side execution.
How does this skill compare with similar options?
Compared with doca-gpunetio, doca-gpi covers lower-level channel and queue control and owns GPI object creation, connection, and teardown; doca-gpunetio owns the CUDA-side device programming surface and higher-level Send/Receive API. Compared with doca-rdma, GPI targets GPU-initiated RDMA while doca-rdma covers the host-CPU-initiated RDMA queue lifecycle. Compared with doca-rdmi, GPI targets GPUs and RDMI targets DPA-side initiation.