DOCA DPA 主机端开发助手
帮助在 BlueField 主机端加载、启动和调试 DOCA DPA 应用。
文档明确限定主机侧范围、版本检查、能力发现、错误分层和反 partial-rebuild 规则,也未要求凭据或秘密;但未系统说明命令的权限边界、硬件操作确认、敏感数据处理、回滚方案或失败后的恢复流程,因此扣分。
TASKS.md 和 CAPABILITIES.md 提供了较完整的配置、构建、运行、测试和调试路径,并说明 PE progress、completion 和版本偏差等失败原因;但静态审查无法复现关键路径,且文档存在范围表述冲突和若干绝对化错误归因,因此按静态上限保守扣分。
受众、输入环境、触发短语和多个越界路由定义清楚,并说明 BlueField、DOCA、DPACC 依赖;但 Linux、标准安装路径、特定硬件和英文 API 生态限制明显,中文支持未体现,且 DPA-side 编程是否纳入范围存在冲突,因此扣分。
文档分层良好,SKILL.md、CAPABILITIES.md、TASKS.md、评测和相关技能链接齐全,且有 Apache-2.0 前置声明;但版本、变更记录、维护责任和发布元数据不一致,作者字段缺失,基准报告还包含路径和许可证不一致,故扣分。
该技能能直接提供 host-side DPA 生命周期、能力检查、错误排查和路由指导,核心任务覆盖较完整;但不提供可运行样例或模板,依赖用户本地 DOCA/DPACC 安装和其他技能,静态材料也没有可独立验证的代表性输出,因此未超过静态上限并扣分。
文件包含结构化工作流、符号名、评测摘要和外部参考入口,具备一定审计性;但评测数据集不可用,未执行测试,报告中的路径和元数据互相矛盾,也没有多来源或独立复现证据,因此仅给低分。
- 不要把该技能当作已验证的可运行实现;必须在目标 BlueField 上独立确认 DOCA、DPACC、硬件能力和 API 语义。
- SKILL.md 对 DPA-side comms/verbs 编程的范围相互矛盾,调用前应明确路由到对应公共指南。
- BENCHMARK.md、SKILLCARD.yaml 和 SKILL.md 的仓库路径、许可证和评测元数据不一致;不要把评测 PASS 当作本次修订的独立证明。
- 运行涉及真实硬件和异步内核;应先执行低风险 smoke test,并准备停止、清理和失败恢复步骤。
这个 Skill 能做什么,适合哪些场景?
该技能面向从主机端使用 DOCA DPA 库的开发者,覆盖 DPA 上下文、应用镜像、线程、内核启动和完成通知等生命周期。它还指导使用 doca_dpa_cap_* 检查硬件与安装版本能力,并分析 doca_dpa_* 返回的 DOCA_ERROR_*。技能提供 configure、build、modify、run、test 和 debug 工作流。它不负责安装 DOCA、编写 DPA 侧内核本身,也不重新定义 DPA-Comms 或 DPA-Verbs 的设备侧编程指南。
指导代理检查 /opt/mellanox/doca 中的库、头文件、样例和应用目录,读取 pkg-config --modversion doca-dpa 及已安装 dpacc 版本;规划创建 doca_dpa Core 上下文、加载 dpacc 生成的 doca_dpa_app 镜像、创建 doca_dpa_thread、通过 doca_dpa_kernel_launch_update_* 启动内核并排空 doca_dpa_completion;使用 doca_dpa_cap_* 查询能力,并按层次诊断 DOCA_ERROR_*。
- BlueField 应用开发者需要从主机加载 DPA 应用镜像并启动带参数的 DPA 内核。
- 开发者需要确认当前 BlueField 代际和 DOCA 安装是否暴露所需的 DPA 能力。
- 主机端 launch 调用返回 DOCA_ERROR_NOT_SUPPORTED、DOCA_ERROR_DRIVER 或其他 doca_dpa 错误,需要定位故障层。
- 开发者需要让 DPA 内核中的线程通过 DPA-Comms 进行同一处理器上的消息协调。
- 开发者需要评估是否可在 DPA 内核中通过 DPA-Verbs 直接执行远程 RDMA。
这个 Skill 有哪些优点和局限?
- 覆盖主机端 DPA 生命周期和六类常见工程工作流。
- 明确区分 BlueField 硬件能力、DOCA 安装能力及 DOCA/DPACC 版本匹配。
- 覆盖 DPA-Comms、DPA-Verbs 与 host-side doca-comch、doca-rdma 的边界。
- 支持以 C、C++ 或其他主机语言编写绑定,只要 DPA 镜像由 dpacc 单独构建。
- 要求已有 DOCA SDK、匹配的 DPACC 编译器和具备 DPA 的 BlueField 环境。
- 不提供可直接构建的样例源码、构建清单、bindings 或 reference 子目录。
- 不覆盖安装 DOCA、DPACC 内部机制或 DPA 侧内核编写的完整指南。
- 源材料没有提供测试平台矩阵或该单项技能的独立测试结果。
如何安装这个 Skill?
使用仓库 README 支持的 Skills CLI 安装:
npx skills add nvidia/skills --skill doca-dpa --yes
也可指定 Codex:
npx skills add nvidia/skills --skill doca-dpa --agent codex --yes
源材料未说明该命令具体将目录安装到哪个本地路径;CLI 会提示或按目标代理处理安装位置。
如何使用这个 Skill?
让代理提出具体的主机端 DOCA DPA 任务,例如:"从主机程序加载 dpacc 生成的 DPA 镜像,启动带缓冲区和长度参数的内核,并诊断没有 completion 的情况。"
使用时应先确认 DOCA 已安装在 /opt/mellanox/doca、BlueField 的 DPA 对主机可见,并且 DOCA 与 DPACC 版本符合兼容策略。需要执行任务时查看 TASKS.md;需要能力矩阵、版本、错误分类或安全前置条件时查看 CAPABILITIES.md。
这个 Skill 与同类方案有什么区别?
它不是 doca-setup 的替代品:DOCA 或 DPACC 尚未安装时应先走安装路径。它也不是 DPA 侧内核、DPA-Comms 或 DPA-Verbs 的完整编程指南;这些内容应转到 doca-public-knowledge-map 指向的公共 DOCA 指南。