开发与工程 ✓ NVIDIA · 官方 doca-verbsrdmalibibverbsqp-managementcompletion-queuesbluefieldconnectx

DOCA Verbs 原始 RDMA 控制技能

为确需底层 verbs 控制的 DOCA 开发者提供路由、移植与调试指导。

FollowSkills 评估 · FSRS-2.0
不推荐
56/ 100 五分制 2.8 / 5
信任安全17 / 25 · 3.4/5

文档明确要求先确认高层库是否足够、禁止混用 ibv_* 句柄、进行能力查询并披露实验 ABI,且没有凭据收集或隐蔽外传指示;但涉及设备、RDMA 栈和 sudo 检查,缺少明确的用户确认、回滚方案、权限最小化和数据流边界,因此扣分。

可靠稳定8 / 20 · 2.0/5

流程、前置条件、错误分类、完成队列检查和失败升级路径较完整;但本次仅静态阅读,没有可执行测试套件,且部分符号被要求从本机头文件确认,无法证明关键路径可复现,因此按静态上限保守扣分。

适用触发11 / 15 · 3.7/5

触发条件、非适用范围、路由到高层库的边界以及 C/C++ 和 FFI 场景描述清晰;但强依赖 Linux、已安装 DOCA、BlueField 或 ConnectX 硬件,未提供中文交互或中国大陆网络可达性说明,环境适配证据有限。

规范维护10 / 15 · 3.3/5

采用 SKILL.md、CAPABILITIES.md、TASKS.md 分层,包含安装、版本、限制、错误处理、维护入口和评测资料;但 frontmatter 缺少作者,SKILLCARD 中版本和签名仍为 TBD,许可证与题目元数据存在不一致,且静态检查报告指出缺少推荐的 Instructions/Examples 章节,因此未给满分。

有效结果6 / 15 · 2.0/5

能够把用户从不必要的 raw verbs 使用引导回高层库,并提供配置、构建、修改、运行、测试和调试工作流;但不提供可直接构建的代码或样例,实际差异渲染被延期,且本次没有验证代表性输出,因此只能接近静态评估上限。

证据核验4 / 10 · 2.0/5

文档要求以安装头文件和运行时能力查询为权威,并附有评测报告和评测断言;但评测数据集不可用、没有独立复现结果或覆盖关键路径的提交测试套件,主要仍是作者维护的说明,故证据有限。

证据充分度: 评估于 2026年7月20日 审查版本 55f18499943e
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 不要把本技能的工作流视为已验证的可运行实现;必须在目标机的 DOCA 头文件、pkg-config、设备能力和样例上逐项确认。
  • 执行设备检查、sudo 命令或修改硬件相关配置前,应取得用户明确授权并准备可恢复方案。
  • SKILL.md、SKILLCARD.yaml 和题目提供的许可证/来源信息存在不一致,应在发布前统一。
  • 评测报告缺少原始数据集,不能把 PASS 或高百分比结果当作独立复现证据。
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

该技能面向在 DOCA Core 中使用 DOCA Verbs 的外部开发者,处理 QP、CQ、PD、MR、SRQ、地址句柄及相关以太网队列原语。它首先判断高层 DOCA RDMA、Eth 或 Rivermax API 是否已经满足需求,避免不必要地降级到原始 verbs。对于确需底层属性、能力查询、libibverbs 移植或错误诊断的任务,它指向能力说明和配置、构建、修改、运行、测试、调试工作流。技能本身是指导性加载器,不提供应用源码、构建文件、绑定或迁移脚本。

读取用户安装的 DOCA 头文件、库、示例和应用目录,并通过 pkg-config doca-verbs 检查已安装模块。根据具体需求在高层 DOCA 库与 doca_verbs_* 之间进行路径选择,指导使用 doca_verbs_query_device 和 doca_verbs_device_attr_get_* 查询设备能力。它说明如何在 DOCA Core 生命周期和进度引擎中移植 libibverbs 代码,并强调不得混用两套句柄。对于 DOCA_ERROR_*,尤其是 DOCA_ERROR_IO_FAILED,它引导用户检查完成队列条目,并提供 configure、build、modify、run、test、debug 流程的入口。

  1. 需要设置高层 doca_rdma_task_* 未暴露的特定工作请求标志或 QP 属性的 RDMA 开发者。
  2. 需要显式控制 SRQ、完成队列或地址句柄属性的 DOCA Core 应用开发者。
  3. 想把现有 libibverbs 发送或接收程序迁移到 DOCA Core 生命周期和进度引擎中的 C/C++ 开发者。
  4. 需要确认某个设备和 DOCA 版本是否支持特定 verb、opcode、WR 标志或 QP 特性的开发者。
  5. 从 doca_verbs_* 调用获得 DOCA_ERROR_*,尤其是工作请求提交出现 IO_FAILED 的开发者。
  6. 为 Rust、Go 或 Python 等语言设计 DOCA Verbs C ABI 封装的开发者。

这个 Skill 有哪些优点和局限?

优点
  • 明确限制原始 verbs 的适用范围,优先引导用户使用高层 DOCA 库。
  • 覆盖 QP、CQ、PD、MR、SRQ、地址句柄、以太网 SQ/RQ 和拥塞控制组等底层对象。
  • 提供能力查询、libibverbs 边界、DOCA Core 生命周期和错误诊断方面的专门路由。
  • 支持 C/C++ 以及通过 FFI 使用同一 C ABI 的其他语言场景。
局限
  • 要求用户已经安装 DOCA SDK、配置 Linux RDMA 环境,并拥有 BlueField DPU 或 ConnectX NIC。
  • 依赖实验性 ABI,符号可能随 DOCA 版本变化,必须以本机头文件为准。
  • 技能不包含可编译源码、构建清单、samples、bindings、reference 子树或迁移脚本。
  • 来源没有提供该单项技能的独立测试结果或平台覆盖证据。

如何安装这个 Skill?

使用仓库 README 支持的 Skills CLI 安装指定技能:npx skills add nvidia/skills --skill doca-verbs --yes。也可以先运行 npx skills add nvidia/skills --list 查看目录。安装后需要在目标 Linux 主机或 BlueField 环境中另外准备已安装于 /opt/mellanox/doca 的 DOCA SDK;来源未提供 DOCA SDK 的安装步骤。

如何使用这个 Skill?

在已安装 DOCA 的环境中,让代理处理明确的原始 verbs 需求,例如:“我的 doca_rdma_task_* 不暴露所需的原始 WR 标志,是否需要使用 doca-verbs?”或“如何把 libibverbs 代码迁移到 DOCA Core?”先确认高层库无法表达该语义,再依据技能中的 CAPABILITIES.md 和 TASKS.md 继续。对于一般 RDMA 数据传输、DOCA 安装或通用 libibverbs 理论,应使用其他对应技能;来源未提供可直接运行的 doca-verbs 应用命令或代码样例。

这个 Skill 与同类方案有什么区别?

与 doca-rdma、doca-eth 和 doca-rmax 等高层 DOCA 库相比,doca-verbs 是针对高层 API 未暴露的特定底层 verb、opcode、工作请求标志、队列属性或能力查询的逃生通道,不是常规数据移动接口。与 libibverbs 相比,它要求将 verbs 对象和生命周期纳入 DOCA Core,并通过 DOCA 进度引擎处理完成事件;来源明确反对机械地并排混用两套句柄。

常见问题

我应该默认采用这个技能吗?
不应该。只有在匹配的高层 DOCA 库确实无法表达所需语义,或需要移植 libibverbs、诊断 doca_verbs_* 错误时,才适合采用。
它是否包含 DOCA Verbs 的示例程序?
不包含。它要求开发者使用本机 DOCA 安装中的 C 示例,并在自己的项目目录中构建修改。
可以继续在同一个 QP 上混用 ibv_* 和 doca_* 吗?
来源规定移植时应替换为 doca_verbs_* 句柄并接入 DOCA Core 生命周期,不应混用 libibverbs 与 DOCA Verbs 的对象。
需要什么硬件和软件?
需要 Linux、位于 /opt/mellanox/doca 的 DOCA SDK、pkg-config,以及连接的 BlueField DPU 或 ConnectX NIC。

同仓库的其他 Skills

均来自 NVIDIA/skills

自动化与运维 ✓ NVIDIA · 官方

DOCA Bench 性能基准技能

在真实 NVIDIA 网络设备上,以可复现方式测量 DOCA 库的吞吐、延迟和带宽。

开发与工程 ✓ NVIDIA · 官方

DOCA GPUNetIO 开发技能

指导开发者将 NVIDIA GPU 上的 CUDA 内核连接到 DOCA 网络队列,实现 GPU 侧收发包与调试。

开发与工程 ✓ NVIDIA · 官方

DOCA 设备管理开发技能

用 C API 编程管理 BlueField 与 ConnectX 设备状态。

开发与工程 ✓ NVIDIA · 官方

DOCA GPI GPU 直驱 RDMA 技能

指导 CUDA 内核绕过主机 CPU,直接从 GPU 内存驱动 RDMA 队列。

开发与工程 ✓ NVIDIA · 官方

DOCA 硬件遥测计数器读取技能

帮助开发者从 BlueField 或 ConnectX 设备读取分域硬件计数器。

开发与工程 ✓ NVIDIA · 官方

DOCA Flow DPA 性能测量

帮助工程师在支持 DPA 的 NVIDIA 硬件上可靠测量 Flow 规则更新与禁用速率。

自动化与运维 ✓ NVIDIA · 官方

DOCA 能力探测器

以只读方式检查 DOCA 在当前主机上发现的设备、库和硬件能力。

自动化与运维 ✓ NVIDIA · 官方

DOCA PCC 诊断计数器

在 ConnectX 或 BlueField 设备上读取固件级 PCC 拥塞诊断计数器。

自动化与运维 ✓ NVIDIA · 官方

DOCA 管理服务运维技能

帮助运维团队部署、配置并排查 NVIDIA DMS 管理服务。

开发与工程 ✓ NVIDIA · 官方

DOCA STA 存储目标加速

帮助开发者在 BlueField 上构建并调试 RDMA NVMe-oF 存储目标。

开发与工程 ✓ NVIDIA · 官方

DOCA Telemetry Exporter 开发技能

帮助 DOCA 应用定义、发送和调试面向外部消费者的结构化遥测数据。

开发与工程 ✓ NVIDIA · 官方

DOCA Flow 性能测量技能

帮助网络工程师获得可复现、可辩护的 DOCA Flow 控制面规则速率数据。

开发与工程 ✓ NVIDIA · 官方

DOCA SHA OpenSSL 卸载引擎

让现有 OpenSSL SHA 流程在无需重写应用的情况下使用 DOCA SHA 硬件加速。

开发与工程 ✓ NVIDIA · 官方

DOCA Flow gRPC 远程控制技能

帮助非 C++ 客户端安全地部署、配置和排查 DOCA Flow 的 gRPC 远程控制面。

开发与工程 ✓ NVIDIA · 官方

DOCA RDMA Initiator

指导在DPA上开发由加速器发起的单边RDMA应用。

开发与工程 ✓ NVIDIA · 官方

DOCA Compress 硬件压缩开发技能

指导开发者在 BlueField 或 ConnectX 平台上实现并调试 DOCA 硬件压缩与解压。

开发与工程 ✓ NVIDIA · 官方

DOCA AES-GCM 加速开发技能

帮助开发者在 BlueField 或 ConnectX 上配置、验证和调试 DOCA AES-GCM 加解密。

开发与工程 ✓ NVIDIA · 官方

DOCA SHA 加速开发技能

指导在 NVIDIA 加速器上进行 SHA 哈希卸载开发。

开发与工程 ✓ NVIDIA · 官方

DOCA Arg Parser CLI 技能

帮助开发者为 DOCA 应用构建和调试标准命令行界面。

自动化与运维 ✓ NVIDIA · 官方

DOCA 升级管控技能

以确认门控安全执行 DOCA 升级与回滚。

相关 Skills