开发与工程 ✓ NVIDIA · 官方 docabluefield-dpudevice-emulationpcievirtiodmapci-generic

DOCA 设备仿真开发

指导开发者在 BlueField DPU 上构建由 DPU 后端驱动、主机可识别的自定义 PCIe 仿真设备。

FollowSkills 评估 · FSRS-2.0
不推荐
48/ 100 五分制 2.4 / 5
信任安全16 / 25 · 3.2/5

文档明确区分主机与DPU数据流、要求检查固件启用和DPU特权,并给出主机驱动解绑、上下文停止和销毁的逆序回收路径;但通常要求sudo,缺少明确的逐步用户确认、权限最小化方案、变更前后回滚程序和敏感数据处理细则,因此扣分。

可靠稳定6 / 20 · 1.5/5

分层加载、能力查询、错误分类和双侧观测说明较完整;但SKILL.md称覆盖PCI Generic、virtio-net、virtio-fs,而CAPABILITIES.md又引入virtio-blk和NVMe,且样例覆盖、pkg-config模块和API细节存在不一致或被外部文档占位,未提供可在本文件集合中复现的测试,因此保持静态上限内并扣分。

适用触发10 / 15 · 3.3/5

受众、触发短语、非适用范围及库与打包服务的路由都较清楚;但没有中文使用支持或中国大陆网络可达性说明,且核心资料依赖本地DOCA安装、硬件固件和其他未提供技能,环境边界证据不足,因此扣分。

规范维护8 / 15 · 2.7/5

采用loader、能力说明、任务流程和参考详情的渐进式结构,包含依赖位置、错误处理、维护入口和相关技能;但版本字段为TBD,SKILLCARD中的仓库路径、许可证和签名状态与源文件不完全一致,缺少明确变更日志和稳定版本策略,因此扣分。

有效结果5 / 15 · 1.7/5

对配置、构建、运行、测试和调试给出了较细的流程与边界,具备直接指导价值;但它明确不提供可运行代码或独立构建清单,精确模块名和若干关键API需另查,且没有可验证的代表性产出,用户仍需较多补全,因此仅给有限分数。

证据核验3 / 10 · 1.5/5

文件内有任务清单、评估摘要和若干声明,但评估数据集不可用,BENCHMARK中的结果不能独立复现,SKILLCARD的签名和扫描字段仍为TBD,也没有随目标技能提供覆盖关键路径的CI与测试套件,因此证据仅属有限可审计材料。

证据充分度: 评估于 2026年7月20日 审查版本 55f18499943e
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 文档对支持的子库范围存在内部矛盾:SKILL.md主要声明三类,而CAPABILITIES.md提及五类;使用前应以实际安装的头文件、pkg-config和能力查询为准。
  • 不要把BENCHMARK中的PASS或SKILLCARD中的签名字段当作已独立验证的测试证据;源文件显示评估数据集、签名和扫描信息并不完整。
  • 执行涉及PCIe级模拟、sudo和固件配置;应先获得用户确认,验证具体BlueField、固件状态和主机驱动,并准备可逆的解绑、停止和销毁流程。
  • 未提供中文资料或大陆网络可达性保证,且关键内容依赖本地DOCA安装和其他技能路由。
查看完整评分方法 →

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

该技能面向使用 DOCA Device Emulation 库的外部开发者,帮助其从 DPU 侧构建自定义仿真 PCIe 设备。它覆盖 PCI Generic、virtio-net 和 virtio-fs 三个子库,并强调先选择正确的子库。技能可指导配置、构建、修改、运行、测试和调试工作,包括 Core 上下文、门铃、DMA、能力查询及 DOCA_ERROR_* 排查。它不覆盖 DOCA 安装、主机内核驱动、标准 BlueField 网卡行为或已打包的 SNAP/Virtio-net 服务。

指导代理根据目标设备选择 PCI Generic、virtio-net 或 virtio-fs 子库;检查两端 /opt/mellanox/doca 下的库、头文件、样例和 pkg-config 模块;指导初始化对应的 DOCA Core 上下文,配置门铃和 DMA 原语,查询 doca_devemu_*_cap_* 能力,并按 configure、build、modify、run、test、debug 流程处理任务。它还将不匹配的问题路由到 doca-setup、doca-flow、doca-eth 或打包服务相关技能。

  1. 需要让主机把 BlueField DPU 后端实现的自定义 PCIe 外设识别为真实设备的开发者。
  2. 希望在 DPU 侧实现由主机 virtio 驱动使用的仿真网络设备或文件系统设备的开发者。
  3. 正在判断 PCI Generic、virtio-net 和 virtio-fs 哪个 DOCA 子库适合当前设备目标的开发者。
  4. 遇到仿真设备未出现在 lspci、驱动未绑定、主机队列触发后 DPU 无响应或特性协商失败的开发者。
  5. 需要为 Rust、Go 或 Python 封装 DOCA Device Emulation C ABI 的开发者。

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

优点
  • 覆盖 PCI Generic、virtio-net 和 virtio-fs 三个 Device Emulation 子库。
  • 包含能力发现、门铃/DMA、权限和 DOCA_ERROR_* 错误分类等关键边界。
  • 明确区分库级开发与 DOCA SNAP/Virtio-net Service 等打包方案。
  • 支持 C/C++,并为其他语言通过 FFI 或绑定调用公共 C ABI 提供语言无关指导。
局限
  • 要求主机和 DPU 均已安装 DOCA SDK,且安装位置为 /opt/mellanox/doca。
  • 依赖 BlueField 固件启用对应仿真类型、匹配的主机内核驱动及 DPU 侧权限。
  • SKILL.md 本身是薄加载器,具体能力和工作流依赖 companion 文件;提供的材料未展示这些文件的完整内容。
  • 不负责安装 DOCA、配置固件、安装主机驱动、设计后端主体或实现标准网卡行为。

如何安装这个 Skill?

使用仓库 README 中的 skills CLI 安装指定技能:npx skills add nvidia/skills --skill doca-devemu --yes。也可以追加 --agent codex 安装到 Codex。源材料没有规定手工复制后的具体目录。安装前还必须在主机和 BlueField DPU 的 /opt/mellanox/doca 安装 DOCA SDK。

如何使用这个 Skill?

让代理处理具体的 DPU 侧设备仿真任务,例如:“在 BlueField DPU 上构建一个由 DPU 后端驱动、主机可见的 virtio-net 仿真设备,并先判断应使用哪个 DOCA Device Emulation 子库。”进行配置、构建、修改、运行、测试或调试时,技能会进一步使用 TASKS.md;询问能力范围时会使用 CAPABILITIES.md。

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

它明确将自行使用 doca-devemu 库与采用 DOCA SNAP Service 或 DOCA Virtio-net Service 区分开来;后两者是建立在该库之上的打包服务。

常见问题

这个技能是否适合只想直接运行现成仿真服务的用户?
不适合。它面向编写 DPU 侧后端的库使用者;只想使用托管方案的用户应转向 DOCA SNAP Service 或 DOCA Virtio-net Service 指南。
使用它需要哪些运行条件?
主机和 BlueField DPU 都需要在 /opt/mellanox/doca 安装 DOCA SDK;固件需启用目标仿真类型,主机需有匹配驱动,DPU 进程还需具备所需权限。
它能否解决主机 virtio 内核驱动本身的问题?
不能。主机侧 virtio-net、virtio-fs 等驱动不属于该技能范围;该技能关注 DPU 侧 Device Emulation 库和主机与 DPU 之间的仿真设备交互。
仓库和技能使用什么许可证?
SKILL.md 标注 Apache-2.0;仓库 README 声明项目采用 Apache License 2.0 与 CC BY 4.0 双许可证,而源仓库元数据列为 NOASSERTION。

同仓库的其他 Skills

均来自 NVIDIA/skills

开发与工程 ✓ NVIDIA · 官方

DOCA AES-GCM 加速开发技能

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

自动化与运维 ✓ NVIDIA · 官方

DOCA 能力探测器

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

开发与工程 ✓ NVIDIA · 官方

DOCA Arg Parser CLI 技能

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

开发与工程 ✓ NVIDIA · 官方

DOCA 擦除编码开发技能

指导在 NVIDIA 硬件上开发和调试 DOCA Reed-Solomon 容错编码。

自动化与运维 ✓ NVIDIA · 官方

DOCA Socket Relay

让现有套接字应用无需重写即可连接 BlueField DPU

开发与工程 ✓ NVIDIA · 官方

DOCA Common 基础编程技能

为 BlueField 和 ConnectX DOCA 应用提供通用编程基础。

开发与工程 ✓ NVIDIA · 官方

DOCA DMA 编程助手

指导在 BlueField 或 ConnectX 上进行 DOCA DMA 内存拷贝开发。

开发与工程 ✓ NVIDIA · 官方

DOCA Compress 硬件压缩开发技能

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

自动化与运维 ✓ NVIDIA · 官方

DOCA 硬件安全

为 DPU/NIC 在线硬件变更提供可回滚的安全操作纪律。

开发与工程 ✓ NVIDIA · 官方

DOCA RDMA Initiator

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

开发与工程 ✓ NVIDIA · 官方

DOCA 环境设置技能

帮助开发者验证、配置和排查 DOCA 开发与运行环境,并选择合适的部署路径。

自动化与运维 ✓ NVIDIA · 官方

DOCA BlueField-3 平台启动技能

帮助运维人员通过 RShim/BFB 路径完成 BlueField-3 首日启动、恢复与安装验证。

开发与工程 ✓ NVIDIA · 官方

DOCA RDMA 编程助手

帮助开发者在 BlueField、ConnectX 或 DOCA 主机上构建、配置和调试基于 DOCA RDMA 的应用。

开发与工程 ✓ NVIDIA · 官方

DOCA SHA 加速开发技能

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

开发与工程 ✓ NVIDIA · 官方

DOCA Ethernet 队列开发技能

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

开发与工程 ✓ NVIDIA · 官方

DOCA Flow 调优技能

帮助工程师快照、分析并优化运行中的 DOCA Flow 管道。

开发与工程 ✓ NVIDIA · 官方

DOCA GPI GPU 直驱 RDMA 技能

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

开发与工程 ✓ NVIDIA · 官方

DOCA UROM 主机侧卸载开发

指导 HPC、UCX 和 MPI 应用将远程内存操作卸载到 BlueField DPU。

开发与工程 ✓ NVIDIA · 官方

DOCA PCC 自定义拥塞控制

指导主机侧在 BlueField 上加载和调试自定义 PCC 算法

开发与工程 ✓ NVIDIA · 官方

DOCA Rivermax 接收流开发技能

帮助开发者构建、验证和调试面向实时网络流的 DOCA Rivermax 接收应用。

相关 Skills