DOCA Bench 扩展开发技能
帮助工程师为 doca-bench 构建、加载并调试自定义基准测试插件。
文档明确要求先确认前置条件、先冒烟后扩展、捕获日志后重试,并披露自定义代码在父进程和设备地址空间中的崩溃、挂起及数据面风险;但未提供隔离执行、明确用户授权边界、完整回滚/恢复流程,且可能依赖 OOB GPU 或设备重置,因此从中等水平扣分。
SKILL.md、CAPABILITIES.md 和 TASKS.md 具有较完整的配置、构建、运行、测试和分层调试流程,并说明异常反馈应引用原始错误;但关键运行时发现机制依赖外部文档和本机安装内容,未执行复现,且静态证据不足以超过 10 分。
目标用户、触发语句、非适用范围、协同技能和 Linux/DOCA/硬件依赖描述清楚;但仅面向熟悉 Meson、共享库和 CUDA/GPUNetIO 的高级用户,中文内容缺失,并依赖可能难以从中国大陆访问的 docs.nvidia.com,故扣分。
文档按能力、任务、错误分类和安全策略分层,包含示例、依赖和版本重建规则;但版本、作者、维护责任和变更路径不完整,BENCHMARK.md 还记录了缺少 Instructions/Examples、作者元数据等结构问题,且许可证信息与题设 NOASSERTION 及 SKILLCARD 内容存在不一致。
该技能能直接提供扩展决策、参考实现适配、SONAME 检查、冒烟测试和调试顺序,核心指导具有实际价值;但没有完整可执行的运行时发现配方,要求用户补充本机安装和外部文档信息,结果仍需较多环境验证,因此按静态上限保守扣分。
源文件提供了可审计的流程、符号形状、路径和自称的评测报告;但没有随技能提供覆盖关键路径的测试套件或可独立复现的第三方执行材料,评测结果主要是文件内声明,因此证据可验证性有限。
- 自定义扩展在 doca-bench 地址空间内运行,GPU 内核可能挂起并需要 OOB 重置;执行前应确认隔离、共租户影响、恢复权限和用户授权。
- 运行时发现机制、精确 API 和部分版本行为依赖本机 DOCA 安装及外部 NVIDIA 文档,不能仅凭该技能静态内容确认。
- 许可证和来源元数据存在不一致:题设为 NOASSERTION,而不同文件分别声明 Apache-2.0 或 Apache-2.0 AND CC-BY-4.0。
- 技能主体为英文,且核心外部文档依赖可能影响中国大陆用户的可达性。
这个 Skill 能做什么,适合哪些场景?
该技能面向内置 doca-bench 模式无法覆盖的工作负载,指导操作者使用扩展框架和共享库插件。它以 doca_bench_cuda 作为 GPU 侧参考示例,涵盖配置、构建、运行、测试和分层故障排查。扩展由父工具 doca-bench 加载和调用,并使用带 DOCA_EXPERIMENTAL 标记的 C 入口点。使用前需要已安装 DOCA SDK,并确认内置模式确实无法满足需求。
指导用户先判断是否需要扩展,再定位 /opt/mellanox/doca/tools/bench_extension/doca_bench_cuda/ 参考实现;说明如何使用 Meson 构建匹配 DOCA 版本的 Linux 共享库,组织入口点和工作负载设置结构;指导 doca-bench 的加载、调用和最小冒烟测试;区分构建失败、加载失败、注册不匹配和运行时调用失败。
- 平台或性能工程师需要测量 doca-bench 内置模式未覆盖的工作负载。
- 工程师希望基于 doca_bench_cuda 参考实现开发 CUDA 或 GPUNetIO RX/TX 扩展。
- 自定义 .so 已构建,但 doca-bench 无法找到、加载或调用它。
- DOCA 升级后,工程师需要处理 soversion、实验性 API 和重新构建问题。
- 用户希望在运行真实工作负载前验证扩展是否被加载并返回父工具期望的数据。
这个 Skill 有哪些优点和局限?
- 覆盖自定义 doca-bench 插件从决策到调试的完整工作流。
- 提供 doca_bench_cuda 作为实际 API 和构建布局参考。
- 明确区分扩展框架与内置模式、GPUNetIO 语义及 CUDA 安装等边界。
- 强调 DOCA 版本、soversion 和实验性 API 的兼容性风险。
- 不能替代 doca-bench 内置模式清单,也不适合内置模式已经覆盖的工作负载。
- 依赖 DOCA SDK、Linux 设备和原生构建环境;GPU 示例还依赖 CUDA。
- SKILL.md 未给出完整的运行时发现机制、所有入口点签名或完整命令附录。
- 扩展使用 DOCA_EXPERIMENTAL API,DOCA 升级后通常需要重新构建。
如何安装这个 Skill?
使用 NVIDIA/skills 集合中的 skills CLI 安装指定技能:npx skills add nvidia/skills --skill doca-bench-extension --yes。README 说明该命令通过 npx 运行,并在下一次智能体加载相关技能时生效。运行扩展还需要 Linux 上 /opt/mellanox/doca 的 DOCA SDK、BlueField DPU 或 ConnectX NIC,以及 pkg-config doca-common;GPU 参考实现还需要匹配的 CUDA 工具包和 NVIDIA GPU。
如何使用这个 Skill?
在支持 Agent Skills 的客户端中提出相关任务,例如:“我的工作负载没有匹配的 doca-bench 内置模式,如何构建并加载自定义扩展?”技能要求先确认 DOCA 和 doca-bench 可用,再确认没有内置模式覆盖,随后按 configure → build → run → test → debug 的顺序操作。具体运行时发现机制应以已安装的 doca-bench、随附扩展的 meson.build 和 NVIDIA 公共文档为准;SKILL.md 不提供一套自创的发现机制。
这个 Skill 与同类方案有什么区别?
与 doca-bench 内置模式相比,该技能处理的是内置能力无法覆盖时的外部插件扩展;内置模式应优先由 doca-bench 技能处理。