What problem does it solve?
When none of doca-bench's built-in workload modes can measure your workload, you must author a custom extension — a versioned shared library with DOCA_EXPERIMENTAL-marked C entry points — and getting the build, registration, loading, and debugging right is error-prone. This Skill guides agents through that entire extension lifecycle using the shipped doca_bench_cuda reference exemplar.
Core Features & Use Cases
- Extension decision and design: Confirms whether a workload genuinely requires an extension versus a built-in doca-bench mode, then walks the API surface shape (entry points, settings structs, accounting structs, stop_flag lifetime contract) using the shipped doca_bench_cuda reference.
- Build and version management: Guides Meson-based builds of versioned shared libraries whose soversion matches the running DOCA release, including the DOCA_EXPERIMENTAL rebuild-on-upgrade rule.
- Layered debugging: Diagnoses failures across seven layers — build, load, registration, runtime call, and version mismatches — with a smoke-before-bulk testing discipline.
- Use Case: A performance engineer needs to benchmark a CUDA GPUNetIO RX/TX kernel that no built-in doca-bench mode covers; the Skill walks them through copying the reference exemplar, adapting its entry points, building the .so, and running a no-op smoke before scaling up.
Quick Start
Ask your agent to help you benchmark a workload that no built-in doca-bench mode covers by authoring a custom extension based on the shipped doca_bench_cuda reference.