DOCA Flow DPA Provider 技能
帮助开发者将 DOCA Flow 管道和资源导出到 BlueField DPA,供 DPA 内核直接读取或修改。
文档明确限定 BlueField、同一设备、队列和导出生命周期,并要求在配置前确认端口、资源、队列和内核终止方式;也说明设备地址交接、版本匹配和销毁顺序。扣分原因是该技能会影响真实硬件和 DPA/Flow 状态,回滚、权限最小化、数据流边界和敏感数据处理未形成完整可执行策略,且部分安全规则仅通过交叉引用给出。
任务流程、错误分类、前置条件和异常处理较详细,能解释 BAD_STATE、AGAIN、NOT_SUPPORTED 等失败原因。扣分原因是本次仅静态阅读,没有可执行源码、提交的测试套件或真实 CI 覆盖关键路径;部分行为依赖本地 DOCA 版本、硬件和未提供的安装头文件,因此不能超过静态上限。
受众、触发语句、输入前置条件、适用范围和明确的非适用范围都写得清楚,并覆盖安装、配置、构建、运行、测试和调试场景。扣分原因是没有中文使用指导或本地化输出约定,且核心功能依赖 BlueField、DOCA、DPACC 和 NVIDIA 文档/安装环境;对中国大陆网络可达性未说明。
文档采用 loader、能力矩阵和任务工作流分层,包含相关技能路由、版本要求、错误分类、示例问题和维护/缺陷入口。扣分原因是许可证信息不一致(SKILL.md 为 Apache-2.0,其他卡片出现 Apache-2.0 AND CC-BY-4.0,而题设元数据为 NOASSERTION),版本和签名仍为 TBD,基准报告还显示缺少推荐章节、作者和存在路径/结构不一致。
技能针对一个狭窄但明确的 Flow-to-DPA 导出任务,提供队列选择、导出顺序、设备地址交接、测试烟雾流程和错误定位,理论上能直接指导用户。扣分原因是它明确不提供可构建样例、源码或构建清单,实际结果依赖用户本地样例和外部安装文档;本次没有静态可验证的代表性最终产物或执行结果。
源文件包含具体 API 名称、调用顺序、错误码、版本检测命令、基准报告和引用的安装头文件/文档来源,具备一定审计线索。扣分原因是关键依据多为作者陈述或交叉引用,基准数据集不可用,未提供可在本次审查中核验的 CI、测试套件或第三方复现证据,因此静态证据有限。
- 这是仅基于源文件的低置信度静态评估;不要把 BENCHMARK.md 或 skill-card 中的 PASS、成功率和签名占位符视为本次独立验证。
- 在真实 BlueField 上执行前,应核对本地 DOCA Flow、DOCA DPA、provider 和 DPACC 的兼容版本,并在隔离环境中确认导出顺序、队列容量、设备地址归属和销毁/恢复路径。
- 许可证、仓库路径和版本信息存在不一致,发布前应由维护者统一元数据并补充可复现测试证据。
- 核心文档依赖 NVIDIA 安装包、硬件和外部文档;中国大陆用户应预先确认所需资源的网络可达性或提供离线镜像。
这个 Skill 能做什么,适合哪些场景?
该技能面向已经具备主机侧 DOCA Flow 管道和 DOCA DPA 执行环境的开发者。它指导使用 doca-flow-dpa-provider 将管道、索引选择器和内存资源导出到 DPA 地址空间,并处理主机侧与 DPA 侧之间的队列、生命周期和完成状态。技能覆盖 C 主机库与 DPACC 编译的 DPA 侧设备库,但不提供现成应用源代码、内核源代码或独立构建文件。它属于 NVIDIA/skills 集合中的单个技能;该仓库整体包含 324 个技能。
指导代理检查本地 DOCA 安装、doca-flow-dpa-provider、doca-flow、doca-dpa 和 dpacc 的版本与可用性;配置每端口 doca_flow_dpa_ctx 及通用、资源写入、资源读取三类队列;按 prepare、添加条目、export、get-device-addr 的顺序导出 Flow 管道;导出索引选择器或内存外部资源;将设备地址交给 DPA 内核,并指导其调用管道、资源和完成队列 API;分析 DOCA_ERROR_*、导出生命周期错误、队列未创建和队列未排空等问题。
- 已有带计数器的 DOCA Flow 管道,希望 DPA 内核直接读取计数器并作出后续决策。
- 需要让 DPA 内核启用、禁用或替换已导出哈希管道中的条目。
- 需要从 DPA 侧读取或更新与 Flow 关联的内存或索引选择器资源。
- 遇到 BAD_STATE、DPA 内核看不到条目或 DPA 操作持续返回 AGAIN,需要定位主机、DPA 或导出握手问题。
- 使用非 C 主机语言绑定提供程序,并把设备地址交给独立构建的 DPACC 内核。
这个 Skill 有哪些优点和局限?
- 覆盖管道和外部资源导出、三类队列、设备地址传递及完成轮询。
- 明确区分 DOCA Flow、主机侧 DPA 和 DPA 内核的职责边界。
- 提供版本匹配、环境前提和错误分类方面的专门指导。
- 技能本身使用 Apache-2.0;集合 README 声明项目采用 Apache-2.0 与 CC BY-4.0 双许可证。
- 不能替代 DOCA 安装、主机侧 Flow 管道建立或通用 DPA 内核开发。
- 要求真实的 BlueField DPU、DPA 处理器、Linux DOCA 环境和匹配版本的 DPACC。
- 不包含应用源代码、DPA 内核源代码、samples、bindings 或独立构建清单。
- 来源未提供该单项技能的测试结果、平台覆盖矩阵或性能数据。
如何安装这个 Skill?
使用 NVIDIA/skills 集合的 skills CLI 安装:npx skills add nvidia/skills --skill doca-flow-dpa-provider --yes。也可以指定客户端,例如:npx skills add nvidia/skills --skill doca-flow-dpa-provider --agent codex。来源未说明单独安装该技能所需的其他命令;运行环境仍需自行安装并验证 DOCA SDK、BlueField DPU、DPA 和匹配版本的 DPACC。
如何使用这个 Skill?
将技能加载到兼容 Agent Skills 的客户端后,使用类似“将现有 DOCA Flow 管道导出到 DPA 内核并读取计数器”或“doca_flow_dpa_pipe_export 返回 DOCA_ERROR_BAD_STATE,帮我排查”的请求触发。进行实际配置、构建、运行、测试或调试时,技能会引导代理读取同目录的 TASKS.md;查询 API 能力时读取 CAPABILITIES.md。技能不提供这些伴随文件的内容或可直接编译的样例。
这个 Skill 与同类方案有什么区别?
它明确将 doca-flow 作为主机侧 Flow 编程替代路径,将 doca-dpa 作为主机侧 DPA 控制库,并将公共 DOCA Flow、DOCA DPA 和 DPACC 指南作为 DPA 内核编写的外部参考。它适合需要把 Flow 与 DPA 联动的场景,不适合纯主机侧 Flow 或与 Flow 无关的通用 DPA 计算。