[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-nvidia-doca-bench":3,"mdc-y8jo2q-key":34,"related-org-nvidia-doca-bench":1333,"related-repo-nvidia-doca-bench":1494},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":32,"mdContent":33},"doca-bench","benchmark DOCA library performance","Run `doca_bench` (DOCA 2.7.0 or newer) to measure throughput, bulk latency, precision latency, or maximum bandwidth for RDMA, Compress, AES-GCM, SHA, DMA, EC, Ethernet, Comch, or GPUNetIO on a host or BlueField Arm. Use it to discover enabled benchmark libraries, capture a reproducible command\u002Fversion\u002Fdevice\u002Fenvironment baseline, compare stable runs against a declared tolerance, or diagnose configuration, device-binding, workload-precondition, and measurement failures. Trigger for requests such as measuring BlueField compression speed, NIC RDMA throughput, crypto latency, or a pre-upgrade baseline. Do not use for application end-to-end timing, custom benchmark code, DOCA installation, or binary patches.\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,16,19,20],{"name":13,"slug":14,"type":15},"Performance","performance","tag",{"name":17,"slug":18,"type":15},"Benchmarking","benchmarking",{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},"Engineering","engineering",2473,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fskills","2026-07-30T05:28:16.419182","Apache-2.0",281,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":31},[],"AI agent skills published by NVIDIA","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Fdoca-bench","---\nlicense: Apache-2.0\nname: doca-bench\ndescription: >\n  Run `doca_bench` (DOCA 2.7.0 or newer) to measure throughput,\n  bulk latency, precision latency, or maximum bandwidth for RDMA,\n  Compress, AES-GCM, SHA, DMA, EC, Ethernet, Comch, or GPUNetIO on\n  a host or BlueField Arm. Use it to discover enabled benchmark\n  libraries, capture a reproducible command\u002Fversion\u002Fdevice\u002Fenvironment\n  baseline, compare stable runs against a declared tolerance, or\n  diagnose configuration, device-binding, workload-precondition, and\n  measurement failures. Trigger for requests such as measuring\n  BlueField compression speed, NIC RDMA throughput, crypto latency,\n  or a pre-upgrade baseline. Do not use for application end-to-end\n  timing, custom benchmark code, DOCA installation, or binary patches.\nmetadata:\n  kind: tool\ncompatibility: >\n  Requires DOCA SDK ≥ 2.7.0 installed at \u002Fopt\u002Fmellanox\u002Fdoca on\n  Linux (Ubuntu 22.04\u002F24.04 or RHEL\u002FSLES) with a BlueField DPU or\n  ConnectX NIC attached and the `doca_bench` binary present at\n  \u002Fopt\u002Fmellanox\u002Fdoca\u002Ftools\u002Fdoca_bench. Companion app must run on\n  the far side for remote-memory \u002F RDMA \u002F Eth scenarios; host and\n  BlueField-Arm execution both supported.\n---\n\n# DOCA Bench (`doca_bench`)\n\n**Where to start:** This is a tool skill for invoking `doca_bench`,\nthe cross-library micro-benchmark harness. Open\n[`TASKS.md`](TASKS.md) and start at\n[`## configure`](TASKS.md#configure) for the three-axis decision\n(target library × workload shape × measurement axis), then\n[`## run`](TASKS.md#run) for the smoke-before-bulk flow. Open\n[`CAPABILITIES.md`](CAPABILITIES.md) when the question is *what\n`doca_bench` can measure*, *which DOCA libraries it can drive*, or\n*how to interpret throughput \u002F latency \u002F op-rate output without\nfooling yourself on warm-up or steady-state*. If DOCA is not\ninstalled yet, route to\n[`doca-setup`](..\u002F..\u002Fdoca-setup\u002FSKILL.md) first; if the install\nversion is \u003C 2.7.0, `doca_bench` is not shipped on this host.\n\n## Example questions this skill answers well\n\nThe CLASSES of `doca_bench` questions this skill is built to answer,\neach with one worked example. The class is the load-bearing piece;\nthe worked example is one instance.\n\n- **\"What does this DOCA library actually deliver on this device?\"** —\n  worked example: *\"throughput of DOCA Compress on my BlueField-3\"*.\n  Answered by the three-axis configuration in\n  [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)\n  + the smoke-before-bulk flow in\n  [`TASKS.md ## run`](TASKS.md#run). The *same* shape answers\n  *\"send-side throughput of DOCA RDMA\"* — `doca_bench` is\n  cross-library, not single-library.\n- **\"Which DOCA libraries can `doca_bench` actually drive on this\n  install?\"** — worked example: *\"is doca_sha enumerable on a\n  granular-build install\"*. Answered by the built-in query system\n  surfaced in\n  [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)\n  + [`TASKS.md ## configure`](TASKS.md#configure) step 2\n  (probe-before-bench). Empty enumeration = library not installed,\n  not bench failure.\n- **\"Is this number reliable, or did I miss the warm-up?\"** —\n  worked example: *\"why does my first-second number differ from my\n  steady-state number\"*. Answered by the measurement-soundness\n  overlay in\n  [`CAPABILITIES.md ## Error taxonomy`](CAPABILITIES.md#error-taxonomy)\n  layer 5 + [`TASKS.md ## test`](TASKS.md#test) (the eval-loop\n  overlay treats warm-up \u002F steady-state \u002F outliers as\n  re-iteration triggers, not one-shot facts).\n- **\"Bench reports zero throughput \u002F hangs at start \u002F disagrees\n  with the public docs.\"** — worked example: *\"`doca_bench` shows\n  zero ops for AES-GCM but `doca_caps` says the device supports\n  it\"*. Answered by the layered error taxonomy in\n  [`CAPABILITIES.md ## Error taxonomy`](CAPABILITIES.md#error-taxonomy)\n  (config-syntax → device-binding → library-precondition →\n  workload-precondition → measurement-soundness → version →\n  cross-cutting) + [`TASKS.md ## debug`](TASKS.md#debug).\n- **\"How do I capture a baseline I can later regression-test\n  against?\"** — worked example: *\"snapshot decompress throughput\n  on this BlueField + DOCA version before a firmware update\"*.\n  Answered by the CSV output + version-overlay rule in\n  [`TASKS.md ## test`](TASKS.md#test) (capture command line +\n  version + device + as-deployed environment alongside the\n  numbers; quoting numbers without the four-tuple is the\n  cross-version regression-hunt failure mode).\n- **\"`doca_bench` returns nothing for library X — what does that\n  mean?\"** — worked example: *\"empty output for DOCA SHA\"*.\n  Answered by the empty-output interpretation rules in\n  [`TASKS.md ## debug`](TASKS.md#debug) +\n  [`CAPABILITIES.md ## Error taxonomy`](CAPABILITIES.md#error-taxonomy).\n  Re-route through\n  [`doca-caps`](..\u002Fdoca-caps\u002FSKILL.md) for the coarse\n  per-device per-library capability ground truth, then back\n  into bench once the capability is confirmed present.\n\n## Audience\n\nThis skill serves **external operators, developers, and AI agents\nwho need a reproducible, vendor-supported way to measure DOCA\nlibrary performance on the user's actual install and device**.\nConcretely:\n\n- An external developer choosing between DOCA libraries (e.g.\n  COMPRESS vs SHA vs DMA throughput) before committing an\n  application design.\n- A platform operator validating a tuning change (NUMA pinning,\n  driver upgrade, firmware burn) by re-running a captured\n  `doca_bench` baseline against the new state.\n- An SRE \u002F performance engineer producing a *\"this is what the\n  device delivers today\"* artifact that downstream consumers\n  (capacity planning, regression bisection) can cite.\n- An AI agent answering *\"what throughput \u002F latency should I\n  expect from DOCA library X on device Y?\"* honestly — with a\n  measured number, the command line that produced it, and the\n  version + device + environment that scopes it — instead of\n  guessing from datasheet headlines.\n\nIt is **not** for users debugging the `doca_bench` source code,\nand **not** a substitute for the live public DOCA Bench guide on\n`docs.nvidia.com`.\n\n`doca_bench` is shipped as a **tool** (a single CLI binary plus a\ncompanion app for the remote half of remote-memory \u002F RDMA \u002F Eth\nscenarios), not a library you link against. The skill uses the\nsame `kind: tool` three-file shape as the rest of the bundle so\nthe agent's task-verb contract\n(`configure \u002F build \u002F modify \u002F run \u002F test \u002F debug`) is uniform\nacross libraries, services, and tools — even when individual\nverbs collapse to a routing stub for a shipped binary.\n\n## When to load this skill\n\nLoad this skill when the user is — or the agent needs to — invoke\n`doca_bench` on a real host with DOCA ≥ 2.7.0 installed (or\ninside the public NGC DOCA container with the equivalent version)\nto measure performance of a DOCA library. Concretely:\n\n- Picking *which* DOCA library to benchmark for a candidate\n  workload (RDMA vs COMPRESS vs DMA, etc.).\n- Picking *which* measurement axis to ask for (throughput vs bulk\n  latency vs precision latency vs max-bandwidth) — the four modes\n  defined in `tools\u002Fbench\u002Fdoca_bench\u002Fconfiguration.hpp` are not\n  interchangeable.\n- Probing the install's granular-build state so the agent can\n  honestly report *\"this library is not exposed on this install\"*\n  instead of inventing a workload.\n- Capturing a documented baseline (command line + version + device\n  + as-deployed environment + numbers) for later regression hunts.\n- Requiring the workload owner to predeclare acceptable variance\n  and obtaining two consecutive runs within that tolerance before\n  reporting a stable result; otherwise escalating the variance.\n- Diagnosing why a bench run reported zero \u002F unstable \u002F unexpected\n  results (the error-taxonomy walk in\n  [`TASKS.md ## debug`](TASKS.md#debug)).\n\nDo **not** load this skill for general DOCA orientation, library\nAPI work, or installation. For those, use\n[`doca-public-knowledge-map`](..\u002F..\u002Fdoca-public-knowledge-map\u002FSKILL.md),\nthe matching `libs\u002F\u003Clibrary>` skill, or\n[`doca-setup`](..\u002F..\u002Fdoca-setup\u002FSKILL.md). Do not load it for\n*application-level* end-to-end benchmarking either — `doca_bench`\nmeasures the DOCA library surface, not the user's application\nabove it.\n\n## What this skill provides\n\nThis is a **thin loader**. Substantive material lives in two\ncompanion files:\n\n- `CAPABILITIES.md` — what `doca_bench` can measure (the\n  cross-library scope, the three-axis configuration model, the\n  documented operating modes, the warm-up \u002F pipeline \u002F multi-core\n  concepts that constrain measurement soundness), the version\n  overlay (`doca-bench`-specific facts on top of the canonical\n  `doca-version` rules), the layered error taxonomy\n  (config-syntax \u002F device-binding \u002F library-precondition \u002F\n  workload-precondition \u002F measurement-soundness \u002F version \u002F\n  cross-cutting), the observability surface (screen + CSV\n  output, real-time stats, query system), and the safety\n  posture (the public guide's *\"not for production\"* warning,\n  the host vs BlueField execution rule, the companion-app\n  attack surface).\n- `TASKS.md` — step-by-step workflows for the in-scope task\n  verbs: `configure` (the three-axis decision + the\n  probe-before-bench step), `build` (route to install — the\n  binary is shipped, the companion app is shipped), `modify`\n  (refuse — do not patch the bench binary; modify the bench\n  *invocation* instead), `run` (the smoke-before-bulk flow),\n  `test` (the eval loop — warm-up, steady-state, outliers,\n  cross-version), `debug` (walk the error taxonomy layer by\n  layer), plus a `Deferred task verbs` block routing\n  out-of-scope questions and a `Command appendix` of\n  `doca_bench`-specific invocation classes.\n\nThe skill assumes a host where DOCA ≥ 2.7.0 is already installed\n(or the public NGC DOCA container is running at an equivalent\nversion) and the operator has whatever permissions the public\nguide requires for `doca_bench` to bind devices and allocate\nresources on their platform.\n\n## What this skill deliberately does not ship\n\nThis skill is **agent guidance**, not a samples or scripts\nbundle. To keep the boundary clean, it deliberately does not\ncontain — and pull requests should not add:\n\n- **Specific flag strings or scenario \u002F metric \u002F attribute names\n  beyond what the public DOCA Bench guide documents.** The flag\n  surface evolves and is install-specific; the documented\n  invocations + `--help` on the installed version are the\n  authoritative answer. Inventing a flag is the most common\n  hallucination failure for this skill.\n- **Pre-baked example output or expected throughput numbers.**\n  Bench output is device-, version-, firmware-, NUMA-, and\n  tuning-specific. A captured number pinned to one platform and\n  one DOCA version misleads operators on a different\n  platform \u002F version.\n- **Wrappers, parsers, or scripts** in any language that consume\n  `doca_bench` CSV or stdout. The output formats are documented;\n  if a user wants to script against them, the right answer is\n  \"read the live guide, write the parser against your installed\n  version\".\n- **A `samples\u002F` or `reference\u002F` subtree.** This is a thin\n  loader for a documented CLI; substantive material lives on\n  the public page and in `--help`.\n\n## Loading order\n\n1. Read this `SKILL.md` first to confirm the user's question is\n   in scope (the user actually wants to invoke `doca_bench` for\n   measurement, not learn about a DOCA library in general).\n2. **For what `doca_bench` measures, the three-axis model, the\n   version overlay, the error taxonomy, observability surface,\n   and safety posture, see [CAPABILITIES.md](CAPABILITIES.md).**\n3. **For the documented invocations and the smoke-before-bulk\n   workflow — `configure`, `build`, `modify`, `run`, `test`,\n   `debug` — see [TASKS.md](TASKS.md).**\n\n## Related skills\n\n- [`doca-public-knowledge-map`](..\u002F..\u002Fdoca-public-knowledge-map\u002FSKILL.md)\n  — routing to the public DOCA Bench page on `docs.nvidia.com`\n  and the rest of the public DOCA documentation set.\n- [`doca-version`](..\u002F..\u002Fdoca-version\u002FSKILL.md) — the canonical\n  version-detection chain, four-way match rule, NGC container\n  semantics, and headers-win-over-docs rule. The\n  `## Version compatibility` section in this skill is a thin\n  overlay on top of `doca-version`; the body lives there.\n- [`doca-structured-tools-contract`](..\u002F..\u002Fdoca-structured-tools-contract\u002FSKILL.md)\n  — the bundle-wide contract for structured-output helper tools.\n  Bench-runner \u002F bench-snapshot executables that satisfy the\n  detect-prefer-fallback-report loop are deferred to PR2; the\n  contract is consumed here in advance so the\n  `## Command appendix` in [`TASKS.md`](TASKS.md) is infra-aware\n  from PR1.\n- [`doca-setup`](..\u002F..\u002Fdoca-setup\u002FSKILL.md) — env preparation,\n  install verification, hugepages, NUMA awareness, and the *I\n  have no install yet* path with the public NGC DOCA container.\n- [`doca-debug`](..\u002F..\u002Fdoca-debug\u002FSKILL.md) — the cross-cutting\n  debug ladder. Bench surfaces *its own* error taxonomy in\n  [`CAPABILITIES.md ## Error taxonomy`](CAPABILITIES.md#error-taxonomy);\n  when the cause turns out to be below DOCA (driver, firmware,\n  NUMA), the bench taxonomy hands off to `doca-debug`.\n- [`doca-caps`](..\u002Fdoca-caps\u002FSKILL.md) — the sibling DOCA tool\n  for the coarse per-device per-library capability snapshot.\n  Bench probes capability at finer grain via its own query\n  system; `doca_caps` is the cheaper first step to confirm the\n  device is even visible to DOCA.\n- The matching `libs\u002F\u003Clibrary>` skill — e.g.\n  [`doca-comch`](..\u002F..\u002Flibs\u002Fdoca-comch\u002FSKILL.md),\n  [`doca-compress`](..\u002F..\u002Flibs\u002Fdoca-compress\u002FSKILL.md) — for\n  the workload-side preconditions, capability-query rules, and\n  error-taxonomy overlays of the library under test. Bench\n  drives the library; the library skill explains *what\n  \"healthy\" means for it*.\n",{"data":35,"body":39},{"license":26,"name":4,"description":6,"metadata":36,"compatibility":38},{"kind":37},"tool","Requires DOCA SDK ≥ 2.7.0 installed at \u002Fopt\u002Fmellanox\u002Fdoca on Linux (Ubuntu 22.04\u002F24.04 or RHEL\u002FSLES) with a BlueField DPU or ConnectX NIC attached and the `doca_bench` binary present at \u002Fopt\u002Fmellanox\u002Fdoca\u002Ftools\u002Fdoca_bench. Companion app must run on the far side for remote-memory \u002F RDMA \u002F Eth scenarios; host and BlueField-Arm execution both supported.\n",{"type":40,"children":41},"root",[42,60,174,181,193,487,493,505,549,581,613,619,631,709,764,770,782,912,924,930,942,1022,1028,1123,1129],{"type":43,"tag":44,"props":45,"children":47},"element","h1",{"id":46},"doca-bench-doca_bench",[48,51,58],{"type":49,"value":50},"text","DOCA Bench (",{"type":43,"tag":52,"props":53,"children":55},"code",{"className":54},[],[56],{"type":49,"value":57},"doca_bench",{"type":49,"value":59},")",{"type":43,"tag":61,"props":62,"children":63},"p",{},[64,70,72,77,79,89,91,101,103,113,115,124,126,139,141,146,148,153,155,165,167,172],{"type":43,"tag":65,"props":66,"children":67},"strong",{},[68],{"type":49,"value":69},"Where to start:",{"type":49,"value":71}," This is a tool skill for invoking ",{"type":43,"tag":52,"props":73,"children":75},{"className":74},[],[76],{"type":49,"value":57},{"type":49,"value":78},",\nthe cross-library micro-benchmark harness. Open\n",{"type":43,"tag":80,"props":81,"children":83},"a",{"href":82},"TASKS.md",[84],{"type":43,"tag":52,"props":85,"children":87},{"className":86},[],[88],{"type":49,"value":82},{"type":49,"value":90}," and start at\n",{"type":43,"tag":80,"props":92,"children":94},{"href":93},"TASKS.md#configure",[95],{"type":43,"tag":52,"props":96,"children":98},{"className":97},[],[99],{"type":49,"value":100},"## configure",{"type":49,"value":102}," for the three-axis decision\n(target library × workload shape × measurement axis), then\n",{"type":43,"tag":80,"props":104,"children":106},{"href":105},"TASKS.md#run",[107],{"type":43,"tag":52,"props":108,"children":110},{"className":109},[],[111],{"type":49,"value":112},"## run",{"type":49,"value":114}," for the smoke-before-bulk flow. Open\n",{"type":43,"tag":80,"props":116,"children":118},{"href":117},"CAPABILITIES.md",[119],{"type":43,"tag":52,"props":120,"children":122},{"className":121},[],[123],{"type":49,"value":117},{"type":49,"value":125}," when the question is ",{"type":43,"tag":127,"props":128,"children":129},"em",{},[130,132,137],{"type":49,"value":131},"what\n",{"type":43,"tag":52,"props":133,"children":135},{"className":134},[],[136],{"type":49,"value":57},{"type":49,"value":138}," can measure",{"type":49,"value":140},", ",{"type":43,"tag":127,"props":142,"children":143},{},[144],{"type":49,"value":145},"which DOCA libraries it can drive",{"type":49,"value":147},", or\n",{"type":43,"tag":127,"props":149,"children":150},{},[151],{"type":49,"value":152},"how to interpret throughput \u002F latency \u002F op-rate output without\nfooling yourself on warm-up or steady-state",{"type":49,"value":154},". If DOCA is not\ninstalled yet, route to\n",{"type":43,"tag":80,"props":156,"children":158},{"href":157},"..\u002F..\u002Fdoca-setup\u002FSKILL.md",[159],{"type":43,"tag":52,"props":160,"children":162},{"className":161},[],[163],{"type":49,"value":164},"doca-setup",{"type":49,"value":166}," first; if the install\nversion is \u003C 2.7.0, ",{"type":43,"tag":52,"props":168,"children":170},{"className":169},[],[171],{"type":49,"value":57},{"type":49,"value":173}," is not shipped on this host.",{"type":43,"tag":175,"props":176,"children":178},"h2",{"id":177},"example-questions-this-skill-answers-well",[179],{"type":49,"value":180},"Example questions this skill answers well",{"type":43,"tag":61,"props":182,"children":183},{},[184,186,191],{"type":49,"value":185},"The CLASSES of ",{"type":43,"tag":52,"props":187,"children":189},{"className":188},[],[190],{"type":49,"value":57},{"type":49,"value":192}," questions this skill is built to answer,\neach with one worked example. The class is the load-bearing piece;\nthe worked example is one instance.",{"type":43,"tag":194,"props":195,"children":196},"ul",{},[197,265,314,354,407,433],{"type":43,"tag":198,"props":199,"children":200},"li",{},[201,206,208,213,215,225],{"type":43,"tag":65,"props":202,"children":203},{},[204],{"type":49,"value":205},"\"What does this DOCA library actually deliver on this device?\"",{"type":49,"value":207}," —\nworked example: ",{"type":43,"tag":127,"props":209,"children":210},{},[211],{"type":49,"value":212},"\"throughput of DOCA Compress on my BlueField-3\"",{"type":49,"value":214},".\nAnswered by the three-axis configuration in\n",{"type":43,"tag":80,"props":216,"children":218},{"href":217},"CAPABILITIES.md#capabilities-and-modes",[219],{"type":43,"tag":52,"props":220,"children":222},{"className":221},[],[223],{"type":49,"value":224},"CAPABILITIES.md ## Capabilities and modes",{"type":43,"tag":194,"props":226,"children":227},{},[228],{"type":43,"tag":198,"props":229,"children":230},{},[231,233,242,244,249,251,256,258,263],{"type":49,"value":232},"the smoke-before-bulk flow in\n",{"type":43,"tag":80,"props":234,"children":235},{"href":105},[236],{"type":43,"tag":52,"props":237,"children":239},{"className":238},[],[240],{"type":49,"value":241},"TASKS.md ## run",{"type":49,"value":243},". The ",{"type":43,"tag":127,"props":245,"children":246},{},[247],{"type":49,"value":248},"same",{"type":49,"value":250}," shape answers\n",{"type":43,"tag":127,"props":252,"children":253},{},[254],{"type":49,"value":255},"\"send-side throughput of DOCA RDMA\"",{"type":49,"value":257}," — ",{"type":43,"tag":52,"props":259,"children":261},{"className":260},[],[262],{"type":49,"value":57},{"type":49,"value":264}," is\ncross-library, not single-library.",{"type":43,"tag":198,"props":266,"children":267},{},[268,280,282,287,289,297],{"type":43,"tag":65,"props":269,"children":270},{},[271,273,278],{"type":49,"value":272},"\"Which DOCA libraries can ",{"type":43,"tag":52,"props":274,"children":276},{"className":275},[],[277],{"type":49,"value":57},{"type":49,"value":279}," actually drive on this\ninstall?\"",{"type":49,"value":281}," — worked example: ",{"type":43,"tag":127,"props":283,"children":284},{},[285],{"type":49,"value":286},"\"is doca_sha enumerable on a\ngranular-build install\"",{"type":49,"value":288},". Answered by the built-in query system\nsurfaced in\n",{"type":43,"tag":80,"props":290,"children":291},{"href":217},[292],{"type":43,"tag":52,"props":293,"children":295},{"className":294},[],[296],{"type":49,"value":224},{"type":43,"tag":194,"props":298,"children":299},{},[300],{"type":43,"tag":198,"props":301,"children":302},{},[303,312],{"type":43,"tag":80,"props":304,"children":305},{"href":93},[306],{"type":43,"tag":52,"props":307,"children":309},{"className":308},[],[310],{"type":49,"value":311},"TASKS.md ## configure",{"type":49,"value":313}," step 2\n(probe-before-bench). Empty enumeration = library not installed,\nnot bench failure.",{"type":43,"tag":198,"props":315,"children":316},{},[317,322,323,328,330,340,342,352],{"type":43,"tag":65,"props":318,"children":319},{},[320],{"type":49,"value":321},"\"Is this number reliable, or did I miss the warm-up?\"",{"type":49,"value":207},{"type":43,"tag":127,"props":324,"children":325},{},[326],{"type":49,"value":327},"\"why does my first-second number differ from my\nsteady-state number\"",{"type":49,"value":329},". Answered by the measurement-soundness\noverlay in\n",{"type":43,"tag":80,"props":331,"children":333},{"href":332},"CAPABILITIES.md#error-taxonomy",[334],{"type":43,"tag":52,"props":335,"children":337},{"className":336},[],[338],{"type":49,"value":339},"CAPABILITIES.md ## Error taxonomy",{"type":49,"value":341},"\nlayer 5 + ",{"type":43,"tag":80,"props":343,"children":345},{"href":344},"TASKS.md#test",[346],{"type":43,"tag":52,"props":347,"children":349},{"className":348},[],[350],{"type":49,"value":351},"TASKS.md ## test",{"type":49,"value":353}," (the eval-loop\noverlay treats warm-up \u002F steady-state \u002F outliers as\nre-iteration triggers, not one-shot facts).",{"type":43,"tag":198,"props":355,"children":356},{},[357,362,363,383,385,393,395,405],{"type":43,"tag":65,"props":358,"children":359},{},[360],{"type":49,"value":361},"\"Bench reports zero throughput \u002F hangs at start \u002F disagrees\nwith the public docs.\"",{"type":49,"value":281},{"type":43,"tag":127,"props":364,"children":365},{},[366,368,373,375,381],{"type":49,"value":367},"\"",{"type":43,"tag":52,"props":369,"children":371},{"className":370},[],[372],{"type":49,"value":57},{"type":49,"value":374}," shows\nzero ops for AES-GCM but ",{"type":43,"tag":52,"props":376,"children":378},{"className":377},[],[379],{"type":49,"value":380},"doca_caps",{"type":49,"value":382}," says the device supports\nit\"",{"type":49,"value":384},". Answered by the layered error taxonomy in\n",{"type":43,"tag":80,"props":386,"children":387},{"href":332},[388],{"type":43,"tag":52,"props":389,"children":391},{"className":390},[],[392],{"type":49,"value":339},{"type":49,"value":394},"\n(config-syntax → device-binding → library-precondition →\nworkload-precondition → measurement-soundness → version →\ncross-cutting) + ",{"type":43,"tag":80,"props":396,"children":398},{"href":397},"TASKS.md#debug",[399],{"type":43,"tag":52,"props":400,"children":402},{"className":401},[],[403],{"type":49,"value":404},"TASKS.md ## debug",{"type":49,"value":406},".",{"type":43,"tag":198,"props":408,"children":409},{},[410,415,416,421,423,431],{"type":43,"tag":65,"props":411,"children":412},{},[413],{"type":49,"value":414},"\"How do I capture a baseline I can later regression-test\nagainst?\"",{"type":49,"value":281},{"type":43,"tag":127,"props":417,"children":418},{},[419],{"type":49,"value":420},"\"snapshot decompress throughput\non this BlueField + DOCA version before a firmware update\"",{"type":49,"value":422},".\nAnswered by the CSV output + version-overlay rule in\n",{"type":43,"tag":80,"props":424,"children":425},{"href":344},[426],{"type":43,"tag":52,"props":427,"children":429},{"className":428},[],[430],{"type":49,"value":351},{"type":49,"value":432}," (capture command line +\nversion + device + as-deployed environment alongside the\nnumbers; quoting numbers without the four-tuple is the\ncross-version regression-hunt failure mode).",{"type":43,"tag":198,"props":434,"children":435},{},[436,447,448,453,455,463,465,473,475,485],{"type":43,"tag":65,"props":437,"children":438},{},[439,440,445],{"type":49,"value":367},{"type":43,"tag":52,"props":441,"children":443},{"className":442},[],[444],{"type":49,"value":57},{"type":49,"value":446}," returns nothing for library X — what does that\nmean?\"",{"type":49,"value":281},{"type":43,"tag":127,"props":449,"children":450},{},[451],{"type":49,"value":452},"\"empty output for DOCA SHA\"",{"type":49,"value":454},".\nAnswered by the empty-output interpretation rules in\n",{"type":43,"tag":80,"props":456,"children":457},{"href":397},[458],{"type":43,"tag":52,"props":459,"children":461},{"className":460},[],[462],{"type":49,"value":404},{"type":49,"value":464}," +\n",{"type":43,"tag":80,"props":466,"children":467},{"href":332},[468],{"type":43,"tag":52,"props":469,"children":471},{"className":470},[],[472],{"type":49,"value":339},{"type":49,"value":474},".\nRe-route through\n",{"type":43,"tag":80,"props":476,"children":478},{"href":477},"..\u002Fdoca-caps\u002FSKILL.md",[479],{"type":43,"tag":52,"props":480,"children":482},{"className":481},[],[483],{"type":49,"value":484},"doca-caps",{"type":49,"value":486}," for the coarse\nper-device per-library capability ground truth, then back\ninto bench once the capability is confirmed present.",{"type":43,"tag":175,"props":488,"children":490},{"id":489},"audience",[491],{"type":49,"value":492},"Audience",{"type":43,"tag":61,"props":494,"children":495},{},[496,498,503],{"type":49,"value":497},"This skill serves ",{"type":43,"tag":65,"props":499,"children":500},{},[501],{"type":49,"value":502},"external operators, developers, and AI agents\nwho need a reproducible, vendor-supported way to measure DOCA\nlibrary performance on the user's actual install and device",{"type":49,"value":504},".\nConcretely:",{"type":43,"tag":194,"props":506,"children":507},{},[508,513,525,537],{"type":43,"tag":198,"props":509,"children":510},{},[511],{"type":49,"value":512},"An external developer choosing between DOCA libraries (e.g.\nCOMPRESS vs SHA vs DMA throughput) before committing an\napplication design.",{"type":43,"tag":198,"props":514,"children":515},{},[516,518,523],{"type":49,"value":517},"A platform operator validating a tuning change (NUMA pinning,\ndriver upgrade, firmware burn) by re-running a captured\n",{"type":43,"tag":52,"props":519,"children":521},{"className":520},[],[522],{"type":49,"value":57},{"type":49,"value":524}," baseline against the new state.",{"type":43,"tag":198,"props":526,"children":527},{},[528,530,535],{"type":49,"value":529},"An SRE \u002F performance engineer producing a ",{"type":43,"tag":127,"props":531,"children":532},{},[533],{"type":49,"value":534},"\"this is what the\ndevice delivers today\"",{"type":49,"value":536}," artifact that downstream consumers\n(capacity planning, regression bisection) can cite.",{"type":43,"tag":198,"props":538,"children":539},{},[540,542,547],{"type":49,"value":541},"An AI agent answering ",{"type":43,"tag":127,"props":543,"children":544},{},[545],{"type":49,"value":546},"\"what throughput \u002F latency should I\nexpect from DOCA library X on device Y?\"",{"type":49,"value":548}," honestly — with a\nmeasured number, the command line that produced it, and the\nversion + device + environment that scopes it — instead of\nguessing from datasheet headlines.",{"type":43,"tag":61,"props":550,"children":551},{},[552,554,559,561,566,568,572,574,580],{"type":49,"value":553},"It is ",{"type":43,"tag":65,"props":555,"children":556},{},[557],{"type":49,"value":558},"not",{"type":49,"value":560}," for users debugging the ",{"type":43,"tag":52,"props":562,"children":564},{"className":563},[],[565],{"type":49,"value":57},{"type":49,"value":567}," source code,\nand ",{"type":43,"tag":65,"props":569,"children":570},{},[571],{"type":49,"value":558},{"type":49,"value":573}," a substitute for the live public DOCA Bench guide on\n",{"type":43,"tag":52,"props":575,"children":577},{"className":576},[],[578],{"type":49,"value":579},"docs.nvidia.com",{"type":49,"value":406},{"type":43,"tag":61,"props":582,"children":583},{},[584,589,591,595,597,603,605,611],{"type":43,"tag":52,"props":585,"children":587},{"className":586},[],[588],{"type":49,"value":57},{"type":49,"value":590}," is shipped as a ",{"type":43,"tag":65,"props":592,"children":593},{},[594],{"type":49,"value":37},{"type":49,"value":596}," (a single CLI binary plus a\ncompanion app for the remote half of remote-memory \u002F RDMA \u002F Eth\nscenarios), not a library you link against. The skill uses the\nsame ",{"type":43,"tag":52,"props":598,"children":600},{"className":599},[],[601],{"type":49,"value":602},"kind: tool",{"type":49,"value":604}," three-file shape as the rest of the bundle so\nthe agent's task-verb contract\n(",{"type":43,"tag":52,"props":606,"children":608},{"className":607},[],[609],{"type":49,"value":610},"configure \u002F build \u002F modify \u002F run \u002F test \u002F debug",{"type":49,"value":612},") is uniform\nacross libraries, services, and tools — even when individual\nverbs collapse to a routing stub for a shipped binary.",{"type":43,"tag":175,"props":614,"children":616},{"id":615},"when-to-load-this-skill",[617],{"type":49,"value":618},"When to load this skill",{"type":43,"tag":61,"props":620,"children":621},{},[622,624,629],{"type":49,"value":623},"Load this skill when the user is — or the agent needs to — invoke\n",{"type":43,"tag":52,"props":625,"children":627},{"className":626},[],[628],{"type":49,"value":57},{"type":49,"value":630}," on a real host with DOCA ≥ 2.7.0 installed (or\ninside the public NGC DOCA container with the equivalent version)\nto measure performance of a DOCA library. Concretely:",{"type":43,"tag":194,"props":632,"children":633},{},[634,646,664,676,689,694],{"type":43,"tag":198,"props":635,"children":636},{},[637,639,644],{"type":49,"value":638},"Picking ",{"type":43,"tag":127,"props":640,"children":641},{},[642],{"type":49,"value":643},"which",{"type":49,"value":645}," DOCA library to benchmark for a candidate\nworkload (RDMA vs COMPRESS vs DMA, etc.).",{"type":43,"tag":198,"props":647,"children":648},{},[649,650,654,656,662],{"type":49,"value":638},{"type":43,"tag":127,"props":651,"children":652},{},[653],{"type":49,"value":643},{"type":49,"value":655}," measurement axis to ask for (throughput vs bulk\nlatency vs precision latency vs max-bandwidth) — the four modes\ndefined in ",{"type":43,"tag":52,"props":657,"children":659},{"className":658},[],[660],{"type":49,"value":661},"tools\u002Fbench\u002Fdoca_bench\u002Fconfiguration.hpp",{"type":49,"value":663}," are not\ninterchangeable.",{"type":43,"tag":198,"props":665,"children":666},{},[667,669,674],{"type":49,"value":668},"Probing the install's granular-build state so the agent can\nhonestly report ",{"type":43,"tag":127,"props":670,"children":671},{},[672],{"type":49,"value":673},"\"this library is not exposed on this install\"",{"type":49,"value":675},"\ninstead of inventing a workload.",{"type":43,"tag":198,"props":677,"children":678},{},[679,681],{"type":49,"value":680},"Capturing a documented baseline (command line + version + device\n",{"type":43,"tag":194,"props":682,"children":683},{},[684],{"type":43,"tag":198,"props":685,"children":686},{},[687],{"type":49,"value":688},"as-deployed environment + numbers) for later regression hunts.",{"type":43,"tag":198,"props":690,"children":691},{},[692],{"type":49,"value":693},"Requiring the workload owner to predeclare acceptable variance\nand obtaining two consecutive runs within that tolerance before\nreporting a stable result; otherwise escalating the variance.",{"type":43,"tag":198,"props":695,"children":696},{},[697,699,707],{"type":49,"value":698},"Diagnosing why a bench run reported zero \u002F unstable \u002F unexpected\nresults (the error-taxonomy walk in\n",{"type":43,"tag":80,"props":700,"children":701},{"href":397},[702],{"type":43,"tag":52,"props":703,"children":705},{"className":704},[],[706],{"type":49,"value":404},{"type":49,"value":708},").",{"type":43,"tag":61,"props":710,"children":711},{},[712,714,718,720,730,732,738,740,748,750,755,757,762],{"type":49,"value":713},"Do ",{"type":43,"tag":65,"props":715,"children":716},{},[717],{"type":49,"value":558},{"type":49,"value":719}," load this skill for general DOCA orientation, library\nAPI work, or installation. For those, use\n",{"type":43,"tag":80,"props":721,"children":723},{"href":722},"..\u002F..\u002Fdoca-public-knowledge-map\u002FSKILL.md",[724],{"type":43,"tag":52,"props":725,"children":727},{"className":726},[],[728],{"type":49,"value":729},"doca-public-knowledge-map",{"type":49,"value":731},",\nthe matching ",{"type":43,"tag":52,"props":733,"children":735},{"className":734},[],[736],{"type":49,"value":737},"libs\u002F\u003Clibrary>",{"type":49,"value":739}," skill, or\n",{"type":43,"tag":80,"props":741,"children":742},{"href":157},[743],{"type":43,"tag":52,"props":744,"children":746},{"className":745},[],[747],{"type":49,"value":164},{"type":49,"value":749},". Do not load it for\n",{"type":43,"tag":127,"props":751,"children":752},{},[753],{"type":49,"value":754},"application-level",{"type":49,"value":756}," end-to-end benchmarking either — ",{"type":43,"tag":52,"props":758,"children":760},{"className":759},[],[761],{"type":49,"value":57},{"type":49,"value":763},"\nmeasures the DOCA library surface, not the user's application\nabove it.",{"type":43,"tag":175,"props":765,"children":767},{"id":766},"what-this-skill-provides",[768],{"type":49,"value":769},"What this skill provides",{"type":43,"tag":61,"props":771,"children":772},{},[773,775,780],{"type":49,"value":774},"This is a ",{"type":43,"tag":65,"props":776,"children":777},{},[778],{"type":49,"value":779},"thin loader",{"type":49,"value":781},". Substantive material lives in two\ncompanion files:",{"type":43,"tag":194,"props":783,"children":784},{},[785,824],{"type":43,"tag":198,"props":786,"children":787},{},[788,793,795,800,802,807,809,815,817,822],{"type":43,"tag":52,"props":789,"children":791},{"className":790},[],[792],{"type":49,"value":117},{"type":49,"value":794}," — what ",{"type":43,"tag":52,"props":796,"children":798},{"className":797},[],[799],{"type":49,"value":57},{"type":49,"value":801}," can measure (the\ncross-library scope, the three-axis configuration model, the\ndocumented operating modes, the warm-up \u002F pipeline \u002F multi-core\nconcepts that constrain measurement soundness), the version\noverlay (",{"type":43,"tag":52,"props":803,"children":805},{"className":804},[],[806],{"type":49,"value":4},{"type":49,"value":808},"-specific facts on top of the canonical\n",{"type":43,"tag":52,"props":810,"children":812},{"className":811},[],[813],{"type":49,"value":814},"doca-version",{"type":49,"value":816}," rules), the layered error taxonomy\n(config-syntax \u002F device-binding \u002F library-precondition \u002F\nworkload-precondition \u002F measurement-soundness \u002F version \u002F\ncross-cutting), the observability surface (screen + CSV\noutput, real-time stats, query system), and the safety\nposture (the public guide's ",{"type":43,"tag":127,"props":818,"children":819},{},[820],{"type":49,"value":821},"\"not for production\"",{"type":49,"value":823}," warning,\nthe host vs BlueField execution rule, the companion-app\nattack surface).",{"type":43,"tag":198,"props":825,"children":826},{},[827,832,834,840,842,848,850,856,858,863,865,871,873,879,881,887,889,895,897,903,905,910],{"type":43,"tag":52,"props":828,"children":830},{"className":829},[],[831],{"type":49,"value":82},{"type":49,"value":833}," — step-by-step workflows for the in-scope task\nverbs: ",{"type":43,"tag":52,"props":835,"children":837},{"className":836},[],[838],{"type":49,"value":839},"configure",{"type":49,"value":841}," (the three-axis decision + the\nprobe-before-bench step), ",{"type":43,"tag":52,"props":843,"children":845},{"className":844},[],[846],{"type":49,"value":847},"build",{"type":49,"value":849}," (route to install — the\nbinary is shipped, the companion app is shipped), ",{"type":43,"tag":52,"props":851,"children":853},{"className":852},[],[854],{"type":49,"value":855},"modify",{"type":49,"value":857},"\n(refuse — do not patch the bench binary; modify the bench\n",{"type":43,"tag":127,"props":859,"children":860},{},[861],{"type":49,"value":862},"invocation",{"type":49,"value":864}," instead), ",{"type":43,"tag":52,"props":866,"children":868},{"className":867},[],[869],{"type":49,"value":870},"run",{"type":49,"value":872}," (the smoke-before-bulk flow),\n",{"type":43,"tag":52,"props":874,"children":876},{"className":875},[],[877],{"type":49,"value":878},"test",{"type":49,"value":880}," (the eval loop — warm-up, steady-state, outliers,\ncross-version), ",{"type":43,"tag":52,"props":882,"children":884},{"className":883},[],[885],{"type":49,"value":886},"debug",{"type":49,"value":888}," (walk the error taxonomy layer by\nlayer), plus a ",{"type":43,"tag":52,"props":890,"children":892},{"className":891},[],[893],{"type":49,"value":894},"Deferred task verbs",{"type":49,"value":896}," block routing\nout-of-scope questions and a ",{"type":43,"tag":52,"props":898,"children":900},{"className":899},[],[901],{"type":49,"value":902},"Command appendix",{"type":49,"value":904}," of\n",{"type":43,"tag":52,"props":906,"children":908},{"className":907},[],[909],{"type":49,"value":57},{"type":49,"value":911},"-specific invocation classes.",{"type":43,"tag":61,"props":913,"children":914},{},[915,917,922],{"type":49,"value":916},"The skill assumes a host where DOCA ≥ 2.7.0 is already installed\n(or the public NGC DOCA container is running at an equivalent\nversion) and the operator has whatever permissions the public\nguide requires for ",{"type":43,"tag":52,"props":918,"children":920},{"className":919},[],[921],{"type":49,"value":57},{"type":49,"value":923}," to bind devices and allocate\nresources on their platform.",{"type":43,"tag":175,"props":925,"children":927},{"id":926},"what-this-skill-deliberately-does-not-ship",[928],{"type":49,"value":929},"What this skill deliberately does not ship",{"type":43,"tag":61,"props":931,"children":932},{},[933,935,940],{"type":49,"value":934},"This skill is ",{"type":43,"tag":65,"props":936,"children":937},{},[938],{"type":49,"value":939},"agent guidance",{"type":49,"value":941},", not a samples or scripts\nbundle. To keep the boundary clean, it deliberately does not\ncontain — and pull requests should not add:",{"type":43,"tag":194,"props":943,"children":944},{},[945,963,973,990],{"type":43,"tag":198,"props":946,"children":947},{},[948,953,955,961],{"type":43,"tag":65,"props":949,"children":950},{},[951],{"type":49,"value":952},"Specific flag strings or scenario \u002F metric \u002F attribute names\nbeyond what the public DOCA Bench guide documents.",{"type":49,"value":954}," The flag\nsurface evolves and is install-specific; the documented\ninvocations + ",{"type":43,"tag":52,"props":956,"children":958},{"className":957},[],[959],{"type":49,"value":960},"--help",{"type":49,"value":962}," on the installed version are the\nauthoritative answer. Inventing a flag is the most common\nhallucination failure for this skill.",{"type":43,"tag":198,"props":964,"children":965},{},[966,971],{"type":43,"tag":65,"props":967,"children":968},{},[969],{"type":49,"value":970},"Pre-baked example output or expected throughput numbers.",{"type":49,"value":972},"\nBench output is device-, version-, firmware-, NUMA-, and\ntuning-specific. A captured number pinned to one platform and\none DOCA version misleads operators on a different\nplatform \u002F version.",{"type":43,"tag":198,"props":974,"children":975},{},[976,981,983,988],{"type":43,"tag":65,"props":977,"children":978},{},[979],{"type":49,"value":980},"Wrappers, parsers, or scripts",{"type":49,"value":982}," in any language that consume\n",{"type":43,"tag":52,"props":984,"children":986},{"className":985},[],[987],{"type":49,"value":57},{"type":49,"value":989}," CSV or stdout. The output formats are documented;\nif a user wants to script against them, the right answer is\n\"read the live guide, write the parser against your installed\nversion\".",{"type":43,"tag":198,"props":991,"children":992},{},[993,1014,1016,1021],{"type":43,"tag":65,"props":994,"children":995},{},[996,998,1004,1006,1012],{"type":49,"value":997},"A ",{"type":43,"tag":52,"props":999,"children":1001},{"className":1000},[],[1002],{"type":49,"value":1003},"samples\u002F",{"type":49,"value":1005}," or ",{"type":43,"tag":52,"props":1007,"children":1009},{"className":1008},[],[1010],{"type":49,"value":1011},"reference\u002F",{"type":49,"value":1013}," subtree.",{"type":49,"value":1015}," This is a thin\nloader for a documented CLI; substantive material lives on\nthe public page and in ",{"type":43,"tag":52,"props":1017,"children":1019},{"className":1018},[],[1020],{"type":49,"value":960},{"type":49,"value":406},{"type":43,"tag":175,"props":1023,"children":1025},{"id":1024},"loading-order",[1026],{"type":49,"value":1027},"Loading order",{"type":43,"tag":1029,"props":1030,"children":1031},"ol",{},[1032,1052,1072],{"type":43,"tag":198,"props":1033,"children":1034},{},[1035,1037,1043,1045,1050],{"type":49,"value":1036},"Read this ",{"type":43,"tag":52,"props":1038,"children":1040},{"className":1039},[],[1041],{"type":49,"value":1042},"SKILL.md",{"type":49,"value":1044}," first to confirm the user's question is\nin scope (the user actually wants to invoke ",{"type":43,"tag":52,"props":1046,"children":1048},{"className":1047},[],[1049],{"type":49,"value":57},{"type":49,"value":1051}," for\nmeasurement, not learn about a DOCA library in general).",{"type":43,"tag":198,"props":1053,"children":1054},{},[1055],{"type":43,"tag":65,"props":1056,"children":1057},{},[1058,1060,1065,1067,1071],{"type":49,"value":1059},"For what ",{"type":43,"tag":52,"props":1061,"children":1063},{"className":1062},[],[1064],{"type":49,"value":57},{"type":49,"value":1066}," measures, the three-axis model, the\nversion overlay, the error taxonomy, observability surface,\nand safety posture, see ",{"type":43,"tag":80,"props":1068,"children":1069},{"href":117},[1070],{"type":49,"value":117},{"type":49,"value":406},{"type":43,"tag":198,"props":1073,"children":1074},{},[1075],{"type":43,"tag":65,"props":1076,"children":1077},{},[1078,1080,1085,1086,1091,1092,1097,1098,1103,1104,1109,1111,1116,1118,1122],{"type":49,"value":1079},"For the documented invocations and the smoke-before-bulk\nworkflow — ",{"type":43,"tag":52,"props":1081,"children":1083},{"className":1082},[],[1084],{"type":49,"value":839},{"type":49,"value":140},{"type":43,"tag":52,"props":1087,"children":1089},{"className":1088},[],[1090],{"type":49,"value":847},{"type":49,"value":140},{"type":43,"tag":52,"props":1093,"children":1095},{"className":1094},[],[1096],{"type":49,"value":855},{"type":49,"value":140},{"type":43,"tag":52,"props":1099,"children":1101},{"className":1100},[],[1102],{"type":49,"value":870},{"type":49,"value":140},{"type":43,"tag":52,"props":1105,"children":1107},{"className":1106},[],[1108],{"type":49,"value":878},{"type":49,"value":1110},",\n",{"type":43,"tag":52,"props":1112,"children":1114},{"className":1113},[],[1115],{"type":49,"value":886},{"type":49,"value":1117}," — see ",{"type":43,"tag":80,"props":1119,"children":1120},{"href":82},[1121],{"type":49,"value":82},{"type":49,"value":406},{"type":43,"tag":175,"props":1124,"children":1126},{"id":1125},"related-skills",[1127],{"type":49,"value":1128},"Related skills",{"type":43,"tag":194,"props":1130,"children":1131},{},[1132,1152,1181,1214,1234,1272,1292],{"type":43,"tag":198,"props":1133,"children":1134},{},[1135,1143,1145,1150],{"type":43,"tag":80,"props":1136,"children":1137},{"href":722},[1138],{"type":43,"tag":52,"props":1139,"children":1141},{"className":1140},[],[1142],{"type":49,"value":729},{"type":49,"value":1144},"\n— routing to the public DOCA Bench page on ",{"type":43,"tag":52,"props":1146,"children":1148},{"className":1147},[],[1149],{"type":49,"value":579},{"type":49,"value":1151},"\nand the rest of the public DOCA documentation set.",{"type":43,"tag":198,"props":1153,"children":1154},{},[1155,1164,1166,1172,1174,1179],{"type":43,"tag":80,"props":1156,"children":1158},{"href":1157},"..\u002F..\u002Fdoca-version\u002FSKILL.md",[1159],{"type":43,"tag":52,"props":1160,"children":1162},{"className":1161},[],[1163],{"type":49,"value":814},{"type":49,"value":1165}," — the canonical\nversion-detection chain, four-way match rule, NGC container\nsemantics, and headers-win-over-docs rule. The\n",{"type":43,"tag":52,"props":1167,"children":1169},{"className":1168},[],[1170],{"type":49,"value":1171},"## Version compatibility",{"type":49,"value":1173}," section in this skill is a thin\noverlay on top of ",{"type":43,"tag":52,"props":1175,"children":1177},{"className":1176},[],[1178],{"type":49,"value":814},{"type":49,"value":1180},"; the body lives there.",{"type":43,"tag":198,"props":1182,"children":1183},{},[1184,1194,1196,1202,1204,1212],{"type":43,"tag":80,"props":1185,"children":1187},{"href":1186},"..\u002F..\u002Fdoca-structured-tools-contract\u002FSKILL.md",[1188],{"type":43,"tag":52,"props":1189,"children":1191},{"className":1190},[],[1192],{"type":49,"value":1193},"doca-structured-tools-contract",{"type":49,"value":1195},"\n— the bundle-wide contract for structured-output helper tools.\nBench-runner \u002F bench-snapshot executables that satisfy the\ndetect-prefer-fallback-report loop are deferred to PR2; the\ncontract is consumed here in advance so the\n",{"type":43,"tag":52,"props":1197,"children":1199},{"className":1198},[],[1200],{"type":49,"value":1201},"## Command appendix",{"type":49,"value":1203}," in ",{"type":43,"tag":80,"props":1205,"children":1206},{"href":82},[1207],{"type":43,"tag":52,"props":1208,"children":1210},{"className":1209},[],[1211],{"type":49,"value":82},{"type":49,"value":1213}," is infra-aware\nfrom PR1.",{"type":43,"tag":198,"props":1215,"children":1216},{},[1217,1225,1227,1232],{"type":43,"tag":80,"props":1218,"children":1219},{"href":157},[1220],{"type":43,"tag":52,"props":1221,"children":1223},{"className":1222},[],[1224],{"type":49,"value":164},{"type":49,"value":1226}," — env preparation,\ninstall verification, hugepages, NUMA awareness, and the ",{"type":43,"tag":127,"props":1228,"children":1229},{},[1230],{"type":49,"value":1231},"I\nhave no install yet",{"type":49,"value":1233}," path with the public NGC DOCA container.",{"type":43,"tag":198,"props":1235,"children":1236},{},[1237,1247,1249,1254,1256,1264,1266,1271],{"type":43,"tag":80,"props":1238,"children":1240},{"href":1239},"..\u002F..\u002Fdoca-debug\u002FSKILL.md",[1241],{"type":43,"tag":52,"props":1242,"children":1244},{"className":1243},[],[1245],{"type":49,"value":1246},"doca-debug",{"type":49,"value":1248}," — the cross-cutting\ndebug ladder. Bench surfaces ",{"type":43,"tag":127,"props":1250,"children":1251},{},[1252],{"type":49,"value":1253},"its own",{"type":49,"value":1255}," error taxonomy in\n",{"type":43,"tag":80,"props":1257,"children":1258},{"href":332},[1259],{"type":43,"tag":52,"props":1260,"children":1262},{"className":1261},[],[1263],{"type":49,"value":339},{"type":49,"value":1265},";\nwhen the cause turns out to be below DOCA (driver, firmware,\nNUMA), the bench taxonomy hands off to ",{"type":43,"tag":52,"props":1267,"children":1269},{"className":1268},[],[1270],{"type":49,"value":1246},{"type":49,"value":406},{"type":43,"tag":198,"props":1273,"children":1274},{},[1275,1283,1285,1290],{"type":43,"tag":80,"props":1276,"children":1277},{"href":477},[1278],{"type":43,"tag":52,"props":1279,"children":1281},{"className":1280},[],[1282],{"type":49,"value":484},{"type":49,"value":1284}," — the sibling DOCA tool\nfor the coarse per-device per-library capability snapshot.\nBench probes capability at finer grain via its own query\nsystem; ",{"type":43,"tag":52,"props":1286,"children":1288},{"className":1287},[],[1289],{"type":49,"value":380},{"type":49,"value":1291}," is the cheaper first step to confirm the\ndevice is even visible to DOCA.",{"type":43,"tag":198,"props":1293,"children":1294},{},[1295,1297,1302,1304,1314,1315,1325,1327,1332],{"type":49,"value":1296},"The matching ",{"type":43,"tag":52,"props":1298,"children":1300},{"className":1299},[],[1301],{"type":49,"value":737},{"type":49,"value":1303}," skill — e.g.\n",{"type":43,"tag":80,"props":1305,"children":1307},{"href":1306},"..\u002F..\u002Flibs\u002Fdoca-comch\u002FSKILL.md",[1308],{"type":43,"tag":52,"props":1309,"children":1311},{"className":1310},[],[1312],{"type":49,"value":1313},"doca-comch",{"type":49,"value":1110},{"type":43,"tag":80,"props":1316,"children":1318},{"href":1317},"..\u002F..\u002Flibs\u002Fdoca-compress\u002FSKILL.md",[1319],{"type":43,"tag":52,"props":1320,"children":1322},{"className":1321},[],[1323],{"type":49,"value":1324},"doca-compress",{"type":49,"value":1326}," — for\nthe workload-side preconditions, capability-query rules, and\nerror-taxonomy overlays of the library under test. Bench\ndrives the library; the library skill explains ",{"type":43,"tag":127,"props":1328,"children":1329},{},[1330],{"type":49,"value":1331},"what\n\"healthy\" means for it",{"type":49,"value":406},{"items":1334,"total":1493},[1335,1353,1371,1382,1394,1408,1421,1435,1448,1459,1473,1482],{"slug":1336,"name":1336,"fn":1337,"description":1338,"org":1339,"tags":1340,"stars":1350,"repoUrl":1351,"updatedAt":1352},"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},[1341,1344,1347],{"name":1342,"slug":1343,"type":15},"Documentation","documentation",{"name":1345,"slug":1346,"type":15},"MCP","mcp",{"name":1348,"slug":1349,"type":15},"Search","search",21777,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNemoClaw","2026-07-20T06:00:01.461044",{"slug":1354,"name":1354,"fn":1355,"description":1356,"org":1357,"tags":1358,"stars":1368,"repoUrl":1369,"updatedAt":1370},"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},[1359,1362,1365],{"name":1360,"slug":1361,"type":15},"Containers","containers",{"name":1363,"slug":1364,"type":15},"Deployment","deployment",{"name":1366,"slug":1367,"type":15},"Python","python",17049,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM","2026-07-27T06:06:11.249662",{"slug":1372,"name":1372,"fn":1373,"description":1374,"org":1375,"tags":1376,"stars":1368,"repoUrl":1369,"updatedAt":1381},"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},[1377,1380],{"name":1378,"slug":1379,"type":15},"CI\u002FCD","ci-cd",{"name":1363,"slug":1364,"type":15},"2026-07-14T05:25:59.97109",{"slug":1383,"name":1383,"fn":1384,"description":1385,"org":1386,"tags":1387,"stars":1368,"repoUrl":1369,"updatedAt":1393},"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},[1388,1389,1390],{"name":1378,"slug":1379,"type":15},{"name":1363,"slug":1364,"type":15},{"name":1391,"slug":1392,"type":15},"GitHub","github","2026-07-27T06:06:12.278222",{"slug":1395,"name":1395,"fn":1396,"description":1397,"org":1398,"tags":1399,"stars":1368,"repoUrl":1369,"updatedAt":1407},"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},[1400,1403,1404],{"name":1401,"slug":1402,"type":15},"Debugging","debugging",{"name":1391,"slug":1392,"type":15},{"name":1405,"slug":1406,"type":15},"Triage","triage","2026-07-14T05:25:57.442089",{"slug":1409,"name":1409,"fn":1410,"description":1411,"org":1412,"tags":1413,"stars":1368,"repoUrl":1369,"updatedAt":1420},"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},[1414,1417],{"name":1415,"slug":1416,"type":15},"Best Practices","best-practices",{"name":1418,"slug":1419,"type":15},"Code Analysis","code-analysis","2026-07-14T05:25:56.18433",{"slug":1422,"name":1422,"fn":1423,"description":1424,"org":1425,"tags":1426,"stars":1368,"repoUrl":1369,"updatedAt":1434},"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},[1427,1430,1433],{"name":1428,"slug":1429,"type":15},"Machine Learning","machine-learning",{"name":1431,"slug":1432,"type":15},"Migration","migration",{"name":9,"slug":8,"type":15},"2026-07-17T06:07:11.777011",{"slug":1436,"name":1436,"fn":1437,"description":1438,"org":1439,"tags":1440,"stars":1368,"repoUrl":1369,"updatedAt":1447},"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},[1441,1444],{"name":1442,"slug":1443,"type":15},"QA","qa",{"name":1445,"slug":1446,"type":15},"Testing","testing","2026-07-14T05:25:53.673039",{"slug":1449,"name":1449,"fn":1450,"description":1451,"org":1452,"tags":1453,"stars":1368,"repoUrl":1369,"updatedAt":1458},"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},[1454,1455],{"name":1363,"slug":1364,"type":15},{"name":1456,"slug":1457,"type":15},"Infrastructure","infrastructure","2026-07-14T05:25:49.362534",{"slug":1460,"name":1460,"fn":1461,"description":1462,"org":1463,"tags":1464,"stars":1368,"repoUrl":1369,"updatedAt":1472},"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},[1465,1468,1469],{"name":1466,"slug":1467,"type":15},"Code Review","code-review",{"name":1391,"slug":1392,"type":15},{"name":1470,"slug":1471,"type":15},"Pull Requests","pull-requests","2026-07-14T05:26:01.226578",{"slug":1474,"name":1474,"fn":1475,"description":1476,"org":1477,"tags":1478,"stars":1368,"repoUrl":1369,"updatedAt":1481},"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},[1479,1480],{"name":1442,"slug":1443,"type":15},{"name":1445,"slug":1446,"type":15},"2026-07-14T05:25:54.928983",{"slug":1483,"name":1483,"fn":1484,"description":1485,"org":1486,"tags":1487,"stars":1368,"repoUrl":1369,"updatedAt":1492},"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},[1488,1491],{"name":1489,"slug":1490,"type":15},"Automation","automation",{"name":1378,"slug":1379,"type":15},"2026-07-30T05:29:03.275638",496,{"items":1495,"total":1589},[1496,1511,1521,1535,1545,1560,1575],{"slug":1497,"name":1497,"fn":1498,"description":1499,"org":1500,"tags":1501,"stars":23,"repoUrl":24,"updatedAt":1510},"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},[1502,1505,1508,1509],{"name":1503,"slug":1504,"type":15},"Data Analysis","data-analysis",{"name":1506,"slug":1507,"type":15},"Data Engineering","data-engineering",{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},"2026-07-14T05:28:43.176466",{"slug":1512,"name":1512,"fn":1513,"description":1514,"org":1515,"tags":1516,"stars":23,"repoUrl":24,"updatedAt":1520},"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},[1517,1518,1519],{"name":1363,"slug":1364,"type":15},{"name":1456,"slug":1457,"type":15},{"name":9,"slug":8,"type":15},"2026-07-14T05:29:06.667109",{"slug":1522,"name":1522,"fn":1523,"description":1524,"org":1525,"tags":1526,"stars":23,"repoUrl":24,"updatedAt":1534},"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},[1527,1530,1531],{"name":1528,"slug":1529,"type":15},"Agents","agents",{"name":9,"slug":8,"type":15},{"name":1532,"slug":1533,"type":15},"Research","research","2026-07-14T05:28:06.816956",{"slug":1536,"name":1536,"fn":1537,"description":1538,"org":1539,"tags":1540,"stars":23,"repoUrl":24,"updatedAt":1544},"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},[1541,1542,1543],{"name":1503,"slug":1504,"type":15},{"name":9,"slug":8,"type":15},{"name":1445,"slug":1446,"type":15},"2026-07-17T05:29:03.913266",{"slug":1546,"name":1546,"fn":1547,"description":1548,"org":1549,"tags":1550,"stars":23,"repoUrl":24,"updatedAt":1559},"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},[1551,1552,1555,1556],{"name":1489,"slug":1490,"type":15},{"name":1553,"slug":1554,"type":15},"Imaging","imaging",{"name":9,"slug":8,"type":15},{"name":1557,"slug":1558,"type":15},"Video","video","2026-07-17T05:28:53.905004",{"slug":1561,"name":1561,"fn":1562,"description":1563,"org":1564,"tags":1565,"stars":23,"repoUrl":24,"updatedAt":1574},"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},[1566,1567,1570,1571],{"name":1363,"slug":1364,"type":15},{"name":1568,"slug":1569,"type":15},"Docker","docker",{"name":9,"slug":8,"type":15},{"name":1572,"slug":1573,"type":15},"Operations","operations","2026-07-17T05:28:56.913999",{"slug":1576,"name":1576,"fn":1577,"description":1578,"org":1579,"tags":1580,"stars":23,"repoUrl":24,"updatedAt":1588},"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},[1581,1582,1585],{"name":9,"slug":8,"type":15},{"name":1583,"slug":1584,"type":15},"Quantum Computing","quantum-computing",{"name":1586,"slug":1587,"type":15},"Simulation","simulation","2026-07-14T05:26:58.898253",305]