DOCA UROM 主机侧卸载开发
指导 HPC、UCX 和 MPI 应用将远程内存操作卸载到 BlueField DPU。
文档明确区分主机库与DPU服务,要求确认服务状态、设备、版本、插件和内存对象,并禁止凭记忆臆造符号;未见凭据窃取、隐蔽外传或破坏性默认行为。扣分原因是会指导用户执行硬件、网络和远端服务相关操作,缺少明确回滚、权限最小化和外部副作用控制;许可证元数据还与文件内容存在不一致。
加载顺序、前置条件、生命周期、错误分类和分层调试流程较一致,异常时通常要求调查而非盲目重试。扣分原因是静态审查未执行关键路径,缺少提交的覆盖性测试套件;部分API、插件和服务行为依赖本地安装,文档自身无法验证。
受众、主机侧范围、触发短语、非适用场景及路由边界写得较清楚,覆盖C/C++和FFI场景。扣分原因是严格依赖Linux、DOCA安装、BlueField、运行中的DPU服务和健康RDMA fabric,未提供中文交互或中国大陆网络可达性说明,且不适合无硬件环境。
采用SKILL.md、CAPABILITIES.md、TASKS.md分层,并提供工作流、示例问题、错误表和相关技能路由。扣分原因是版本、变更记录、作者和维护责任不完整;BENCHMARK报告指出缺少推荐章节且评测数据集不可用,SKILLCARD与当前路径、许可证和来源也有冲突。
文档能帮助代理判断是否应加载技能、检查UROM配对契约、发现插件、构建、运行、测试和调试主机侧流程,核心任务具有直接指导价值。扣分原因是技能明确不提供可运行代码或模板,实际结果依赖用户本地样例、头文件、DPU服务和RDMA环境;静态材料没有可独立确认的代表性输出。
提供了较多可审计的文件内交叉引用、命令名、API名、错误映射和评测摘要。扣分原因是评测源数据不可用,未提供可独立复现的测试套件或第三方执行证据,且若干关键事实仍依赖外部文档和本地DOCA安装。
- 这是静态低置信度评估;未执行任何命令、测试或UROM操作。
- 使用前应核对SKILL.md、SKILLCARD.yaml、BENCHMARK.md中的路径、许可证、来源和版本信息是否一致。
- 不要将主机侧库指导误用于DPU侧UROM Service部署,也不要在未确认服务状态、版本匹配、插件列表和RDMA健康前执行远端操作。
- 核心API和插件能力依赖本地DOCA头文件、样例及实际服务版本,文档中的概括不能替代安装环境验证。
这个 Skill 能做什么,适合哪些场景?
这是一个面向主机侧 DOCA UROM 库开发的 NVIDIA Agent Skill。它覆盖 Service 和 Worker 上下文生命周期、远程内存操作入队、插件能力发现、完成进度推进以及 DOCA_ERROR_* 故障排查。它要求主机和 BlueField 已安装兼容版本的 DOCA,且 DPU 侧 UROM Service 已运行。它不负责安装 DOCA、部署 DPU 侧服务、启动 RDMA 网络,或设计 MPI/UCX 集体通信算法。
指导代理通过 pkg-config doca-urom 检查本地库,并查看 /opt/mellanox/doca 下的库、头文件、示例和应用目录;帮助用户创建 doca_urom_service_* 和 doca_urom_worker_* 上下文,入队 puts、gets、atomics、active messages 和 collective primitives,推进完成事件,并调用 doca_urom_service_get_plugins_list 发现可用插件。它还按安装、版本、服务可达性、RDMA 传输、设备能力和程序层次分析 DOCA_ERROR_*。
- HPC 开发者希望将 MPI 或 UCX 的远程内存通信从主机 CPU 卸载到 BlueField DPU。
- 使用 doca_urom_* 的 C/C++ 应用需要建立 Service 和 Worker 上下文并验证 DPU 服务连接。
- 开发者需要确认当前设备、DOCA 安装和 DPU 服务版本支持哪些 UROM 插件、原子操作或集体操作。
- UCX 或 MPI 集成已经接入 UROM,但首次入队返回 DOCA_ERROR_NOT_PERMITTED。
- Rust、Go 或 Python 封装 UROM C ABI 时,需要遵守生命周期、能力发现和错误分类规则。
这个 Skill 有哪些优点和局限?
- 明确区分主机侧 UROM 库与 DPU 侧 UROM Service,适合排查常见的配对和版本问题。
- 覆盖从配置、构建到运行、测试和调试的完整主机侧工作流。
- 将插件发现作为当前设备、安装和服务版本能力的依据,而不是臆测固定 API。
- 支持 C/C++、UCX/MPI 集成以及通过 FFI 使用 C ABI 的其他语言。
- 不提供可直接编译的源代码、绑定、构建清单或 samples 子树。
- 依赖已安装并匹配的 DOCA SDK、BlueField DPU、DPU 服务和健康的 RDMA 传输。
- 不覆盖 DPU 侧 UROM Service 运维、DOCA 安装、RDMA bring-up 或 MPI/UCX 集体算法设计。
- 源材料未提供该技能的独立测试结果或平台覆盖数据。
如何安装这个 Skill?
使用 NVIDIA/skills 仓库的 skills CLI 安装指定技能:npx skills add nvidia/skills --skill doca-urom --yes。源材料未说明其他安装方式的具体步骤;安装前仍需单独准备 DOCA、BlueField、DPU 侧 UROM Service 和 RDMA 环境。
如何使用这个 Skill?
在已满足环境前提时,向代理提出主机侧 UROM 任务,例如:“帮助我把 MPI 远程内存操作卸载到 BlueField,并排查首次 doca_urom_* 调用返回 DOCA_ERROR_NOT_PERMITTED。”先读取 SKILL.md;需要能力矩阵时读取 CAPABILITIES.md,需要 configure、build、modify、run、test 或 debug 流程时读取 TASKS.md。不要用它处理 DPU 侧 UROM Service 部署或 MPI/UCX 算法设计。
这个 Skill 与同类方案有什么区别?
对于简单的点对点 RDMA 且主机 CPU 不是瓶颈的场景,源材料建议直接使用 doca-rdma;UROM 在 RDMA 传输之上增加 DPU 卸载和服务配对契约。