DOCA Comch 主机-DPU 通信技能
帮助开发者在主机与 BlueField DPU 之间配置、构建和调试 Comch 通信。
证据显示技能明确限定在已安装 DOCA、主机与 BlueField 对之间,区分主机/DPU 角色,要求先检查 representor、PCIe 可见性和能力,并提醒不要泄露秘密;但包含 sudo、mlxconfig、设备和内核诊断命令,未规定逐步确认、最小权限、数据敏感性边界、回滚或恢复流程,因此扣分。
文档提供了较完整的生命周期、错误分类、进度引擎和故障分层,且有静态 benchmark 报告;但本次未执行,关键 API 只能依赖文字一致性。文档还存在客户端连接回调描述不一致、若干“always/most often”过强断言,以及缺少可复现失败样例,因此按静态上限保守扣分。
触发条件、受众、输入环境、慢/快路径选择和明确的非适用范围都写得清楚,并覆盖 C/C++ 与 FFI;但没有中文使用指导或中文术语映射,也未讨论中国大陆网络环境。其核心依赖本地 Linux、DOCA SDK、BlueField 和代表性硬件,通用性有限,因此扣分。
采用 SKILL.md loader、CAPABILITIES.md、TASKS.md 的分层结构,包含依赖、版本兼容、命令附录、限制、相关技能、评测和问题入口;但 benchmark 指出缺少推荐的 Instructions/Examples 部分,作者元数据、版本、签名和签署时间仍为 TBD,且不同文件的许可证声明不完全一致,维护路径因此不够完整。
目标任务、角色划分、能力查询、构建、运行、测试和调试流程具体,静态内容足以支持核心指导;但没有随技能提供可直接运行的示例代码或模板,用户仍需依赖本地样例和其他技能,且本次没有执行验证。benchmark 结果虽声称有效,但数据集不可用,因此只能给静态审查允许的中等分数。
证据包括具体 API 符号、命令、错误映射、交叉链接、evals 和 benchmark 报告;但评测数据集、CI/test suite 和独立复现材料未提供,SKILLCARD 的签名与扫描字段仍是 TBD,很多技术断言无法由所给文件交叉核验,因此扣分。
- 执行 sudo、mlxconfig、dmesg 或设备诊断命令前应增加明确的用户确认、权限范围和输出脱敏要求。
- 客户端连接状态的回调描述存在不一致;在实际使用前应以已安装 DOCA 头文件和官方文档核对 API。
- 不要把 benchmark 中不可复现的结果当作独立测试证据;应补充可提交、可重复运行的测试与 CI。
- 许可证、版本、签名和维护元数据需要统一并填实。
这个 Skill 能做什么,适合哪些场景?
该技能面向使用 DOCA Comch C 库的外部开发者,用于通过 PCIe 在主机进程与 BlueField 代理之间交换控制或数据消息。它覆盖 DPU 服务端与主机客户端的角色划分、连接生命周期、慢速路径与快速路径选择、能力查询、权限问题和 DOCA_ERROR_* 故障排查。技能假设 DOCA 已安装,并通过配套的 CAPABILITIES.md 与 TASKS.md 提供详细矩阵和工作流。它不负责安装 DOCA、固件 bring-up、非 Comch 库或大规模部署。
读取本地 pkg-config doca-comch 信息,并检查 /opt/mellanox/doca/{lib,include,samples,applications};指导用户配置 doca_comch_server、doca_comch_client、接收回调、生产者/消费者和连接回调;帮助查询最大消息大小、最大客户端数及队列属性;指导 configure、build、modify、run、test、debug 工作流,并按生命周期、权限、能力和阻塞错误分类 DOCA_ERROR_*。
- 使用 DOCA 的主机与 BlueField 开发者,需要让 DPU 服务端和主机客户端建立 Comch 通道并交换首条控制消息。
- 需要低 CPU 传输吞吐量较高数据的开发者,希望在慢速 send-task/recv-callback 与快速 producer/consumer 路径之间做选择。
- 需要确认当前 DOCA 版本是否支持某项 Comch 能力,或处理 DOCA 2.5 将 Comm Channel 重命名为 Comch 的开发者。
- 遇到代表器不可见、`DOCA_ERROR_NOT_PERMITTED`、`DOCA_ERROR_AGAIN` 或连接回调不触发的开发者。
- 维护 Rust、Go 或 Python FFI 绑定、需要遵守 Comch C ABI 生命周期、角色、权限和能力规则的开发者。
这个 Skill 有哪些优点和局限?
- 覆盖主机-DPU Comch 的角色、生命周期、慢速路径和快速路径。
- 包含能力查询、连接可观测性、权限策略和分层错误排查指导。
- 适用于 C/C++ 以及通过 FFI 使用同一 C ABI 的其他语言。
- 明确将 DOCA 安装、固件 bring-up 和非 Comch 问题路由到其他技能。
- 必须已有 DOCA SDK,且需要 Linux 主机与 BlueField pair;不提供安装步骤或固件 bring-up。
- 这是薄加载器,不附带可直接构建的应用源码、绑定、samples 子树或独立构建清单。
- SKILL.md 本身未展示完整的 CAPABILITIES.md、TASKS.md 内容,也未提供具体测试结果。
- 文档提到 DPU 侧通常需要 sudo 才能查看主机 representor,但没有给出所有平台和硬件组合的验证范围。
如何安装这个 Skill?
使用默认 skills CLI 安装单个技能:npx skills add nvidia/skills --skill doca-comch --yes。README 未规定其他特定安装目录;CLI 会提示安装目标。
如何使用这个 Skill?
先确保 Linux 主机与 BlueField pair 已安装 DOCA SDK。然后向代理提出具体任务,例如:在主机和 BlueField DPU 之间配置 DOCA Comch 通道,DPU 作为 server、主机作为 client,并交换一条控制消息。 对配置、构建、修改、运行、测试或调试任务,技能会进一步使用 TASKS.md;询问能力矩阵时使用 CAPABILITIES.md。