DOCA RDMA 编程助手
帮助开发者在 BlueField、ConnectX 或 DOCA 主机上构建、配置和调试基于 DOCA RDMA 的应用。
文档明确要求使用最小权限、匹配 mmap/RDMA 权限、谨慎导出内存、保持 mmap 生命周期,并要求生产环境使用安全信道;未发现恶意、凭据窃取或隐蔽外传行为。扣分原因是缺少可执行的用户确认、权限隔离、恢复/回滚细则,且若错误配置导出权限可能扩大远端内存访问范围。
工作流覆盖 configure、build、modify、run、test、debug,并提供多层错误分类、失败反馈和异常路径。静态材料未能证明关键路径实际复现,且部分命令、设备能力和单机回环行为依赖未提供的安装环境;依据静态校准不超过10,故扣分。
触发条件、目标用户、支持的 DOCA RDMA 任务类型和明确排除的通用 RDMA/安装场景描述较清楚,也覆盖 C/C++ 与 FFI。扣分原因是强依赖 Linux、特定 DOCA 安装路径、BlueField/ConnectX 硬件和本地英文工具链;未提供中文交互支持或中国大陆网络可达性的证据。
SKILL.md 作为加载器并将能力、任务和相关技能分层,包含版本发现、限制、维护入口和相关路径。扣分原因是 benchmark 记录了缺少 Instructions/Examples、作者元数据和非预期根目录文件;SKILLCARD 的许可证、源仓库路径和 SKILL.md 元数据存在不一致,版本字段仍为 TBD。
内容针对 DOCA RDMA 编程提供了连接方法、任务分类、权限矩阵、构建约束和调试流程,理论上可直接指导核心任务。扣分原因是该技能不附带可运行代码,修改流程依赖目标机样例,并明确实际 diff renderer 尚未提供;benchmark 有较好静态/记录结果,但缺少原始数据和独立复现证据。
存在提交的 benchmark、evals、skill card、错误/能力矩阵和可审计命令,提供了一定追踪线索。扣分原因是评测数据集不可用、没有本次静态审查之外的独立复现,部分外部文档主张在输入中无法核验;静态校准最高为5。
- 部署前应核对 SKILL.md、SKILLCARD.yaml 和仓库元数据中的许可证、源路径及版本信息,解决 Apache-2.0 与 Apache-2.0 AND CC-BY-4.0 以及 TBD 版本字段的不一致。
- 不要把文档中的命令、能力支持或单机回环行为视为已验证事实;必须在目标 DOCA 安装和实际设备上检查版本、能力、权限、链接库及完成事件。
- 生产环境远端内存导出应经过明确的用户确认、严格权限审查和安全信道保护;该技能未提供完整的回滚和隔离方案。
- benchmark 的原始 8 个任务数据未随材料提供,因此不能将其结果视为独立可复现证据。
这个 Skill 能做什么,适合哪些场景?
该技能面向使用 NVIDIA DOCA RDMA C API 的外部开发者,覆盖 BlueField DPU、ConnectX NIC 和 DOCA 主机上的 RDMA 数据移动。它指导用户初始化 RDMA 上下文、选择连接方式、配置任务与内存权限,并查询设备能力。内容还涵盖队列与连接 sizing、连接状态回调以及 DOCA 错误排查。技能要求 DOCA 已安装,不负责安装 DOCA 本身。
读取目标机上的 DOCA pkg-config 模块与安装前缀,指导用户从已安装 DOCA 的 RDMA 示例开始构建或修改程序;使用 doca_rdma_* API 配置上下文、连接方式、任务类型、队列和 mmap 权限;通过 doca_rdma_cap_* 查询能力,并按生命周期、权限、能力和驱动层分析 DOCA_ERROR_*。它还指导非 C 语言通过轻量 FFI 或 cgo shim 调用 libdoca_rdma,而不是改用原始 verbs。
- 使用 C/C++ 在 BlueField 或 ConnectX 上初始化 RDMA 上下文并连接通信双方的开发者。
- 需要在 RDMA CM、bridge/OOB 或 gRPC 导出交换之间选择连接方案的工程师。
- 遇到 Read、Write、Atomic 或 Send 任务权限错误,需要匹配 doca_mmap 权限的开发者。
- 需要确认设备或 RoCE 传输是否支持特定 RDMA 任务类型的开发者。
- 调试连接回调不触发、提交后没有 completion 或 DOCA_ERROR_* 的应用开发者。
这个 Skill 有哪些优点和局限?
- 明确要求链接 libdoca_rdma 并调用 doca_rdma_*,避免误用 raw verbs。
- 覆盖十一类 RDMA 任务、三种连接方法、权限矩阵、能力查询和错误分类。
- 支持 C/C++ 以及通过轻量 FFI/cgo shim 使用 C ABI 的其他语言。
- 提供从配置、构建到测试和调试的分层工作流。
- 要求 DOCA SDK、Linux 以及 BlueField DPU 或 ConnectX NIC,不能脱离相应硬件和安装环境使用。
- 不包含预写应用代码、独立构建清单、samples、bindings 或 reference 子树。
- 不负责安装 DOCA;未安装时必须转到 doca-setup。
- 正文依赖未提供的 TASKS.md 和 CAPABILITIES.md companion 文件,当前材料无法验证其中更详细的步骤。
如何安装这个 Skill?
使用 NVIDIA skills CLI 安装指定技能:
npx skills add nvidia/skills --skill doca-rdma --yes
CLI 会提示选择安装目标;不需要克隆仓库或手动复制目录。源材料没有说明其他安装方式。
如何使用这个 Skill?
确保目标 Linux 主机已安装 DOCA SDK,并具备 BlueField DPU 或 ConnectX NIC。然后向 agent 提出具体的 DOCA RDMA 任务,例如:“在 BlueField 上用 RDMA CM 配置发送端和接收端”,或“我的 DOCA RDMA Read 因权限不足失败,如何检查 mmap 权限?”。涉及能力与安全策略时读取 CAPABILITIES.md;涉及 configure、build、modify、run、test 或 debug 时读取 TASKS.md 的对应部分。
这个 Skill 与同类方案有什么区别?
该技能明确将 DOCA RDMA 与 raw libibverbs、librdmacm 实现区分开来;如果任务要求 DOCA RDMA,它不接受仅使用原始 verbs 的实现。