[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-nvidia-doca-flow-dpa-provider":3,"mdc--v2fvnb-key":31,"related-repo-nvidia-doca-flow-dpa-provider":1694,"related-org-nvidia-doca-flow-dpa-provider":1800},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":20,"repoUrl":21,"updatedAt":22,"license":23,"forks":24,"topics":25,"repo":26,"sourceUrl":29,"mdContent":30},"doca-flow-dpa-provider","export DOCA Flow resources to DPA","Use this skill when the user is doing hands-on DOCA Flow DPA Provider work — exporting a `doca-flow` pipe or external resource (index-selector\u002Fmemory) into BlueField DPA address space so a DPACC-built kernel can read counters, mutate hash-pipe entries, and update\u002Fread memory or index-selector resources inline with Flow. Covers per-port `doca_flow_dpa_ctx`, three queue types (general\u002Fresources-write\u002Fresources-read), the order-sensitive export handshake (`_export_prepare` → add entries → `_export` → `_get_device_addr`), and DPA-side device API. Trigger even when the user does not say \"DOCA Flow DPA Provider\" — implicit phrasings include \"DPA kernel never sees entries in the exported pipe\", \"BAD_STATE from `_pipe_export`\", \"how do I disable a hash entry from a DPA kernel\", \"DPA memory read returns no value\", or \"DPA-side post keeps returning AGAIN\". Refuse and route elsewhere for `doca-flow` pipe construction, generic host-side DPA (`doca-dpa`), or DPA-side kernel-writing — those belong to other skills.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},"nvidia","NVIDIA","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fnvidia.png",[12,14,17],{"name":9,"slug":8,"type":13},"tag",{"name":15,"slug":16,"type":13},"Engineering","engineering",{"name":18,"slug":19,"type":13},"API Development","api-development",2473,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fskills","2026-07-20T06:24:36.49675","Apache-2.0",281,[],{"repoUrl":21,"stars":20,"forks":24,"topics":27,"description":28},[],"AI agent skills published by NVIDIA","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Fdoca-flow-dpa-provider","---\nlicense: Apache-2.0\nname: doca-flow-dpa-provider\ndescription: >\n  Use this skill when the user is doing hands-on DOCA Flow DPA\n  Provider work — exporting a `doca-flow` pipe or external\n  resource (index-selector\u002Fmemory) into BlueField DPA\n  address space so a DPACC-built kernel can read counters, mutate\n  hash-pipe entries, and update\u002Fread memory or index-selector\n  resources inline with Flow. Covers per-port\n  `doca_flow_dpa_ctx`, three queue types\n  (general\u002Fresources-write\u002Fresources-read), the order-sensitive\n  export handshake (`_export_prepare` → add entries → `_export` →\n  `_get_device_addr`), and DPA-side device API. Trigger even\n  when the user does not say \"DOCA Flow DPA Provider\" — implicit\n  phrasings include \"DPA kernel never sees entries in the exported\n  pipe\", \"BAD_STATE from `_pipe_export`\", \"how do I disable a hash\n  entry from a DPA kernel\", \"DPA memory read returns no value\", or\n  \"DPA-side post keeps returning AGAIN\". Refuse and route\n  elsewhere for `doca-flow` pipe construction, generic\n  host-side DPA (`doca-dpa`), or DPA-side kernel-writing — those\n  belong to other skills.\nmetadata:\n  kind: library\ncompatibility: >\n  Requires DOCA SDK installed at \u002Fopt\u002Fmellanox\u002Fdoca on Linux\n  (Ubuntu 22.04\u002F24.04 or RHEL\u002FSLES) with a BlueField DPU exposing\n  a DPA processor visible to the host, PLUS the DPACC compiler\n  installed at a version matched to DOCA per the DOCA Compatibility\n  Policy. Reads the user's local install via `pkg-config\n  doca-flow-dpa-provider` (cross-checked with `doca-flow`,\n  `doca-dpa`, and installed `dpacc`). ConnectX-only hosts cannot\n  use this library.\n---\n\n# DOCA Flow DPA Provider\n\n**Where to start:** This skill assumes DOCA is already\ninstalled, the user has a BlueField with a DPA processor that\nthe host can see through DOCA, the user already programs DOCA\nFlow from the host (`doca-flow`) and already runs DPA kernels\nfrom the host (`doca-dpa` \u002F DPACC compiler), and the user is\ndoing **hands-on DPA Flow Provider work** — i.e. using\n`doca-flow-dpa-provider` to export an existing DOCA Flow pipe\nor external resource into the DPA address space so a DPA\nkernel can manipulate it inline. Open [`TASKS.md`](TASKS.md)\nif the user wants to *do* something (configure \u002F build \u002F\nmodify \u002F run \u002F test \u002F debug); open\n[`CAPABILITIES.md`](CAPABILITIES.md) when the question is\n*what can the provider express* on this version + this\nBlueField generation. If the user has not installed DOCA yet,\nroute to [`doca-setup`](..\u002F..\u002Fdoca-setup\u002FSKILL.md) first; if\nthe user has not stood up a host-side Flow pipe yet, route to\n[`doca-flow`](..\u002Fdoca-flow\u002FSKILL.md) first; if the user has\nnot stood up host-side DPA execution yet, route to\n[`doca-dpa`](..\u002Fdoca-dpa\u002FSKILL.md) first.\n\n## Example questions this skill answers well\n\nThe CLASSES of DPA Flow Provider questions this skill is built\nto answer, each with one worked example. The agent should\ntreat the *class* as the load-bearing piece — the worked\nexample is a single instance.\n\n- **\"Is this library even the right tool for what I want?\"** —\n  worked example: *\"I want my DOCA Flow pipe to be readable\n  from a DPA kernel, OR I want to do something fancier than\n  the host-side `doca-flow` API exposes\"*. Answered by the\n  decision rule in\n  [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)\n  (\"three-program model: when this library is the right\n  surface vs pure host-side Flow vs pure DPA\"). Most\n  first-time askers do NOT need this library; the skill's\n  first job is to confirm they do.\n- **\"How do I export an existing DOCA Flow pipe to the DPA\n  side?\"** — worked example: *\"I have a Flow pipe with a\n  counter on every entry; I want a DPA kernel to read those\n  counters inline and decide what to do next\"*. Answered by\n  the host-side export sequence in\n  [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)\n  + the bring-up steps in\n  [`TASKS.md ## configure`](TASKS.md#configure).\n- **\"How do I drive the exported pipe from inside the DPA\n  kernel?\"** — worked example: *\"I have the device address of\n  an exported hash pipe; how do I disable an entry from the\n  DPA, and how do I know the operation completed?\"*.\n  Answered by the device-side API surface in\n  [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)\n  (\"DPA-side consumption\") + the host-side queue allocation\n  + DPA-side polling step in\n  [`TASKS.md ## run`](TASKS.md#run).\n- **\"What does this `DOCA_ERROR_*` from a\n  `doca_flow_dpa_*` call mean, and is the bug on the host\n  side, on the DPA side, or in the export handshake between\n  them?\"** — worked example: *\"`DOCA_ERROR_BAD_STATE` from\n  `doca_flow_dpa_pipe_export`\"*. Answered by the provider\n  overlay on the cross-library taxonomy in\n  [`CAPABILITIES.md ## Error taxonomy`](CAPABILITIES.md#error-taxonomy)\n  + the layered ladder in\n  [`TASKS.md ## debug`](TASKS.md#debug) that escalates to\n  [`doca-debug`](..\u002F..\u002Fdoca-debug\u002FSKILL.md).\n- **\"Why did my pipe export *succeed* but my DPA kernel never\n  sees entries?\"** — worked example: *\"I called\n  `doca_flow_dpa_pipe_export_prepare` AFTER adding entries to\n  the pipe\"*. Answered by the lifecycle ordering rule in\n  [`CAPABILITIES.md ## Safety policy`](CAPABILITIES.md#safety-policy)\n  + the staged-export workflow in\n  [`TASKS.md ## test`](TASKS.md#test).\n- **\"Is the host-side \u002F DPA-side provider API I'm reading\n  about on my installed DOCA?\"** — worked example: *\"is the\n  three-queue-type `doca_flow_dpa_queues_create` available\n  against the DOCA + DPACC versions on this host, or am I\n  still on the older `doca_flow_dpa_pipe_queues`-based\n  surface?\"*. Answered by the version-compatibility overlay\n  in\n  [`CAPABILITIES.md ## Version compatibility`](CAPABILITIES.md#version-compatibility)\n  which cross-links the canonical detection chain in\n  [`doca-version`](..\u002F..\u002Fdoca-version\u002FSKILL.md) and adds the\n  provider-specific overlay inherited from\n  [`doca-dpa`](..\u002Fdoca-dpa\u002FSKILL.md).\n\n## Audience\n\nThis skill serves **external developers building applications\nthat consume the DOCA Flow DPA Provider library** — i.e.,\nusers who already have a host-side `doca-flow` pipe and a\nhost-side `doca-dpa` execution context, and who want to wire\nthe two together so a DPA kernel can read counters from \u002F mutate\nentries of \u002F read or write external resources tied to that\nFlow pipe inline, instead of round-tripping through the host\nCPU. It is *not* for NVIDIA developers contributing to the\nprovider library itself, nor is it for users who only need\nhost-side Flow programming (that is `doca-flow`) or who only\nneed generic DPA compute that has nothing to do with Flow\n(that is `doca-dpa`).\n\n**Language scope.** DOCA Flow DPA Provider ships as a *paired*\nlibrary: a host-side C library (pkg-config module\n`doca-flow-dpa-provider`, header\n`doca_flow_dpa_provider.h`) plus a DPA-side device library\nthat the DPACC compiler links into the DPA-side translation\nunit when the kernel includes `doca_flow_dpa_provider_dev.h`.\nBoth halves are C. The shipped samples (under the installed\nDOCA samples tree) include both translation units. Other-\nlanguage host-side consumers can FFI the host C library, but\nthe DPA-side kernel has no FFI escape hatch (the DPACC\ncompiler accepts a single translation unit per kernel image).\nThe skill keeps the lifecycle, capability-discovery, env-\nprecondition, and error-taxonomy guidance language-neutral on\nthe host side, and points all DPA-side kernel-writing\nquestions at the public DOCA DPA and DOCA Flow programming\nguides via\n[`doca-public-knowledge-map`](..\u002F..\u002Fdoca-public-knowledge-map\u002FSKILL.md).\n\n## When to load this skill\n\nLoad this skill when the user is doing hands-on DOCA Flow DPA\nProvider work, in any host language plus a DPA-side\ntranslation unit built by `dpacc`. Concretely:\n\n- Initializing a `doca_flow_dpa_ctx` against a `flexio_process`\n  that maps to a BlueField with a DPA processor visible to\n  the host AND a host-side `doca-flow` port already brought\n  up against the same device.\n- Allocating the three DPA-side queue types (general \u002F\n  entries, resources-write, resources-read) for a port via\n  `doca_flow_dpa_queues_create`.\n- Exporting a host-side `doca_flow_pipe` to the DPA address\n  space via the\n  `doca_flow_dpa_pipe_export_prepare` → `_pipe_export` →\n  `_pipe_get_device_addr` sequence, BEFORE any entry is added\n  to the pipe.\n- Exporting an external Flow resource (index-selector\n  resource, memory resource) to the DPA via the matching\n  `doca_flow_dpa_external_resource_*` family.\n- Handing the resulting `doca_flow_dpa_addr` device pointer to\n  the DPA-side kernel so the kernel can call\n  `doca_flow_pipe_hash_*` \u002F `doca_flow_external_resource_*`\n  \u002F `doca_flow_queue_poll_completion` on it.\n- Debugging a `DOCA_ERROR_*` from a `doca_flow_dpa_*` call —\n  in particular disambiguating *export called too late in the\n  pipe lifecycle* from *queues not yet created* from *DPA-\n  side queue full and not drained*.\n- Designing host-side bindings in a non-C language that drive\n  the provider's host-side setup and hand the device address\n  off to a DPA application image built separately with\n  `dpacc`.\n\nDo **not** load this skill for general DOCA Flow programming\n(use [`doca-flow`](..\u002Fdoca-flow\u002FSKILL.md)), generic host-side\nDPA work (use [`doca-dpa`](..\u002Fdoca-dpa\u002FSKILL.md)), or DPA-\nside kernel-writing itself (route via\n[`doca-public-knowledge-map`](..\u002F..\u002Fdoca-public-knowledge-map\u002FSKILL.md)\nto the public DOCA DPA \u002F DPACC \u002F Flow programming guides).\n\n## What this skill provides\n\nThis is a **thin loader**. The body keeps only the orientation\nneeded to pick the right next file. The substantive\nprovider-specific material lives in two companion files:\n\n- `CAPABILITIES.md` — what the host-side and DPA-side provider\n  API can express on this version + this BlueField\n  generation: the per-port `doca_flow_dpa_ctx` context, the\n  three queue types (`DOCA_FLOW_DPA_QUEUE_TYPE_GENERAL` \u002F\n  `_RESOURCES_WRITE` \u002F `_RESOURCES_READ`), the\n  pipe-export handshake (prepare → export → get-device-addr),\n  the parallel external-resource-export handshake, the DPA-\n  side device API for hash-pipe entry manipulation\n  (`doca_flow_pipe_hash_enable_index` \u002F\n  `_hash_disable_index` \u002F `_hash_replace_index`), the DPA-\n  side device API for external resources\n  (`doca_flow_external_resource_index_selector_modify*`,\n  `doca_flow_external_resource_memory_update`,\n  `doca_flow_external_resource_memory_read*`), the\n  completion-queue polling\n  (`doca_flow_queue_poll_completion`), the\n  three-program-model rule (host-side `doca-flow` + host-side\n  `doca-dpa` + DPA-side kernel), the error taxonomy mapped\n  onto the cross-library `DOCA_ERROR_*` set, the\n  observability surface, and the safety policy that gates the\n  export lifecycle.\n- `TASKS.md` — step-by-step workflows for the in-scope\n  provider verbs: `install`, `configure`, `build`, `modify`,\n  `run`, `test`, `debug`, `use`. Plus a `Deferred task verbs`\n  block that points out-of-scope questions at the right next\n  skill.\n\nThe skill assumes a host where DOCA is already installed at\nthe standard location, a BlueField with a DPA processor is\nphysically present and visible to the host, the DPACC\ncompiler is installed at a version matched to the DOCA\ninstall per the DOCA Compatibility Policy, the user already\nknows how to bring up a `doca-flow` port and create a\nhost-side `doca_dpa` (or its FlexIO equivalent) for kernel\nexecution, and the user has at least a sketch of the DPA-side\nkernel that will consume the exported pipe device address.\n\n## What this skill deliberately does not ship\n\nThis skill is **agent guidance**, not a samples or templates\nbundle. To keep the boundary clean, it deliberately does not\ncontain — and pull requests should not add:\n\n- **Pre-written DOCA Flow DPA Provider application source\n  code or DPA-side kernel source, in any language.** The\n  verified provider source is the shipped C + DPA-side\n  samples under the installed DOCA samples tree (route via\n  [`doca-public-knowledge-map`](..\u002F..\u002Fdoca-public-knowledge-map\u002FSKILL.md)\n  for the per-install sample tree path). The agent's job is\n  to route the user to those files and prescribe a\n  minimum-diff modification on them via the universal\n  modify-a-sample workflow in\n  [`doca-programming-guide`](..\u002F..\u002Fdoca-programming-guide\u002FSKILL.md),\n  layered with the provider-specific overrides in\n  [`TASKS.md ## modify`](TASKS.md#modify).\n- **Standalone build manifests** (`meson.build`,\n  `CMakeLists.txt`, …) parked inside the skill. The agent\n  constructs the build manifest *in the user's project\n  directory* against the user's installed DOCA + DPACC\n  compiler, where `pkg-config --modversion\n  doca-flow-dpa-provider` (alongside `doca-flow` and\n  `doca-dpa`) and the installed `dpacc` are the joint sources\n  of truth.\n- **A `samples\u002F`, `bindings\u002F`, or `reference\u002F` subtree** of\n  any kind. A mock or incomplete artifact in this skill's\n  tree, even one labeled \"reference\", is misleading: users\n  will read it as buildable.\n- **Host-side `doca-flow` pipe-spec content.** That is\n  [`doca-flow`](..\u002Fdoca-flow\u002FSKILL.md)'s scope; this skill\n  *exports* an already-constructed pipe and does not redefine\n  how to construct it.\n- **DPA-side kernel programming generalities.** Writing the\n  DPA-side function body, allocating DPA memory inside the\n  kernel, intrinsics, DPA-side libraries like\n  `doca-dpa-comms` and `doca-dpa-verbs` — out of scope. Route\n  to the public DOCA DPA \u002F DPACC guides via\n  [`doca-public-knowledge-map`](..\u002F..\u002Fdoca-public-knowledge-map\u002FSKILL.md).\n\n## Loading order\n\n1. Read this `SKILL.md` first to confirm the user's question\n   is in scope (Flow-pipe-exported-to-DPA work, not pure\n   `doca-flow` work and not generic `doca-dpa` work).\n2. **For the provider capability matrix, the three-program\n   model, the per-port `doca_flow_dpa_ctx`, the three queue\n   types, the pipe-export and external-resource-export\n   handshakes, the DPA-side device API surface, the\n   completion model, the error taxonomy, the observability\n   surface, and the safety policy, see\n   [CAPABILITIES.md](CAPABILITIES.md).**\n3. **For step-by-step workflows — install, configure, build,\n   modify, run, test, debug, use — see\n   [TASKS.md](TASKS.md).**\n\nBoth companion files cross-link to each other,\n[`doca-flow`](..\u002Fdoca-flow\u002FSKILL.md) and\n[`doca-dpa`](..\u002Fdoca-dpa\u002FSKILL.md) for the host-side\nsurfaces this library bridges,\n[`doca-version`](..\u002F..\u002Fdoca-version\u002FSKILL.md) for the\ncanonical DOCA version-handling rules (with the\nDOCA-and-DPACC overlay inherited from\n[`doca-dpa`](..\u002Fdoca-dpa\u002FSKILL.md)), and\n[`doca-public-knowledge-map`](..\u002F..\u002Fdoca-public-knowledge-map\u002FSKILL.md)\nwhenever the right answer is \"look it up in the public DOCA\nFlow \u002F DOCA DPA \u002F DPACC programming guides, or in the on-disk\ninstall layout\" rather than \"provider-specific guidance\".\n\n## Related skills\n\n- [`doca-flow`](..\u002Fdoca-flow\u002FSKILL.md) — the canonical\n  host-side Flow programming skill. The Flow pipe this\n  library exports MUST be brought up against\n  [`doca-flow CAPABILITIES.md ## Capabilities and modes`](..\u002Fdoca-flow\u002FCAPABILITIES.md#capabilities-and-modes)\n  first; this skill only adds the DPA-export layer on top.\n- [`doca-dpa`](..\u002Fdoca-dpa\u002FSKILL.md) — the host-side DPA\n  control library. The DPA kernel that consumes the\n  exported device address is loaded and launched through\n  `doca-dpa` (or its FlexIO-process equivalent); this skill\n  inherits the two-side-program model, the DPACC-and-DOCA\n  version-match rule, and the env-precondition matrix from\n  there.\n- [`doca-public-knowledge-map`](..\u002F..\u002Fdoca-public-knowledge-map\u002FSKILL.md) —\n  routing table for every public DOCA documentation source\n  (DOCA Flow guide at\n  \u003Chttps:\u002F\u002Fdocs.nvidia.com\u002Fdoca\u002Fsdk\u002Fdoca-flow\u002Findex.html>;\n  DOCA DPA guide at\n  \u003Chttps:\u002F\u002Fdocs.nvidia.com\u002Fdoca\u002Fsdk\u002Fdoca-dpa\u002Findex.html>;\n  DPACC compiler guide and DPA Tools umbrella reachable from\n  the same routing table) and the on-disk layout of an\n  installed DOCA package.\n- [`doca-setup`](..\u002F..\u002Fdoca-setup\u002FSKILL.md) — env preparation,\n  install verification, DPACC compiler install \u002F\n  verification, and the *I have no install yet* path with\n  the public NGC DOCA container. This skill assumes its\n  preconditions are satisfied AND that DPACC is installed at\n  a version that matches DOCA.\n- [`doca-version`](..\u002F..\u002Fdoca-version\u002FSKILL.md) — canonical\n  DOCA version-handling rules. This skill's `## Version\n  compatibility` cross-links the four-way match rule and adds\n  the provider-specific *DOCA-and-DPACC must match* overlay\n  per the DOCA Compatibility Policy (inherited from\n  [`doca-dpa`](..\u002Fdoca-dpa\u002FSKILL.md)).\n- [`doca-structured-tools-contract`](..\u002F..\u002Fdoca-structured-tools-contract\u002FSKILL.md) —\n  the bundle's structured-tools precedence rule (detect \u002F\n  prefer \u002F fall back \u002F report). The Command appendix in\n  [TASKS.md](TASKS.md) honors this contract.\n- [`doca-programming-guide`](..\u002F..\u002Fdoca-programming-guide\u002FSKILL.md) —\n  general DOCA programming patterns: the canonical\n  `pkg-config` + meson build pattern, the universal\n  modify-a-shipped-sample first-app workflow, the universal\n  Core-context lifecycle, the cross-library `DOCA_ERROR_*`\n  taxonomy, and the program-side debug order. This skill\n  layers provider specifics on top.\n- [`doca-debug`](..\u002F..\u002Fdoca-debug\u002FSKILL.md) — the cross-cutting\n  debug ladder (install \u002F version \u002F build \u002F link \u002F runtime \u002F\n  program \u002F driver). Provider-specific debug (lifecycle-\n  ordering between Flow pipe creation, queue creation, export\n  prepare, entry add, export; queue-full on DPA-side polling;\n  pipe device address handed to a kernel that targets a\n  different `doca_flow_dpa_ctx`) overlays on top.\n- [`doca-hardware-safety`](..\u002F..\u002Fdoca-hardware-safety\u002FSKILL.md) —\n  cross-cutting hardware-safety meta-policy that this\n  skill's `## Safety policy` overlays. Because the exported\n  pipe is mutated inline by DPA-side kernel code, the\n  validate-before-commit discipline from `doca-flow` plus the\n  two-side-program rebuild discipline from `doca-dpa` BOTH\n  apply, and the meta-policy provides the cross-cutting\n  framing.\n\n",{"data":32,"body":36},{"license":23,"name":4,"description":6,"metadata":33,"compatibility":35},{"kind":34},"library","Requires DOCA SDK installed at \u002Fopt\u002Fmellanox\u002Fdoca on Linux (Ubuntu 22.04\u002F24.04 or RHEL\u002FSLES) with a BlueField DPU exposing a DPA processor visible to the host, PLUS the DPACC compiler installed at a version matched to DOCA per the DOCA Compatibility Policy. Reads the user's local install via `pkg-config doca-flow-dpa-provider` (cross-checked with `doca-flow`, `doca-dpa`, and installed `dpacc`). ConnectX-only hosts cannot use this library.\n",{"type":37,"children":38},"root",[39,47,162,169,181,525,531,578,629,635,648,825,866,872,884,1076,1096,1102,1114,1323,1329,1393,1447,1453],{"type":40,"tag":41,"props":42,"children":43},"element","h1",{"id":4},[44],{"type":45,"value":46},"text","DOCA Flow DPA Provider",{"type":40,"tag":48,"props":49,"children":50},"p",{},[51,57,59,66,68,74,76,81,83,88,90,100,102,108,110,119,121,126,128,138,140,149,151,160],{"type":40,"tag":52,"props":53,"children":54},"strong",{},[55],{"type":45,"value":56},"Where to start:",{"type":45,"value":58}," This skill assumes DOCA is already\ninstalled, the user has a BlueField with a DPA processor that\nthe host can see through DOCA, the user already programs DOCA\nFlow from the host (",{"type":40,"tag":60,"props":61,"children":63},"code",{"className":62},[],[64],{"type":45,"value":65},"doca-flow",{"type":45,"value":67},") and already runs DPA kernels\nfrom the host (",{"type":40,"tag":60,"props":69,"children":71},{"className":70},[],[72],{"type":45,"value":73},"doca-dpa",{"type":45,"value":75}," \u002F DPACC compiler), and the user is\ndoing ",{"type":40,"tag":52,"props":77,"children":78},{},[79],{"type":45,"value":80},"hands-on DPA Flow Provider work",{"type":45,"value":82}," — i.e. using\n",{"type":40,"tag":60,"props":84,"children":86},{"className":85},[],[87],{"type":45,"value":4},{"type":45,"value":89}," to export an existing DOCA Flow pipe\nor external resource into the DPA address space so a DPA\nkernel can manipulate it inline. Open ",{"type":40,"tag":91,"props":92,"children":94},"a",{"href":93},"TASKS.md",[95],{"type":40,"tag":60,"props":96,"children":98},{"className":97},[],[99],{"type":45,"value":93},{"type":45,"value":101},"\nif the user wants to ",{"type":40,"tag":103,"props":104,"children":105},"em",{},[106],{"type":45,"value":107},"do",{"type":45,"value":109}," something (configure \u002F build \u002F\nmodify \u002F run \u002F test \u002F debug); open\n",{"type":40,"tag":91,"props":111,"children":113},{"href":112},"CAPABILITIES.md",[114],{"type":40,"tag":60,"props":115,"children":117},{"className":116},[],[118],{"type":45,"value":112},{"type":45,"value":120}," when the question is\n",{"type":40,"tag":103,"props":122,"children":123},{},[124],{"type":45,"value":125},"what can the provider express",{"type":45,"value":127}," on this version + this\nBlueField generation. If the user has not installed DOCA yet,\nroute to ",{"type":40,"tag":91,"props":129,"children":131},{"href":130},"..\u002F..\u002Fdoca-setup\u002FSKILL.md",[132],{"type":40,"tag":60,"props":133,"children":135},{"className":134},[],[136],{"type":45,"value":137},"doca-setup",{"type":45,"value":139}," first; if\nthe user has not stood up a host-side Flow pipe yet, route to\n",{"type":40,"tag":91,"props":141,"children":143},{"href":142},"..\u002Fdoca-flow\u002FSKILL.md",[144],{"type":40,"tag":60,"props":145,"children":147},{"className":146},[],[148],{"type":45,"value":65},{"type":45,"value":150}," first; if the user has\nnot stood up host-side DPA execution yet, route to\n",{"type":40,"tag":91,"props":152,"children":154},{"href":153},"..\u002Fdoca-dpa\u002FSKILL.md",[155],{"type":40,"tag":60,"props":156,"children":158},{"className":157},[],[159],{"type":45,"value":73},{"type":45,"value":161}," first.",{"type":40,"tag":163,"props":164,"children":166},"h2",{"id":165},"example-questions-this-skill-answers-well",[167],{"type":45,"value":168},"Example questions this skill answers well",{"type":40,"tag":48,"props":170,"children":171},{},[172,174,179],{"type":45,"value":173},"The CLASSES of DPA Flow Provider questions this skill is built\nto answer, each with one worked example. The agent should\ntreat the ",{"type":40,"tag":103,"props":175,"children":176},{},[177],{"type":45,"value":178},"class",{"type":45,"value":180}," as the load-bearing piece — the worked\nexample is a single instance.",{"type":40,"tag":182,"props":183,"children":184},"ul",{},[185,222,267,312,400,460],{"type":40,"tag":186,"props":187,"children":188},"li",{},[189,194,196,208,210,220],{"type":40,"tag":52,"props":190,"children":191},{},[192],{"type":45,"value":193},"\"Is this library even the right tool for what I want?\"",{"type":45,"value":195}," —\nworked example: ",{"type":40,"tag":103,"props":197,"children":198},{},[199,201,206],{"type":45,"value":200},"\"I want my DOCA Flow pipe to be readable\nfrom a DPA kernel, OR I want to do something fancier than\nthe host-side ",{"type":40,"tag":60,"props":202,"children":204},{"className":203},[],[205],{"type":45,"value":65},{"type":45,"value":207}," API exposes\"",{"type":45,"value":209},". Answered by the\ndecision rule in\n",{"type":40,"tag":91,"props":211,"children":213},{"href":212},"CAPABILITIES.md#capabilities-and-modes",[214],{"type":40,"tag":60,"props":215,"children":217},{"className":216},[],[218],{"type":45,"value":219},"CAPABILITIES.md ## Capabilities and modes",{"type":45,"value":221},"\n(\"three-program model: when this library is the right\nsurface vs pure host-side Flow vs pure DPA\"). Most\nfirst-time askers do NOT need this library; the skill's\nfirst job is to confirm they do.",{"type":40,"tag":186,"props":223,"children":224},{},[225,230,232,237,239,247],{"type":40,"tag":52,"props":226,"children":227},{},[228],{"type":45,"value":229},"\"How do I export an existing DOCA Flow pipe to the DPA\nside?\"",{"type":45,"value":231}," — worked example: ",{"type":40,"tag":103,"props":233,"children":234},{},[235],{"type":45,"value":236},"\"I have a Flow pipe with a\ncounter on every entry; I want a DPA kernel to read those\ncounters inline and decide what to do next\"",{"type":45,"value":238},". Answered by\nthe host-side export sequence in\n",{"type":40,"tag":91,"props":240,"children":241},{"href":212},[242],{"type":40,"tag":60,"props":243,"children":245},{"className":244},[],[246],{"type":45,"value":219},{"type":40,"tag":182,"props":248,"children":249},{},[250],{"type":40,"tag":186,"props":251,"children":252},{},[253,255,265],{"type":45,"value":254},"the bring-up steps in\n",{"type":40,"tag":91,"props":256,"children":258},{"href":257},"TASKS.md#configure",[259],{"type":40,"tag":60,"props":260,"children":262},{"className":261},[],[263],{"type":45,"value":264},"TASKS.md ## configure",{"type":45,"value":266},".",{"type":40,"tag":186,"props":268,"children":269},{},[270,275,276,281,283,291,293],{"type":40,"tag":52,"props":271,"children":272},{},[273],{"type":45,"value":274},"\"How do I drive the exported pipe from inside the DPA\nkernel?\"",{"type":45,"value":231},{"type":40,"tag":103,"props":277,"children":278},{},[279],{"type":45,"value":280},"\"I have the device address of\nan exported hash pipe; how do I disable an entry from the\nDPA, and how do I know the operation completed?\"",{"type":45,"value":282},".\nAnswered by the device-side API surface in\n",{"type":40,"tag":91,"props":284,"children":285},{"href":212},[286],{"type":40,"tag":60,"props":287,"children":289},{"className":288},[],[290],{"type":45,"value":219},{"type":45,"value":292},"\n(\"DPA-side consumption\") + the host-side queue allocation\n",{"type":40,"tag":182,"props":294,"children":295},{},[296],{"type":40,"tag":186,"props":297,"children":298},{},[299,301,311],{"type":45,"value":300},"DPA-side polling step in\n",{"type":40,"tag":91,"props":302,"children":304},{"href":303},"TASKS.md#run",[305],{"type":40,"tag":60,"props":306,"children":308},{"className":307},[],[309],{"type":45,"value":310},"TASKS.md ## run",{"type":45,"value":266},{"type":40,"tag":186,"props":313,"children":314},{},[315,336,337,357,359,369],{"type":40,"tag":52,"props":316,"children":317},{},[318,320,326,328,334],{"type":45,"value":319},"\"What does this ",{"type":40,"tag":60,"props":321,"children":323},{"className":322},[],[324],{"type":45,"value":325},"DOCA_ERROR_*",{"type":45,"value":327}," from a\n",{"type":40,"tag":60,"props":329,"children":331},{"className":330},[],[332],{"type":45,"value":333},"doca_flow_dpa_*",{"type":45,"value":335}," call mean, and is the bug on the host\nside, on the DPA side, or in the export handshake between\nthem?\"",{"type":45,"value":231},{"type":40,"tag":103,"props":338,"children":339},{},[340,342,348,350,356],{"type":45,"value":341},"\"",{"type":40,"tag":60,"props":343,"children":345},{"className":344},[],[346],{"type":45,"value":347},"DOCA_ERROR_BAD_STATE",{"type":45,"value":349}," from\n",{"type":40,"tag":60,"props":351,"children":353},{"className":352},[],[354],{"type":45,"value":355},"doca_flow_dpa_pipe_export",{"type":45,"value":341},{"type":45,"value":358},". Answered by the provider\noverlay on the cross-library taxonomy in\n",{"type":40,"tag":91,"props":360,"children":362},{"href":361},"CAPABILITIES.md#error-taxonomy",[363],{"type":40,"tag":60,"props":364,"children":366},{"className":365},[],[367],{"type":45,"value":368},"CAPABILITIES.md ## Error taxonomy",{"type":40,"tag":182,"props":370,"children":371},{},[372],{"type":40,"tag":186,"props":373,"children":374},{},[375,377,387,389,399],{"type":45,"value":376},"the layered ladder in\n",{"type":40,"tag":91,"props":378,"children":380},{"href":379},"TASKS.md#debug",[381],{"type":40,"tag":60,"props":382,"children":384},{"className":383},[],[385],{"type":45,"value":386},"TASKS.md ## debug",{"type":45,"value":388}," that escalates to\n",{"type":40,"tag":91,"props":390,"children":392},{"href":391},"..\u002F..\u002Fdoca-debug\u002FSKILL.md",[393],{"type":40,"tag":60,"props":394,"children":396},{"className":395},[],[397],{"type":45,"value":398},"doca-debug",{"type":45,"value":266},{"type":40,"tag":186,"props":401,"children":402},{},[403,415,416,429,431,441],{"type":40,"tag":52,"props":404,"children":405},{},[406,408,413],{"type":45,"value":407},"\"Why did my pipe export ",{"type":40,"tag":103,"props":409,"children":410},{},[411],{"type":45,"value":412},"succeed",{"type":45,"value":414}," but my DPA kernel never\nsees entries?\"",{"type":45,"value":231},{"type":40,"tag":103,"props":417,"children":418},{},[419,421,427],{"type":45,"value":420},"\"I called\n",{"type":40,"tag":60,"props":422,"children":424},{"className":423},[],[425],{"type":45,"value":426},"doca_flow_dpa_pipe_export_prepare",{"type":45,"value":428}," AFTER adding entries to\nthe pipe\"",{"type":45,"value":430},". Answered by the lifecycle ordering rule in\n",{"type":40,"tag":91,"props":432,"children":434},{"href":433},"CAPABILITIES.md#safety-policy",[435],{"type":40,"tag":60,"props":436,"children":438},{"className":437},[],[439],{"type":45,"value":440},"CAPABILITIES.md ## Safety policy",{"type":40,"tag":182,"props":442,"children":443},{},[444],{"type":40,"tag":186,"props":445,"children":446},{},[447,449,459],{"type":45,"value":448},"the staged-export workflow in\n",{"type":40,"tag":91,"props":450,"children":452},{"href":451},"TASKS.md#test",[453],{"type":40,"tag":60,"props":454,"children":456},{"className":455},[],[457],{"type":45,"value":458},"TASKS.md ## test",{"type":45,"value":266},{"type":40,"tag":186,"props":461,"children":462},{},[463,468,469,490,492,502,504,514,516,524],{"type":40,"tag":52,"props":464,"children":465},{},[466],{"type":45,"value":467},"\"Is the host-side \u002F DPA-side provider API I'm reading\nabout on my installed DOCA?\"",{"type":45,"value":231},{"type":40,"tag":103,"props":470,"children":471},{},[472,474,480,482,488],{"type":45,"value":473},"\"is the\nthree-queue-type ",{"type":40,"tag":60,"props":475,"children":477},{"className":476},[],[478],{"type":45,"value":479},"doca_flow_dpa_queues_create",{"type":45,"value":481}," available\nagainst the DOCA + DPACC versions on this host, or am I\nstill on the older ",{"type":40,"tag":60,"props":483,"children":485},{"className":484},[],[486],{"type":45,"value":487},"doca_flow_dpa_pipe_queues",{"type":45,"value":489},"-based\nsurface?\"",{"type":45,"value":491},". Answered by the version-compatibility overlay\nin\n",{"type":40,"tag":91,"props":493,"children":495},{"href":494},"CAPABILITIES.md#version-compatibility",[496],{"type":40,"tag":60,"props":497,"children":499},{"className":498},[],[500],{"type":45,"value":501},"CAPABILITIES.md ## Version compatibility",{"type":45,"value":503},"\nwhich cross-links the canonical detection chain in\n",{"type":40,"tag":91,"props":505,"children":507},{"href":506},"..\u002F..\u002Fdoca-version\u002FSKILL.md",[508],{"type":40,"tag":60,"props":509,"children":511},{"className":510},[],[512],{"type":45,"value":513},"doca-version",{"type":45,"value":515}," and adds the\nprovider-specific overlay inherited from\n",{"type":40,"tag":91,"props":517,"children":518},{"href":153},[519],{"type":40,"tag":60,"props":520,"children":522},{"className":521},[],[523],{"type":45,"value":73},{"type":45,"value":266},{"type":40,"tag":163,"props":526,"children":528},{"id":527},"audience",[529],{"type":45,"value":530},"Audience",{"type":40,"tag":48,"props":532,"children":533},{},[534,536,541,543,548,550,555,557,562,564,569,571,576],{"type":45,"value":535},"This skill serves ",{"type":40,"tag":52,"props":537,"children":538},{},[539],{"type":45,"value":540},"external developers building applications\nthat consume the DOCA Flow DPA Provider library",{"type":45,"value":542}," — i.e.,\nusers who already have a host-side ",{"type":40,"tag":60,"props":544,"children":546},{"className":545},[],[547],{"type":45,"value":65},{"type":45,"value":549}," pipe and a\nhost-side ",{"type":40,"tag":60,"props":551,"children":553},{"className":552},[],[554],{"type":45,"value":73},{"type":45,"value":556}," execution context, and who want to wire\nthe two together so a DPA kernel can read counters from \u002F mutate\nentries of \u002F read or write external resources tied to that\nFlow pipe inline, instead of round-tripping through the host\nCPU. It is ",{"type":40,"tag":103,"props":558,"children":559},{},[560],{"type":45,"value":561},"not",{"type":45,"value":563}," for NVIDIA developers contributing to the\nprovider library itself, nor is it for users who only need\nhost-side Flow programming (that is ",{"type":40,"tag":60,"props":565,"children":567},{"className":566},[],[568],{"type":45,"value":65},{"type":45,"value":570},") or who only\nneed generic DPA compute that has nothing to do with Flow\n(that is ",{"type":40,"tag":60,"props":572,"children":574},{"className":573},[],[575],{"type":45,"value":73},{"type":45,"value":577},").",{"type":40,"tag":48,"props":579,"children":580},{},[581,586,588,593,595,600,602,608,610,616,618,628],{"type":40,"tag":52,"props":582,"children":583},{},[584],{"type":45,"value":585},"Language scope.",{"type":45,"value":587}," DOCA Flow DPA Provider ships as a ",{"type":40,"tag":103,"props":589,"children":590},{},[591],{"type":45,"value":592},"paired",{"type":45,"value":594},"\nlibrary: a host-side C library (pkg-config module\n",{"type":40,"tag":60,"props":596,"children":598},{"className":597},[],[599],{"type":45,"value":4},{"type":45,"value":601},", header\n",{"type":40,"tag":60,"props":603,"children":605},{"className":604},[],[606],{"type":45,"value":607},"doca_flow_dpa_provider.h",{"type":45,"value":609},") plus a DPA-side device library\nthat the DPACC compiler links into the DPA-side translation\nunit when the kernel includes ",{"type":40,"tag":60,"props":611,"children":613},{"className":612},[],[614],{"type":45,"value":615},"doca_flow_dpa_provider_dev.h",{"type":45,"value":617},".\nBoth halves are C. The shipped samples (under the installed\nDOCA samples tree) include both translation units. Other-\nlanguage host-side consumers can FFI the host C library, but\nthe DPA-side kernel has no FFI escape hatch (the DPACC\ncompiler accepts a single translation unit per kernel image).\nThe skill keeps the lifecycle, capability-discovery, env-\nprecondition, and error-taxonomy guidance language-neutral on\nthe host side, and points all DPA-side kernel-writing\nquestions at the public DOCA DPA and DOCA Flow programming\nguides via\n",{"type":40,"tag":91,"props":619,"children":621},{"href":620},"..\u002F..\u002Fdoca-public-knowledge-map\u002FSKILL.md",[622],{"type":40,"tag":60,"props":623,"children":625},{"className":624},[],[626],{"type":45,"value":627},"doca-public-knowledge-map",{"type":45,"value":266},{"type":40,"tag":163,"props":630,"children":632},{"id":631},"when-to-load-this-skill",[633],{"type":45,"value":634},"When to load this skill",{"type":40,"tag":48,"props":636,"children":637},{},[638,640,646],{"type":45,"value":639},"Load this skill when the user is doing hands-on DOCA Flow DPA\nProvider work, in any host language plus a DPA-side\ntranslation unit built by ",{"type":40,"tag":60,"props":641,"children":643},{"className":642},[],[644],{"type":45,"value":645},"dpacc",{"type":45,"value":647},". Concretely:",{"type":40,"tag":182,"props":649,"children":650},{},[651,679,690,726,739,776,814],{"type":40,"tag":186,"props":652,"children":653},{},[654,656,662,664,670,672,677],{"type":45,"value":655},"Initializing a ",{"type":40,"tag":60,"props":657,"children":659},{"className":658},[],[660],{"type":45,"value":661},"doca_flow_dpa_ctx",{"type":45,"value":663}," against a ",{"type":40,"tag":60,"props":665,"children":667},{"className":666},[],[668],{"type":45,"value":669},"flexio_process",{"type":45,"value":671},"\nthat maps to a BlueField with a DPA processor visible to\nthe host AND a host-side ",{"type":40,"tag":60,"props":673,"children":675},{"className":674},[],[676],{"type":45,"value":65},{"type":45,"value":678}," port already brought\nup against the same device.",{"type":40,"tag":186,"props":680,"children":681},{},[682,684,689],{"type":45,"value":683},"Allocating the three DPA-side queue types (general \u002F\nentries, resources-write, resources-read) for a port via\n",{"type":40,"tag":60,"props":685,"children":687},{"className":686},[],[688],{"type":45,"value":479},{"type":45,"value":266},{"type":40,"tag":186,"props":691,"children":692},{},[693,695,701,703,708,710,716,718,724],{"type":45,"value":694},"Exporting a host-side ",{"type":40,"tag":60,"props":696,"children":698},{"className":697},[],[699],{"type":45,"value":700},"doca_flow_pipe",{"type":45,"value":702}," to the DPA address\nspace via the\n",{"type":40,"tag":60,"props":704,"children":706},{"className":705},[],[707],{"type":45,"value":426},{"type":45,"value":709}," → ",{"type":40,"tag":60,"props":711,"children":713},{"className":712},[],[714],{"type":45,"value":715},"_pipe_export",{"type":45,"value":717}," →\n",{"type":40,"tag":60,"props":719,"children":721},{"className":720},[],[722],{"type":45,"value":723},"_pipe_get_device_addr",{"type":45,"value":725}," sequence, BEFORE any entry is added\nto the pipe.",{"type":40,"tag":186,"props":727,"children":728},{},[729,731,737],{"type":45,"value":730},"Exporting an external Flow resource (index-selector\nresource, memory resource) to the DPA via the matching\n",{"type":40,"tag":60,"props":732,"children":734},{"className":733},[],[735],{"type":45,"value":736},"doca_flow_dpa_external_resource_*",{"type":45,"value":738}," family.",{"type":40,"tag":186,"props":740,"children":741},{},[742,744,750,752,758,760,766,768,774],{"type":45,"value":743},"Handing the resulting ",{"type":40,"tag":60,"props":745,"children":747},{"className":746},[],[748],{"type":45,"value":749},"doca_flow_dpa_addr",{"type":45,"value":751}," device pointer to\nthe DPA-side kernel so the kernel can call\n",{"type":40,"tag":60,"props":753,"children":755},{"className":754},[],[756],{"type":45,"value":757},"doca_flow_pipe_hash_*",{"type":45,"value":759}," \u002F ",{"type":40,"tag":60,"props":761,"children":763},{"className":762},[],[764],{"type":45,"value":765},"doca_flow_external_resource_*",{"type":45,"value":767},"\n\u002F ",{"type":40,"tag":60,"props":769,"children":771},{"className":770},[],[772],{"type":45,"value":773},"doca_flow_queue_poll_completion",{"type":45,"value":775}," on it.",{"type":40,"tag":186,"props":777,"children":778},{},[779,781,786,788,793,795,800,802,807,808,813],{"type":45,"value":780},"Debugging a ",{"type":40,"tag":60,"props":782,"children":784},{"className":783},[],[785],{"type":45,"value":325},{"type":45,"value":787}," from a ",{"type":40,"tag":60,"props":789,"children":791},{"className":790},[],[792],{"type":45,"value":333},{"type":45,"value":794}," call —\nin particular disambiguating ",{"type":40,"tag":103,"props":796,"children":797},{},[798],{"type":45,"value":799},"export called too late in the\npipe lifecycle",{"type":45,"value":801}," from ",{"type":40,"tag":103,"props":803,"children":804},{},[805],{"type":45,"value":806},"queues not yet created",{"type":45,"value":801},{"type":40,"tag":103,"props":809,"children":810},{},[811],{"type":45,"value":812},"DPA-\nside queue full and not drained",{"type":45,"value":266},{"type":40,"tag":186,"props":815,"children":816},{},[817,819,824],{"type":45,"value":818},"Designing host-side bindings in a non-C language that drive\nthe provider's host-side setup and hand the device address\noff to a DPA application image built separately with\n",{"type":40,"tag":60,"props":820,"children":822},{"className":821},[],[823],{"type":45,"value":645},{"type":45,"value":266},{"type":40,"tag":48,"props":826,"children":827},{},[828,830,834,836,844,846,854,856,864],{"type":45,"value":829},"Do ",{"type":40,"tag":52,"props":831,"children":832},{},[833],{"type":45,"value":561},{"type":45,"value":835}," load this skill for general DOCA Flow programming\n(use ",{"type":40,"tag":91,"props":837,"children":838},{"href":142},[839],{"type":40,"tag":60,"props":840,"children":842},{"className":841},[],[843],{"type":45,"value":65},{"type":45,"value":845},"), generic host-side\nDPA work (use ",{"type":40,"tag":91,"props":847,"children":848},{"href":153},[849],{"type":40,"tag":60,"props":850,"children":852},{"className":851},[],[853],{"type":45,"value":73},{"type":45,"value":855},"), or DPA-\nside kernel-writing itself (route via\n",{"type":40,"tag":91,"props":857,"children":858},{"href":620},[859],{"type":40,"tag":60,"props":860,"children":862},{"className":861},[],[863],{"type":45,"value":627},{"type":45,"value":865},"\nto the public DOCA DPA \u002F DPACC \u002F Flow programming guides).",{"type":40,"tag":163,"props":867,"children":869},{"id":868},"what-this-skill-provides",[870],{"type":45,"value":871},"What this skill provides",{"type":40,"tag":48,"props":873,"children":874},{},[875,877,882],{"type":45,"value":876},"This is a ",{"type":40,"tag":52,"props":878,"children":879},{},[880],{"type":45,"value":881},"thin loader",{"type":45,"value":883},". The body keeps only the orientation\nneeded to pick the right next file. The substantive\nprovider-specific material lives in two companion files:",{"type":40,"tag":182,"props":885,"children":886},{},[887,1000],{"type":40,"tag":186,"props":888,"children":889},{},[890,895,897,902,904,910,912,918,919,925,927,933,934,940,941,947,949,955,957,963,964,970,972,977,979,984,986,991,993,998],{"type":40,"tag":60,"props":891,"children":893},{"className":892},[],[894],{"type":45,"value":112},{"type":45,"value":896}," — what the host-side and DPA-side provider\nAPI can express on this version + this BlueField\ngeneration: the per-port ",{"type":40,"tag":60,"props":898,"children":900},{"className":899},[],[901],{"type":45,"value":661},{"type":45,"value":903}," context, the\nthree queue types (",{"type":40,"tag":60,"props":905,"children":907},{"className":906},[],[908],{"type":45,"value":909},"DOCA_FLOW_DPA_QUEUE_TYPE_GENERAL",{"type":45,"value":911}," \u002F\n",{"type":40,"tag":60,"props":913,"children":915},{"className":914},[],[916],{"type":45,"value":917},"_RESOURCES_WRITE",{"type":45,"value":759},{"type":40,"tag":60,"props":920,"children":922},{"className":921},[],[923],{"type":45,"value":924},"_RESOURCES_READ",{"type":45,"value":926},"), the\npipe-export handshake (prepare → export → get-device-addr),\nthe parallel external-resource-export handshake, the DPA-\nside device API for hash-pipe entry manipulation\n(",{"type":40,"tag":60,"props":928,"children":930},{"className":929},[],[931],{"type":45,"value":932},"doca_flow_pipe_hash_enable_index",{"type":45,"value":911},{"type":40,"tag":60,"props":935,"children":937},{"className":936},[],[938],{"type":45,"value":939},"_hash_disable_index",{"type":45,"value":759},{"type":40,"tag":60,"props":942,"children":944},{"className":943},[],[945],{"type":45,"value":946},"_hash_replace_index",{"type":45,"value":948},"), the DPA-\nside device API for external resources\n(",{"type":40,"tag":60,"props":950,"children":952},{"className":951},[],[953],{"type":45,"value":954},"doca_flow_external_resource_index_selector_modify*",{"type":45,"value":956},",\n",{"type":40,"tag":60,"props":958,"children":960},{"className":959},[],[961],{"type":45,"value":962},"doca_flow_external_resource_memory_update",{"type":45,"value":956},{"type":40,"tag":60,"props":965,"children":967},{"className":966},[],[968],{"type":45,"value":969},"doca_flow_external_resource_memory_read*",{"type":45,"value":971},"), the\ncompletion-queue polling\n(",{"type":40,"tag":60,"props":973,"children":975},{"className":974},[],[976],{"type":45,"value":773},{"type":45,"value":978},"), the\nthree-program-model rule (host-side ",{"type":40,"tag":60,"props":980,"children":982},{"className":981},[],[983],{"type":45,"value":65},{"type":45,"value":985}," + host-side\n",{"type":40,"tag":60,"props":987,"children":989},{"className":988},[],[990],{"type":45,"value":73},{"type":45,"value":992}," + DPA-side kernel), the error taxonomy mapped\nonto the cross-library ",{"type":40,"tag":60,"props":994,"children":996},{"className":995},[],[997],{"type":45,"value":325},{"type":45,"value":999}," set, the\nobservability surface, and the safety policy that gates the\nexport lifecycle.",{"type":40,"tag":186,"props":1001,"children":1002},{},[1003,1008,1010,1016,1018,1024,1025,1031,1032,1038,1039,1045,1046,1052,1053,1059,1060,1066,1068,1074],{"type":40,"tag":60,"props":1004,"children":1006},{"className":1005},[],[1007],{"type":45,"value":93},{"type":45,"value":1009}," — step-by-step workflows for the in-scope\nprovider verbs: ",{"type":40,"tag":60,"props":1011,"children":1013},{"className":1012},[],[1014],{"type":45,"value":1015},"install",{"type":45,"value":1017},", ",{"type":40,"tag":60,"props":1019,"children":1021},{"className":1020},[],[1022],{"type":45,"value":1023},"configure",{"type":45,"value":1017},{"type":40,"tag":60,"props":1026,"children":1028},{"className":1027},[],[1029],{"type":45,"value":1030},"build",{"type":45,"value":1017},{"type":40,"tag":60,"props":1033,"children":1035},{"className":1034},[],[1036],{"type":45,"value":1037},"modify",{"type":45,"value":956},{"type":40,"tag":60,"props":1040,"children":1042},{"className":1041},[],[1043],{"type":45,"value":1044},"run",{"type":45,"value":1017},{"type":40,"tag":60,"props":1047,"children":1049},{"className":1048},[],[1050],{"type":45,"value":1051},"test",{"type":45,"value":1017},{"type":40,"tag":60,"props":1054,"children":1056},{"className":1055},[],[1057],{"type":45,"value":1058},"debug",{"type":45,"value":1017},{"type":40,"tag":60,"props":1061,"children":1063},{"className":1062},[],[1064],{"type":45,"value":1065},"use",{"type":45,"value":1067},". Plus a ",{"type":40,"tag":60,"props":1069,"children":1071},{"className":1070},[],[1072],{"type":45,"value":1073},"Deferred task verbs",{"type":45,"value":1075},"\nblock that points out-of-scope questions at the right next\nskill.",{"type":40,"tag":48,"props":1077,"children":1078},{},[1079,1081,1086,1088,1094],{"type":45,"value":1080},"The skill assumes a host where DOCA is already installed at\nthe standard location, a BlueField with a DPA processor is\nphysically present and visible to the host, the DPACC\ncompiler is installed at a version matched to the DOCA\ninstall per the DOCA Compatibility Policy, the user already\nknows how to bring up a ",{"type":40,"tag":60,"props":1082,"children":1084},{"className":1083},[],[1085],{"type":45,"value":65},{"type":45,"value":1087}," port and create a\nhost-side ",{"type":40,"tag":60,"props":1089,"children":1091},{"className":1090},[],[1092],{"type":45,"value":1093},"doca_dpa",{"type":45,"value":1095}," (or its FlexIO equivalent) for kernel\nexecution, and the user has at least a sketch of the DPA-side\nkernel that will consume the exported pipe device address.",{"type":40,"tag":163,"props":1097,"children":1099},{"id":1098},"what-this-skill-deliberately-does-not-ship",[1100],{"type":45,"value":1101},"What this skill deliberately does not ship",{"type":40,"tag":48,"props":1103,"children":1104},{},[1105,1107,1112],{"type":45,"value":1106},"This skill is ",{"type":40,"tag":52,"props":1108,"children":1109},{},[1110],{"type":45,"value":1111},"agent guidance",{"type":45,"value":1113},", not a samples or templates\nbundle. To keep the boundary clean, it deliberately does not\ncontain — and pull requests should not add:",{"type":40,"tag":182,"props":1115,"children":1116},{},[1117,1160,1221,1254,1288],{"type":40,"tag":186,"props":1118,"children":1119},{},[1120,1125,1127,1135,1137,1147,1149,1159],{"type":40,"tag":52,"props":1121,"children":1122},{},[1123],{"type":45,"value":1124},"Pre-written DOCA Flow DPA Provider application source\ncode or DPA-side kernel source, in any language.",{"type":45,"value":1126}," The\nverified provider source is the shipped C + DPA-side\nsamples under the installed DOCA samples tree (route via\n",{"type":40,"tag":91,"props":1128,"children":1129},{"href":620},[1130],{"type":40,"tag":60,"props":1131,"children":1133},{"className":1132},[],[1134],{"type":45,"value":627},{"type":45,"value":1136},"\nfor the per-install sample tree path). The agent's job is\nto route the user to those files and prescribe a\nminimum-diff modification on them via the universal\nmodify-a-sample workflow in\n",{"type":40,"tag":91,"props":1138,"children":1140},{"href":1139},"..\u002F..\u002Fdoca-programming-guide\u002FSKILL.md",[1141],{"type":40,"tag":60,"props":1142,"children":1144},{"className":1143},[],[1145],{"type":45,"value":1146},"doca-programming-guide",{"type":45,"value":1148},",\nlayered with the provider-specific overrides in\n",{"type":40,"tag":91,"props":1150,"children":1152},{"href":1151},"TASKS.md#modify",[1153],{"type":40,"tag":60,"props":1154,"children":1156},{"className":1155},[],[1157],{"type":45,"value":1158},"TASKS.md ## modify",{"type":45,"value":266},{"type":40,"tag":186,"props":1161,"children":1162},{},[1163,1168,1170,1176,1177,1183,1185,1190,1192,1198,1200,1205,1207,1212,1214,1219],{"type":40,"tag":52,"props":1164,"children":1165},{},[1166],{"type":45,"value":1167},"Standalone build manifests",{"type":45,"value":1169}," (",{"type":40,"tag":60,"props":1171,"children":1173},{"className":1172},[],[1174],{"type":45,"value":1175},"meson.build",{"type":45,"value":956},{"type":40,"tag":60,"props":1178,"children":1180},{"className":1179},[],[1181],{"type":45,"value":1182},"CMakeLists.txt",{"type":45,"value":1184},", …) parked inside the skill. The agent\nconstructs the build manifest ",{"type":40,"tag":103,"props":1186,"children":1187},{},[1188],{"type":45,"value":1189},"in the user's project\ndirectory",{"type":45,"value":1191}," against the user's installed DOCA + DPACC\ncompiler, where ",{"type":40,"tag":60,"props":1193,"children":1195},{"className":1194},[],[1196],{"type":45,"value":1197},"pkg-config --modversion doca-flow-dpa-provider",{"type":45,"value":1199}," (alongside ",{"type":40,"tag":60,"props":1201,"children":1203},{"className":1202},[],[1204],{"type":45,"value":65},{"type":45,"value":1206}," and\n",{"type":40,"tag":60,"props":1208,"children":1210},{"className":1209},[],[1211],{"type":45,"value":73},{"type":45,"value":1213},") and the installed ",{"type":40,"tag":60,"props":1215,"children":1217},{"className":1216},[],[1218],{"type":45,"value":645},{"type":45,"value":1220}," are the joint sources\nof truth.",{"type":40,"tag":186,"props":1222,"children":1223},{},[1224,1252],{"type":40,"tag":52,"props":1225,"children":1226},{},[1227,1229,1235,1236,1242,1244,1250],{"type":45,"value":1228},"A ",{"type":40,"tag":60,"props":1230,"children":1232},{"className":1231},[],[1233],{"type":45,"value":1234},"samples\u002F",{"type":45,"value":1017},{"type":40,"tag":60,"props":1237,"children":1239},{"className":1238},[],[1240],{"type":45,"value":1241},"bindings\u002F",{"type":45,"value":1243},", or ",{"type":40,"tag":60,"props":1245,"children":1247},{"className":1246},[],[1248],{"type":45,"value":1249},"reference\u002F",{"type":45,"value":1251}," subtree",{"type":45,"value":1253}," of\nany kind. A mock or incomplete artifact in this skill's\ntree, even one labeled \"reference\", is misleading: users\nwill read it as buildable.",{"type":40,"tag":186,"props":1255,"children":1256},{},[1257,1269,1271,1279,1281,1286],{"type":40,"tag":52,"props":1258,"children":1259},{},[1260,1262,1267],{"type":45,"value":1261},"Host-side ",{"type":40,"tag":60,"props":1263,"children":1265},{"className":1264},[],[1266],{"type":45,"value":65},{"type":45,"value":1268}," pipe-spec content.",{"type":45,"value":1270}," That is\n",{"type":40,"tag":91,"props":1272,"children":1273},{"href":142},[1274],{"type":40,"tag":60,"props":1275,"children":1277},{"className":1276},[],[1278],{"type":45,"value":65},{"type":45,"value":1280},"'s scope; this skill\n",{"type":40,"tag":103,"props":1282,"children":1283},{},[1284],{"type":45,"value":1285},"exports",{"type":45,"value":1287}," an already-constructed pipe and does not redefine\nhow to construct it.",{"type":40,"tag":186,"props":1289,"children":1290},{},[1291,1296,1298,1304,1306,1312,1314,1322],{"type":40,"tag":52,"props":1292,"children":1293},{},[1294],{"type":45,"value":1295},"DPA-side kernel programming generalities.",{"type":45,"value":1297}," Writing the\nDPA-side function body, allocating DPA memory inside the\nkernel, intrinsics, DPA-side libraries like\n",{"type":40,"tag":60,"props":1299,"children":1301},{"className":1300},[],[1302],{"type":45,"value":1303},"doca-dpa-comms",{"type":45,"value":1305}," and ",{"type":40,"tag":60,"props":1307,"children":1309},{"className":1308},[],[1310],{"type":45,"value":1311},"doca-dpa-verbs",{"type":45,"value":1313}," — out of scope. Route\nto the public DOCA DPA \u002F DPACC guides via\n",{"type":40,"tag":91,"props":1315,"children":1316},{"href":620},[1317],{"type":40,"tag":60,"props":1318,"children":1320},{"className":1319},[],[1321],{"type":45,"value":627},{"type":45,"value":266},{"type":40,"tag":163,"props":1324,"children":1326},{"id":1325},"loading-order",[1327],{"type":45,"value":1328},"Loading order",{"type":40,"tag":1330,"props":1331,"children":1332},"ol",{},[1333,1360,1380],{"type":40,"tag":186,"props":1334,"children":1335},{},[1336,1338,1344,1346,1351,1353,1358],{"type":45,"value":1337},"Read this ",{"type":40,"tag":60,"props":1339,"children":1341},{"className":1340},[],[1342],{"type":45,"value":1343},"SKILL.md",{"type":45,"value":1345}," first to confirm the user's question\nis in scope (Flow-pipe-exported-to-DPA work, not pure\n",{"type":40,"tag":60,"props":1347,"children":1349},{"className":1348},[],[1350],{"type":45,"value":65},{"type":45,"value":1352}," work and not generic ",{"type":40,"tag":60,"props":1354,"children":1356},{"className":1355},[],[1357],{"type":45,"value":73},{"type":45,"value":1359}," work).",{"type":40,"tag":186,"props":1361,"children":1362},{},[1363],{"type":40,"tag":52,"props":1364,"children":1365},{},[1366,1368,1373,1375,1379],{"type":45,"value":1367},"For the provider capability matrix, the three-program\nmodel, the per-port ",{"type":40,"tag":60,"props":1369,"children":1371},{"className":1370},[],[1372],{"type":45,"value":661},{"type":45,"value":1374},", the three queue\ntypes, the pipe-export and external-resource-export\nhandshakes, the DPA-side device API surface, the\ncompletion model, the error taxonomy, the observability\nsurface, and the safety policy, see\n",{"type":40,"tag":91,"props":1376,"children":1377},{"href":112},[1378],{"type":45,"value":112},{"type":45,"value":266},{"type":40,"tag":186,"props":1381,"children":1382},{},[1383],{"type":40,"tag":52,"props":1384,"children":1385},{},[1386,1388,1392],{"type":45,"value":1387},"For step-by-step workflows — install, configure, build,\nmodify, run, test, debug, use — see\n",{"type":40,"tag":91,"props":1389,"children":1390},{"href":93},[1391],{"type":45,"value":93},{"type":45,"value":266},{"type":40,"tag":48,"props":1394,"children":1395},{},[1396,1398,1406,1407,1415,1417,1425,1427,1435,1437,1445],{"type":45,"value":1397},"Both companion files cross-link to each other,\n",{"type":40,"tag":91,"props":1399,"children":1400},{"href":142},[1401],{"type":40,"tag":60,"props":1402,"children":1404},{"className":1403},[],[1405],{"type":45,"value":65},{"type":45,"value":1206},{"type":40,"tag":91,"props":1408,"children":1409},{"href":153},[1410],{"type":40,"tag":60,"props":1411,"children":1413},{"className":1412},[],[1414],{"type":45,"value":73},{"type":45,"value":1416}," for the host-side\nsurfaces this library bridges,\n",{"type":40,"tag":91,"props":1418,"children":1419},{"href":506},[1420],{"type":40,"tag":60,"props":1421,"children":1423},{"className":1422},[],[1424],{"type":45,"value":513},{"type":45,"value":1426}," for the\ncanonical DOCA version-handling rules (with the\nDOCA-and-DPACC overlay inherited from\n",{"type":40,"tag":91,"props":1428,"children":1429},{"href":153},[1430],{"type":40,"tag":60,"props":1431,"children":1433},{"className":1432},[],[1434],{"type":45,"value":73},{"type":45,"value":1436},"), and\n",{"type":40,"tag":91,"props":1438,"children":1439},{"href":620},[1440],{"type":40,"tag":60,"props":1441,"children":1443},{"className":1442},[],[1444],{"type":45,"value":627},{"type":45,"value":1446},"\nwhenever the right answer is \"look it up in the public DOCA\nFlow \u002F DOCA DPA \u002F DPACC programming guides, or in the on-disk\ninstall layout\" rather than \"provider-specific guidance\".",{"type":40,"tag":163,"props":1448,"children":1450},{"id":1449},"related-skills",[1451],{"type":45,"value":1452},"Related skills",{"type":40,"tag":182,"props":1454,"children":1455},{},[1456,1481,1501,1531,1551,1588,1609,1637,1657],{"type":40,"tag":186,"props":1457,"children":1458},{},[1459,1467,1469,1479],{"type":40,"tag":91,"props":1460,"children":1461},{"href":142},[1462],{"type":40,"tag":60,"props":1463,"children":1465},{"className":1464},[],[1466],{"type":45,"value":65},{"type":45,"value":1468}," — the canonical\nhost-side Flow programming skill. The Flow pipe this\nlibrary exports MUST be brought up against\n",{"type":40,"tag":91,"props":1470,"children":1472},{"href":1471},"..\u002Fdoca-flow\u002FCAPABILITIES.md#capabilities-and-modes",[1473],{"type":40,"tag":60,"props":1474,"children":1476},{"className":1475},[],[1477],{"type":45,"value":1478},"doca-flow CAPABILITIES.md ## Capabilities and modes",{"type":45,"value":1480},"\nfirst; this skill only adds the DPA-export layer on top.",{"type":40,"tag":186,"props":1482,"children":1483},{},[1484,1492,1494,1499],{"type":40,"tag":91,"props":1485,"children":1486},{"href":153},[1487],{"type":40,"tag":60,"props":1488,"children":1490},{"className":1489},[],[1491],{"type":45,"value":73},{"type":45,"value":1493}," — the host-side DPA\ncontrol library. The DPA kernel that consumes the\nexported device address is loaded and launched through\n",{"type":40,"tag":60,"props":1495,"children":1497},{"className":1496},[],[1498],{"type":45,"value":73},{"type":45,"value":1500}," (or its FlexIO-process equivalent); this skill\ninherits the two-side-program model, the DPACC-and-DOCA\nversion-match rule, and the env-precondition matrix from\nthere.",{"type":40,"tag":186,"props":1502,"children":1503},{},[1504,1512,1514,1521,1523,1529],{"type":40,"tag":91,"props":1505,"children":1506},{"href":620},[1507],{"type":40,"tag":60,"props":1508,"children":1510},{"className":1509},[],[1511],{"type":45,"value":627},{"type":45,"value":1513}," —\nrouting table for every public DOCA documentation source\n(DOCA Flow guide at\n",{"type":40,"tag":91,"props":1515,"children":1519},{"href":1516,"rel":1517},"https:\u002F\u002Fdocs.nvidia.com\u002Fdoca\u002Fsdk\u002Fdoca-flow\u002Findex.html",[1518],"nofollow",[1520],{"type":45,"value":1516},{"type":45,"value":1522},";\nDOCA DPA guide at\n",{"type":40,"tag":91,"props":1524,"children":1527},{"href":1525,"rel":1526},"https:\u002F\u002Fdocs.nvidia.com\u002Fdoca\u002Fsdk\u002Fdoca-dpa\u002Findex.html",[1518],[1528],{"type":45,"value":1525},{"type":45,"value":1530},";\nDPACC compiler guide and DPA Tools umbrella reachable from\nthe same routing table) and the on-disk layout of an\ninstalled DOCA package.",{"type":40,"tag":186,"props":1532,"children":1533},{},[1534,1542,1544,1549],{"type":40,"tag":91,"props":1535,"children":1536},{"href":130},[1537],{"type":40,"tag":60,"props":1538,"children":1540},{"className":1539},[],[1541],{"type":45,"value":137},{"type":45,"value":1543}," — env preparation,\ninstall verification, DPACC compiler install \u002F\nverification, and the ",{"type":40,"tag":103,"props":1545,"children":1546},{},[1547],{"type":45,"value":1548},"I have no install yet",{"type":45,"value":1550}," path with\nthe public NGC DOCA container. This skill assumes its\npreconditions are satisfied AND that DPACC is installed at\na version that matches DOCA.",{"type":40,"tag":186,"props":1552,"children":1553},{},[1554,1562,1564,1570,1572,1577,1579,1587],{"type":40,"tag":91,"props":1555,"children":1556},{"href":506},[1557],{"type":40,"tag":60,"props":1558,"children":1560},{"className":1559},[],[1561],{"type":45,"value":513},{"type":45,"value":1563}," — canonical\nDOCA version-handling rules. This skill's ",{"type":40,"tag":60,"props":1565,"children":1567},{"className":1566},[],[1568],{"type":45,"value":1569},"## Version compatibility",{"type":45,"value":1571}," cross-links the four-way match rule and adds\nthe provider-specific ",{"type":40,"tag":103,"props":1573,"children":1574},{},[1575],{"type":45,"value":1576},"DOCA-and-DPACC must match",{"type":45,"value":1578}," overlay\nper the DOCA Compatibility Policy (inherited from\n",{"type":40,"tag":91,"props":1580,"children":1581},{"href":153},[1582],{"type":40,"tag":60,"props":1583,"children":1585},{"className":1584},[],[1586],{"type":45,"value":73},{"type":45,"value":577},{"type":40,"tag":186,"props":1589,"children":1590},{},[1591,1601,1603,1607],{"type":40,"tag":91,"props":1592,"children":1594},{"href":1593},"..\u002F..\u002Fdoca-structured-tools-contract\u002FSKILL.md",[1595],{"type":40,"tag":60,"props":1596,"children":1598},{"className":1597},[],[1599],{"type":45,"value":1600},"doca-structured-tools-contract",{"type":45,"value":1602}," —\nthe bundle's structured-tools precedence rule (detect \u002F\nprefer \u002F fall back \u002F report). The Command appendix in\n",{"type":40,"tag":91,"props":1604,"children":1605},{"href":93},[1606],{"type":45,"value":93},{"type":45,"value":1608}," honors this contract.",{"type":40,"tag":186,"props":1610,"children":1611},{},[1612,1620,1622,1628,1630,1635],{"type":40,"tag":91,"props":1613,"children":1614},{"href":1139},[1615],{"type":40,"tag":60,"props":1616,"children":1618},{"className":1617},[],[1619],{"type":45,"value":1146},{"type":45,"value":1621}," —\ngeneral DOCA programming patterns: the canonical\n",{"type":40,"tag":60,"props":1623,"children":1625},{"className":1624},[],[1626],{"type":45,"value":1627},"pkg-config",{"type":45,"value":1629}," + meson build pattern, the universal\nmodify-a-shipped-sample first-app workflow, the universal\nCore-context lifecycle, the cross-library ",{"type":40,"tag":60,"props":1631,"children":1633},{"className":1632},[],[1634],{"type":45,"value":325},{"type":45,"value":1636},"\ntaxonomy, and the program-side debug order. This skill\nlayers provider specifics on top.",{"type":40,"tag":186,"props":1638,"children":1639},{},[1640,1648,1650,1655],{"type":40,"tag":91,"props":1641,"children":1642},{"href":391},[1643],{"type":40,"tag":60,"props":1644,"children":1646},{"className":1645},[],[1647],{"type":45,"value":398},{"type":45,"value":1649}," — the cross-cutting\ndebug ladder (install \u002F version \u002F build \u002F link \u002F runtime \u002F\nprogram \u002F driver). Provider-specific debug (lifecycle-\nordering between Flow pipe creation, queue creation, export\nprepare, entry add, export; queue-full on DPA-side polling;\npipe device address handed to a kernel that targets a\ndifferent ",{"type":40,"tag":60,"props":1651,"children":1653},{"className":1652},[],[1654],{"type":45,"value":661},{"type":45,"value":1656},") overlays on top.",{"type":40,"tag":186,"props":1658,"children":1659},{},[1660,1670,1672,1678,1680,1685,1687,1692],{"type":40,"tag":91,"props":1661,"children":1663},{"href":1662},"..\u002F..\u002Fdoca-hardware-safety\u002FSKILL.md",[1664],{"type":40,"tag":60,"props":1665,"children":1667},{"className":1666},[],[1668],{"type":45,"value":1669},"doca-hardware-safety",{"type":45,"value":1671}," —\ncross-cutting hardware-safety meta-policy that this\nskill's ",{"type":40,"tag":60,"props":1673,"children":1675},{"className":1674},[],[1676],{"type":45,"value":1677},"## Safety policy",{"type":45,"value":1679}," overlays. Because the exported\npipe is mutated inline by DPA-side kernel code, the\nvalidate-before-commit discipline from ",{"type":40,"tag":60,"props":1681,"children":1683},{"className":1682},[],[1684],{"type":45,"value":65},{"type":45,"value":1686}," plus the\ntwo-side-program rebuild discipline from ",{"type":40,"tag":60,"props":1688,"children":1690},{"className":1689},[],[1691],{"type":45,"value":73},{"type":45,"value":1693}," BOTH\napply, and the meta-policy provides the cross-cutting\nframing.",{"items":1695,"total":1799},[1696,1713,1727,1741,1753,1770,1785],{"slug":1697,"name":1697,"fn":1698,"description":1699,"org":1700,"tags":1701,"stars":20,"repoUrl":21,"updatedAt":1712},"accelerated-computing-cudf","accelerate data processing with cuDF","Official NVIDIA-authored guidance for NVIDIA cuDF GPU DataFrames, pandas acceleration, dask-cuDF, ETL, joins, groupby, CSV\u002FParquet I\u002FO, nullable semantics, and multi-GPU DataFrame workloads.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1702,1705,1708,1709],{"name":1703,"slug":1704,"type":13},"Data Analysis","data-analysis",{"name":1706,"slug":1707,"type":13},"Data Engineering","data-engineering",{"name":9,"slug":8,"type":13},{"name":1710,"slug":1711,"type":13},"Performance","performance","2026-07-14T05:28:43.176466",{"slug":1714,"name":1714,"fn":1715,"description":1716,"org":1717,"tags":1718,"stars":20,"repoUrl":21,"updatedAt":1726},"aiq-deploy","deploy and manage NVIDIA AI-Q infrastructure","Use when asked to install, deploy, run, validate, troubleshoot, or stop NVIDIA AI-Q Blueprint infrastructure.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1719,1722,1725],{"name":1720,"slug":1721,"type":13},"Deployment","deployment",{"name":1723,"slug":1724,"type":13},"Infrastructure","infrastructure",{"name":9,"slug":8,"type":13},"2026-07-14T05:29:06.667109",{"slug":1728,"name":1728,"fn":1729,"description":1730,"org":1731,"tags":1732,"stars":20,"repoUrl":21,"updatedAt":1740},"aiq-research","conduct deep research with AI-Q","Use when asked to run deep research or AI-Q research through a reachable NVIDIA AI-Q Blueprint backend.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1733,1736,1737],{"name":1734,"slug":1735,"type":13},"Agents","agents",{"name":9,"slug":8,"type":13},{"name":1738,"slug":1739,"type":13},"Research","research","2026-07-14T05:28:06.816956",{"slug":1742,"name":1742,"fn":1743,"description":1744,"org":1745,"tags":1746,"stars":20,"repoUrl":21,"updatedAt":1752},"amc-run-sample-calibration","run AMC sample dataset calibration","Run end-to-end calibration on the shipped sample dataset (sdg_08_2_sample_data_010926.zip) against a running AMC microservice. Use when user says 'test sample dataset', 'run sample calibration', 'verify AMC install', or 'launch and test'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1747,1748,1749],{"name":1703,"slug":1704,"type":13},{"name":9,"slug":8,"type":13},{"name":1750,"slug":1751,"type":13},"Testing","testing","2026-07-17T05:29:03.913266",{"slug":1754,"name":1754,"fn":1755,"description":1756,"org":1757,"tags":1758,"stars":20,"repoUrl":21,"updatedAt":1769},"amc-run-video-calibration","calibrate video datasets with AutoMagicCalib","Calibrate a new dataset from pre-recorded video files via the AutoMagicCalib REST API. Use when user has local MP4s and says 'calibrate my videos', 'run AMC on these videos', or similar. For RTSP\u002Flive streams, use amc-run-rtsp-calibration instead.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1759,1762,1765,1766],{"name":1760,"slug":1761,"type":13},"Automation","automation",{"name":1763,"slug":1764,"type":13},"Imaging","imaging",{"name":9,"slug":8,"type":13},{"name":1767,"slug":1768,"type":13},"Video","video","2026-07-17T05:28:53.905004",{"slug":1771,"name":1771,"fn":1772,"description":1773,"org":1774,"tags":1775,"stars":20,"repoUrl":21,"updatedAt":1784},"amc-setup-calibration-stack","deploy AutoMagicCalib microservice with Docker","Launch AutoMagicCalib microservice and web UI from NGC release images via Docker Compose. Use when user says 'deploy auto calibration', 'launch auto calibration', 'launch AMC', 'start MS+UI', or 'set up auto-magic-calib'. Requires NGC API key.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1776,1777,1780,1781],{"name":1720,"slug":1721,"type":13},{"name":1778,"slug":1779,"type":13},"Docker","docker",{"name":9,"slug":8,"type":13},{"name":1782,"slug":1783,"type":13},"Operations","operations","2026-07-17T05:28:56.913999",{"slug":1786,"name":1786,"fn":1787,"description":1788,"org":1789,"tags":1790,"stars":20,"repoUrl":21,"updatedAt":1798},"cudaq-guide","develop quantum applications with CUDA-Q","CUDA-Q onboarding guide for installation, test programs, GPU simulation, QPU hardware, and quantum applications.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1791,1792,1795],{"name":9,"slug":8,"type":13},{"name":1793,"slug":1794,"type":13},"Quantum Computing","quantum-computing",{"name":1796,"slug":1797,"type":13},"Simulation","simulation","2026-07-14T05:26:58.898253",305,{"items":1801,"total":1952},[1802,1820,1836,1847,1859,1873,1886,1900,1911,1920,1934,1943],{"slug":1803,"name":1803,"fn":1804,"description":1805,"org":1806,"tags":1807,"stars":1817,"repoUrl":1818,"updatedAt":1819},"nemoclaw-user-guide","retrieve NemoClaw documentation and configuration","Guides human users' AI agents to the NemoClaw docs MCP server and canonical Fern documentation in Markdown form. Use when users ask how to install, configure, operate, troubleshoot, secure, or learn NemoClaw with an AI coding assistant. Trigger keywords - nemoclaw docs, use nemoclaw with ai agent, nemoclaw mcp docs, nemoclaw install help, nemoclaw quickstart, nemoclaw markdown docs, llms.txt, agent skills.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1808,1811,1814],{"name":1809,"slug":1810,"type":13},"Documentation","documentation",{"name":1812,"slug":1813,"type":13},"MCP","mcp",{"name":1815,"slug":1816,"type":13},"Search","search",21777,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNemoClaw","2026-07-20T06:00:01.461044",{"slug":1821,"name":1821,"fn":1822,"description":1823,"org":1824,"tags":1825,"stars":1833,"repoUrl":1834,"updatedAt":1835},"mcore-build-and-dependency","manage Megatron-LM development environments","Container-based dev environment setup and dependency management for Megatron-LM. Covers acquiring and launching the CI container, uv package management, and updating uv.lock.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1826,1829,1830],{"name":1827,"slug":1828,"type":13},"Containers","containers",{"name":1720,"slug":1721,"type":13},{"name":1831,"slug":1832,"type":13},"Python","python",17049,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM","2026-07-27T06:06:11.249662",{"slug":1837,"name":1837,"fn":1838,"description":1839,"org":1840,"tags":1841,"stars":1833,"repoUrl":1834,"updatedAt":1846},"mcore-bump-base-image","update NVIDIA PyTorch base images","Bump the NVIDIA PyTorch base image (`nvcr.io\u002Fnvidia\u002Fpytorch:YY.MM-py3`) used by Megatron-LM CI. Covers the two pin sites (GitHub CI in `docker\u002F.ngc_version.dev` and GitLab CI in `.gitlab\u002Fstages\u002F01.build.yml`), the post-bump CI loop (re-run functional tests, refresh golden values, mark broken tests), and the gotchas that bit PRs",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1842,1845],{"name":1843,"slug":1844,"type":13},"CI\u002FCD","ci-cd",{"name":1720,"slug":1721,"type":13},"2026-07-14T05:25:59.97109",{"slug":1848,"name":1848,"fn":1849,"description":1850,"org":1851,"tags":1852,"stars":1833,"repoUrl":1834,"updatedAt":1858},"mcore-cicd","manage CI\u002FCD pipelines for Megatron-LM","CI\u002FCD reference for Megatron-LM. Covers CI pipeline structure, PR scope labels, triggering internal GitLab CI (which force-pushes the current branch to a pull-request\u002FBRANCH ref — always dry-run and verify the destination first; never run against shared or protected branches), and CI failure investigation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1853,1854,1855],{"name":1843,"slug":1844,"type":13},{"name":1720,"slug":1721,"type":13},{"name":1856,"slug":1857,"type":13},"GitHub","github","2026-07-27T06:06:12.278222",{"slug":1860,"name":1860,"fn":1861,"description":1862,"org":1863,"tags":1864,"stars":1833,"repoUrl":1834,"updatedAt":1872},"mcore-create-issue","investigate CI failures and create issues","Investigate a failing GitHub Actions run or job and create a GitHub issue for the failure.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1865,1868,1869],{"name":1866,"slug":1867,"type":13},"Debugging","debugging",{"name":1856,"slug":1857,"type":13},{"name":1870,"slug":1871,"type":13},"Triage","triage","2026-07-14T05:25:57.442089",{"slug":1874,"name":1874,"fn":1875,"description":1876,"org":1877,"tags":1878,"stars":1833,"repoUrl":1834,"updatedAt":1885},"mcore-linting-and-formatting","lint and format Megatron-LM code","Linting and formatting for Megatron-LM. Covers running autoformat.sh, tools (ruff, black, isort, pylint, mypy), and code style rules.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1879,1882],{"name":1880,"slug":1881,"type":13},"Best Practices","best-practices",{"name":1883,"slug":1884,"type":13},"Code Analysis","code-analysis","2026-07-14T05:25:56.18433",{"slug":1887,"name":1887,"fn":1888,"description":1889,"org":1890,"tags":1891,"stars":1833,"repoUrl":1834,"updatedAt":1899},"mcore-migrate-gpt-to-hybrid","migrate Megatron-LM models to HybridModel","Migration guide for moving Megatron Core GPTModel checkpoints, model providers, training commands, and layer mappings to HybridModel.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1892,1895,1898],{"name":1893,"slug":1894,"type":13},"Machine Learning","machine-learning",{"name":1896,"slug":1897,"type":13},"Migration","migration",{"name":9,"slug":8,"type":13},"2026-07-17T06:07:11.777011",{"slug":1901,"name":1901,"fn":1902,"description":1903,"org":1904,"tags":1905,"stars":1833,"repoUrl":1834,"updatedAt":1910},"mcore-onboard-gb200-1node-tests","onboard functional tests for GB200","Onboard 1-node GitHub MR functional tests for GB200 from existing mr-scoped 2-node tests.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1906,1909],{"name":1907,"slug":1908,"type":13},"QA","qa",{"name":1750,"slug":1751,"type":13},"2026-07-14T05:25:53.673039",{"slug":1912,"name":1912,"fn":1913,"description":1914,"org":1915,"tags":1916,"stars":1833,"repoUrl":1834,"updatedAt":1919},"mcore-run-on-slurm","launch distributed training jobs on SLURM","How to launch distributed Megatron-LM training jobs on a SLURM cluster. Covers a minimal sbatch skeleton, environment-variable setup for torch.distributed.run, CUDA_DEVICE_MAX_CONNECTIONS rules across hardware and parallelism modes, container conventions, monitoring, and per-rank failure diagnosis.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1917,1918],{"name":1720,"slug":1721,"type":13},{"name":1723,"slug":1724,"type":13},"2026-07-14T05:25:49.362534",{"slug":1921,"name":1921,"fn":1922,"description":1923,"org":1924,"tags":1925,"stars":1833,"repoUrl":1834,"updatedAt":1933},"mcore-split-pr","split pull requests to reduce review load","Split a PR into multiple PRs to reduce the number of required CODEOWNERS reviewer groups.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1926,1929,1930],{"name":1927,"slug":1928,"type":13},"Code Review","code-review",{"name":1856,"slug":1857,"type":13},{"name":1931,"slug":1932,"type":13},"Pull Requests","pull-requests","2026-07-14T05:26:01.226578",{"slug":1935,"name":1935,"fn":1936,"description":1937,"org":1938,"tags":1939,"stars":1833,"repoUrl":1834,"updatedAt":1942},"mcore-testing","run and manage Megatron-LM tests","Test system for Megatron-LM. Covers test layout, recipe YAML structure, adding and running unit and functional tests, golden values, marker filters, and CI parity.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1940,1941],{"name":1907,"slug":1908,"type":13},{"name":1750,"slug":1751,"type":13},"2026-07-14T05:25:54.928983",{"slug":1944,"name":1944,"fn":1945,"description":1946,"org":1947,"tags":1948,"stars":1833,"repoUrl":1834,"updatedAt":1951},"nightly-sync","manage nightly main-to-dev sync workflows","Domain knowledge for the nightly main-to-dev sync workflow. Covers merge strategy, CI architecture, failure investigation, and known issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1949,1950],{"name":1760,"slug":1761,"type":13},{"name":1843,"slug":1844,"type":13},"2026-07-30T05:29:03.275638",496]