开发与工程 ✓ NVIDIA · 官方 doca-gpunetiocudagpudirect-rdmabluefieldconnectxpersistent-kernelnetwork-programming

DOCA GPUNetIO 开发技能

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

FollowSkills 评估 · FSRS-2.0
不推荐
55/ 100 五分制 2.8 / 5
信任安全18 / 25 · 3.6/5

文档明确说明权限、CUDA/DOCA版本、nvidia_peermem、缓冲区注册、生命周期和回滚风险,也避免凭证处理;但建议使用 sudo modprobe、访问硬件和驱动状态,未始终要求用户确认,且数据流、最小权限和恢复验证仍不完整,因此扣7分。

可靠稳定8 / 20 · 2.0/5

SKILL.md、CAPABILITIES.md和TASKS.md提供了较一致的配置、构建、运行、测试、调试和失败分类流程;但依赖本地DOCA安装、硬件和多个未随技能提供的相邻技能,未有静态可验证的关键路径测试,异常处理仍含较多未证实断言,因此按静态上限扣分。

适用触发10 / 15 · 3.3/5

受众、触发短语、输入前提、排除范围和路由规则较清楚,且支持C/CUDA及部分主机侧非C语言;但仅适用于特定Linux、NVIDIA GPU、DOCA、NIC/DPU环境,中文支持未说明,部分核心参考资料依赖海外文档,故扣5分。

规范维护9 / 15 · 3.0/5

信息架构、渐进加载、相关技能、依赖说明、任务动词和限制披露较完整;但作者、正式版本、变更历史和维护责任不完整,SKILL.md声明Apache-2.0而SKILLCARD声明Apache-2.0 AND CC-BY-4.0,且签名字段仍为TBD,故扣6分。

有效结果6 / 15 · 2.0/5

文档覆盖配置、构建、修改、运行、测试和调试,并提供具体命令、API符号和退出/回滚思路,核心任务理论上可完成;但技能不含可直接构建的示例或测试程序,且静态审查无法验证结果正确性,因此不得超过7分并再扣1分。

证据核验4 / 10 · 2.0/5

存在提交的评估报告、评测配置、CI回归契约和引用的本地/上游材料,但评测数据集不可用,报告主要是自述结果,且未提供覆盖关键路径的可复现实验细节;静态证据有限,因此扣1分并受5分上限约束。

证据充分度: 评估于 2026年7月20日 审查版本 55f18499943e
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 不要将BENCHMARK.md中的PASS或SKILLCARD中的质量字段视为独立验证;评测数据集未提供,签名和版本字段仍为TBD。
  • 执行sudo modprobe、驱动检查、持久化内核和网络队列操作前,应明确用户确认、目标设备、停止信号和可恢复的回滚路径。
  • 许可证元数据存在Apache-2.0与Apache-2.0 AND CC-BY-4.0不一致,应在发布前统一。
  • GPUNetIO依赖特定硬件、匹配的CUDA/DOCA版本和本地安装;中国网络环境下访问海外DOCA文档可能受限。
查看完整评分方法 →

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

这是一个面向外部开发者的 DOCA GPUNetIO 编程指导技能,适用于用主机端 C/C++ 和设备端 CUDA C++ 构建 GPU 发起的网络应用。它覆盖 doca_gpu 上下文、GPU 可见 RX/TX 队列、持久化 CUDA 内核、能力检查、CUDA 缓冲区注册以及错误诊断。技能假设 DOCA、匹配版本的 CUDA、底层 DOCA Ethernet 队列和必要的硬件环境已经准备好。它提供路由和工作流指导,不提供可直接编译的应用源码、CUDA 内核或独立构建文件。

读取本地 DOCA 安装信息(包括 pkg-config 的 doca-gpunetio 模块),指导用户查看 CAPABILITIES.md 和 TASKS.md;规划 configure、build、modify、run、test、debug 及 rollback 工作流;指导创建 doca_gpu 上下文和 doca_gpu_eth_rxq/doca_gpu_eth_txq 句柄;检查 DOCA 能力查询结果与 cudaGetDeviceProperties;指导使用 cudaMalloc 分配缓冲区并通过 doca_buf_arr_create_* 注册;分析 DOCA_ERROR_*、CUDA 版本偏差、nvidia_peermem 缺失和持久化内核问题,并在超出范围时路由到相关技能。

  1. 正在使用 BlueField DPU 或 ConnectX NIC 的开发者,想让 CUDA 持久化内核直接轮询 GPU 可见的 RX 队列。
  2. 拥有多张 NVIDIA GPU 的开发者,需要判断某个 CUDA 设备序号是否支持 GPU 发起网络。
  3. 已完成 DOCA Ethernet 队列配置,但 GPUNetIO 返回 DOCA_ERROR_NOT_SUPPORTED,需要排查能力、驱动或 nvidia_peermem。
  4. 希望把 cudaMalloc 缓冲区注册到 DOCA,并在启动上下文前完成 GPU 缓冲区准备的 C/CUDA 开发者。
  5. 需要确认当前 DOCA 与 CUDA 组合是否支持某项 GPUNetIO API 或持久化内核辅助功能的开发者。

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

优点
  • 覆盖从 GPU 设备能力检查到队列连接、缓冲区注册和错误分层诊断的完整指导范围。
  • 明确区分 GPUNetIO、DOCA Ethernet、DOCA 安装和通用 CUDA 问题的边界。
  • 提供 configure、build、modify、run、test、debug 和 rollback 工作流。
  • 与 NVIDIA skills 集合的签名、评估和每日同步机制配套。
局限
  • 不是示例代码或模板包,不包含可直接编译的 GPUNetIO 应用和 CUDA 内核。
  • 要求已有 DOCA 和 CUDA 环境,且 DOCA 与 CUDA 版本必须匹配。
  • 依赖 NVIDIA GPU、BlueField DPU 或 ConnectX NIC,以及 nvidia_peermem;部分样例还需要支持 InfiniBand 的 RNIC。
  • 不覆盖 DOCA 安装、底层 Ethernet 队列配置、DPA 或通用 CUDA 编程。
  • 提供的源材料没有展示具体自动化测试命令、平台测试结果或性能基准。

如何安装这个 Skill?

使用 NVIDIA/skills 集合中的 skills CLI 安装:

npx skills add nvidia/skills --skill doca-gpunetio --yes

README 未提供仅复制 skills/doca-gpunetio 文件夹的安装命令;安装后,技能会在代理加载相关任务时可用。

如何使用这个 Skill?

先确保 DOCA 已安装在 /opt/mellanox/doca,CUDA 版本与 DOCA 匹配,nvidia_peermem 已加载,且底层 DOCA Ethernet RX/TX 队列已配置。然后向代理提出具体的 GPUNetIO 编程请求,例如:“如何让 CUDA 持久化内核直接从 NIC 接收数据包?”需要执行 configure、build、modify、run、test 或 debug 时,技能会使用 TASKS.md;询问功能范围或能力矩阵时使用 CAPABILITIES.md。

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

与 doca-eth 相比,本技能处理的是在已有 DOCA Ethernet RX/TX 队列之上创建 GPU 可见队列并由 CUDA 内核使用;底层 Ethernet 队列配置应交给 doca-eth。与 doca-setup 相比,本技能不负责安装或准备 DOCA/CUDA 环境。与 doca-debug 相比,本技能专注于 GPUNetIO 特有的 CUDA、GPUDirect RDMA、版本匹配和持久化内核问题。

常见问题

这个技能是否包含可直接运行的示例程序?
不包含。它会将用户引导至已安装 DOCA 中的 /opt/mellanox/doca/samples/doca_gpunetio/ 和 GPU Packet Processing 参考应用,并指导对样例进行最小修改。
使用它是否需要额外付费?
源材料没有说明该技能或 DOCA SDK 的费用,因此无法据此判断。
为什么 DOCA Ethernet 队列正常,但 GPUNetIO 仍然失败?
可能是 DOCA 能力查询或 CUDA 设备能力不满足、nvidia_peermem 未加载、CUDA 与 DOCA 版本不匹配,或 GPU 缓冲区未按要求注册。
它适合只做通用 CUDA 编程的用户吗?
不适合。该技能明确面向把 DOCA 网络队列接入 CUDA 内核的 GPUNetIO 工作;通用 CUDA 问题应路由到其他技能。

同仓库的其他 Skills

均来自 NVIDIA/skills

开发与工程 ✓ NVIDIA · 官方

DOCA GPI GPU 直驱 RDMA 技能

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

开发与工程 ✓ NVIDIA · 官方

DOCA Verbs 原始 RDMA 控制技能

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

自动化与运维 ✓ NVIDIA · 官方

DOCA Bench 性能基准技能

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

开发与工程 ✓ NVIDIA · 官方

DOCA Flow DPA Provider 技能

帮助开发者将 DOCA Flow 管道和资源导出到 BlueField DPA,供 DPA 内核直接读取或修改。

开发与工程 ✓ NVIDIA · 官方

DOCA Flow gRPC 远程控制技能

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

开发与工程 ✓ 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 Telemetry Exporter 开发技能

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

开发与工程 ✓ NVIDIA · 官方

DOCA Flow 性能测量技能

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

开发与工程 ✓ NVIDIA · 官方

DOCA 设备管理开发技能

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

开发与工程 ✓ NVIDIA · 官方

DOCA SHA OpenSSL 卸载引擎

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

开发与工程 ✓ NVIDIA · 官方

DOCA Ethernet 队列开发技能

为 BlueField 与 ConnectX 开发和调试 DOCA Ethernet 收发队列。

开发与工程 ✓ NVIDIA · 官方

DOCA GPUNetIO WRITE 带宽基准技能

帮助开发者构建、运行并解读由 CUDA 内核发起的 GPUNetIO RDMA WRITE 持续带宽基准。

开发与工程 ✓ 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 应用构建和调试标准命令行界面。

相关 Skills