DOCA RDMA Initiator
指导在DPA上开发由加速器发起的单边RDMA应用。
文档明确限定本地DOCA安装、DPA句柄生命周期、远端内存操作风险、实验性API、硬件变更安全边界,并要求在安装版本上核验;未见恶意、凭据窃取或隐蔽外传。扣分因为用户确认、敏感数据处理、最小权限和可执行回滚要求仍不完整,且SKILL.md的Apache-2.0与SKILLCARD的Apache-2.0 AND CC-BY-4.0存在许可元数据不一致。
SKILL.md、CAPABILITIES.md和TASKS.md形成较完整的安装、配置、构建、运行、测试和调试路径,并定义了多类失败反馈。静态评估按上限限制为不超过10;扣分因为未执行复现,依赖BlueField/DPA、DOCA版本和远端响应端,且部分命令与符号正确性无法仅凭文件确认。
受众、触发短语、适用的DPA单向RDMA场景以及转交doca-rdma、doca-dpa和其他技能的边界都很清楚;还声明了C、FFI和DPA工具链范围。扣分因为没有实际中文交互示例或大陆网络可达性证据,且核心能力依赖本地DOCA硬件与安装环境。
文档采用薄加载器加CAPABILITIES.md、TASKS.md的渐进式结构,包含示例问题、依赖、限制、版本策略、安全策略和相关技能。扣分因为BENCHMARK报告指出缺少推荐的Instructions/Examples章节和作者字段,版本、签名、来源仓库及许可证信息在SKILL.md、SKILLCARD和skill-card.md之间不一致,维护更新路径也未完全明确。
对于已安装DOCA且具备合适硬件的用户,技能提供可直接遵循的pkg-config、能力检查、样例发现、生命周期、完成事件和调试流程,能覆盖核心RDMI任务。静态评估按上限限制为不超过7;扣分因为没有可执行样例或已验证输出,DPA侧实现被外置,端到端结果仍需用户硬件、网络和响应端验证。
文件包含具体API、命令、生命周期条件、错误分类和版本核验规则,并引用已安装头文件和公共文档作为权威来源。静态评估按上限限制为不超过5;扣分因为评估报告称测试通过但未提供原始数据集、提交的覆盖性测试或可独立复现的第三方执行证据。
- 这是低置信度静态审查,未执行任何命令、构建或硬件测试;不要把BENCHMARK.md中的PASS视为独立复现证据。
- 使用前应在目标DOCA版本的已安装头文件、库和pkg-config元数据上重新核验每个实验性符号及生命周期。
- 涉及远端内存写入、DPA句柄和硬件状态时,应先确认目标、权限、响应端和恢复方案;当前技能没有把用户确认步骤写成完整强制门槛。
- 应统一SKILL.md、SKILLCARD.yaml和skill-card.md中的许可证、来源、版本和维护信息。
这个 Skill 能做什么,适合哪些场景?
这是一个面向 NVIDIA DOCA RDMI 的开发指导技能,服务于由 BlueField DPA 发起、面向远程响应端的单边 RDMA 操作。它帮助用户选择 doca-rdmi 或 doca-rdma,配置连接和 poster,绑定完成上下文,并把 DPA 句柄交给 DPA 内核。它还覆盖版本中的 EXPERIMENTAL 符号检查、DOCA_ERROR_* 故障排查及安全边界。该技能假定 DOCA 已安装,不负责安装 DOCA 本身。
读取本机通过 pkg-config doca-rdmi、doca-common、doca-verbs 和 doca-dpa 暴露的安装信息,并检查 /opt/mellanox/doca/{lib,include,samples}。它指导创建 doca_rdmi_connection 或 doca_rdmi_poster,附加 doca_dpa_completion 或 doca_verbs_cq,在 doca_ctx_start() 前完成配置,获取 DPA 侧句柄,并处理接收完成确认。它还根据已安装版本识别 EXPERIMENTAL 符号,按配置、生命周期、设备能力和底层软件层次分析 DOCA_ERROR_*。它提供 install、configure、build、modify、run、test、debug、use 和 rollback 工作流,但不提供可直接编译的 RDMI 源码、DPA 内核模板或独立构建清单。
- 正在开发 BlueField DPA 内核、需要向远程响应端发起 RDMA 写入或读取的开发者。
- 需要判断新的一侧 RDMA 工作负载应使用 doca-rdmi 还是 doca-rdma 的 DOCA 用户。
- 需要创建 RDMI connection、绑定 DPA 完成上下文并把句柄交给内核的开发者。
- 应用既接收工作请求又发布 RDMA 写入,需要理解 connection 与 poster 两对象关系的开发者。
- 需要确认已安装 DOCA 版本中的 RDMI 符号是否仍为 EXPERIMENTAL,或排查 DOCA_ERROR_* 返回值的开发者。
这个 Skill 有哪些优点和局限?
- 聚焦 DPA 发起的单边 RDMA,边界和转交条件明确。
- 覆盖 connection、poster、DPA 句柄、完成处理、版本检查和错误诊断的完整开发路径。
- 要求以用户本机 DOCA 安装和 `pkg-config --modversion doca-rdmi` 为版本依据。
- 明确禁止凭文档臆写可能变化的 EXPERIMENTAL RDMI 源码。
- 要求用户已经安装 DOCA,并具备合适的 Linux、BlueField 或 ConnectX 硬件环境。
- 技能本身不提供可编译的应用源码、DPA 内核模板、samples、bindings 或独立构建文件。
- 源材料未提供具体测试覆盖、支持版本清单或性能数据。
- DPA 工具链、内核构建和执行模型主要转交给 doca-dpa。
如何安装这个 Skill?
使用 NVIDIA skills CLI 安装指定技能:npx skills add nvidia/skills --skill doca-rdmi --yes
CLI 会提示安装目标;安装后,代理在遇到相关任务时加载该技能。源材料没有说明单独复制 skills/doca-rdmi 文件夹的必要性。
如何使用这个 Skill?
在已安装 DOCA 的 Linux 主机或 BlueField 上,用具体任务触发技能,例如:我的 DPA kernel 需要向远程 responder 发布 RDMA writes,应该用 doca-rdmi 还是 doca-rdma?。也可以询问如何配置 doca_rdmi_connection、绑定 doca_dpa_completion、检查 doca_rdmi_poster_post 的稳定性,或诊断 DOCA_ERROR_BAD_STATE。对于缺少或版本不匹配的 DOCA 前置条件、DOCA 安装、主机 CPU 双向 RDMA、GPU 发起 RDMA 或一般 RDMA 概念,应转交相关技能。
这个 Skill 与同类方案有什么区别?
与 doca-rdma 相比,doca-rdmi 是面向 DPA 加速器发起单边 RDMA 的专用表面;两侧 RDMA 或主机 CPU 发起的场景应使用 doca-rdma。与 doca-gpi 相比,doca-rdmi 面向 DPA,doca-gpi 面向 GPU 内核发起 RDMA。DPA 编程模型本身属于 doca-dpa。