DOCA GPUNetIO WRITE 带宽基准技能
帮助开发者构建、运行并解读由 CUDA 内核发起的 GPUNetIO RDMA WRITE 持续带宽基准。
文档明确限制适用范围,要求可信网络、烟雾测试、维护窗口,并将固件/IOMMU/大页等硬件变更转交安全策略;但 OOB 使用明文 TCP,且 GPU 句柄和 mmap 描述符被视为凭据,缺少加密、认证和回滚流程,因此扣分。
TASKS.md 提供了较完整的安装、构建、运行和分层调试流程,但关键文件存在自洽性问题:SKILL.md 称服务器上的 CUDA kernel,CAPABILITIES.md 又称客户端 kernel;TASKS.md 还要求服务器回显 GPU 地址,而文档称服务器不使用 GPU。静态证据也不足以确认关键路径可运行,因此扣分。
触发语句、目标用户、输入前提和非适用范围写得清楚,并区分 GPUNetIO、GPI 和 CPU perftest;但没有中文操作支持,且依赖 DOCA/CUDA/NVIDIA 文档与实际硬件环境,对中国大陆网络可达性和替代来源未作说明,因此扣分。
文档分层、交叉引用、任务路由、限制和维护联系信息较完整;但 SKILL.md 的许可证为 Apache-2.0,而 SKILLCARD.yaml 和 skill-card.md 声称 Apache-2.0 AND CC-BY-4.0,版本、签名和扫描时间仍为 TBD,且 BENCHMARK.md 存在路径和统计口径不一致,故扣分。
技能明确提供 GPU-NIC 配对、meson 构建、烟雾测试、吞吐分解和结果记录流程,静态上可覆盖核心任务;但不提供脚本、固定输出解析器或可直接复用的 benchmark 产物,且实际工具结果仍需用户环境验证,因此按静态上限保守给分并扣除不确定性。
提供了提交内的能力说明、任务流程、评估记录和 evals.json,具备一定审计线索;但评估数据集不可用,没有提交的关键路径测试套件或第三方复现实据,且静态审查不能验证命令和性能结论,因此扣分。
- 运行前必须解决客户端/服务器 CUDA kernel 与 GPU 回显描述的矛盾,并以实际源码和二进制 --help 为准。
- OOB TCP 明文传输句柄和内存描述符;仅在受信网络和明确维护窗口运行,避免共享生产 fabric。
- 核对许可证、SKILL.md 路径、版本签名和 benchmark 记录的一致性。
- 不要将静态文档或评估报告中的吞吐与安全结论视为已执行验证。
这个 Skill 能做什么,适合哪些场景?
该技能面向 NVIDIA DOCA GPUNetIO 的 gpunetio_ib_write_bw 客户端与服务器基准工具。它指导用户在真实 GPU、InfiniBand 设备和 DOCA 环境上,从 CUDA 内核提交 RDMA WRITE 工作请求并测量持续带宽。内容涵盖安装前提、Meson 构建、客户端与服务器启动、结果解读、瓶颈分析和误差排查。它不负责通用 DOCA 安装、GPUNetIO 库开发、CPU 发起的 perftest,或应用端到端吞吐量。
指导用户检查 DOCA SDK、CUDA Toolkit、GPU、InfiniBand RNIC、nvidia_peermem 和 GPU-NIC 配对条件;在 doca/tools/gpunetio_ib_write_bw/ 下使用 Meson,结合 doca-gpunetio、doca-rdma 和 doca-common 的 pkg-config 模块构建客户端与服务器;通过 TCP 套接字完成带外描述符交换;运行客户端和服务器基准;读取每轮带宽报告,并根据 GPU 占用率、NIC 发包速率和链路饱和度分析结果。
- 性能工程师需要测量两台主机之间由 GPU 内核发起的 RDMA WRITE 持续带宽。
- 平台运维人员调整 NUMA 绑定、GPU PCIe 位置、IB 设备、GID 索引或 NIC 固件后,需要重新建立性能基线。
- 开发者希望将 GPUNetIO 路径与 GPI 编程面或 CPU 发起的 perftest 路径进行比较。
- SRE 需要记录某个 GPU-NIC 对在指定 DOCA、CUDA 和部署环境下的可复现实测结果。
- 用户遇到 Meson 编译失败、GPU 缓冲区未被 nvidia_peermem 接管或多次运行带宽波动,需要按错误分类逐层排查。
这个 Skill 有哪些优点和局限?
- 聚焦 CUDA 内核通过 GPUNetIO 提交 RDMA WRITE 的持续带宽测量。
- 覆盖 GPU-NIC 配对、构建、运行、观测、版本匹配和错误分类。
- 明确区分 GPUNetIO、GPI 和 CPU 发起的 perftest 测量路径。
- 强调记录 GPU、NIC、DOCA 版本、构建方式和运行环境,便于回归比较。
- 依赖真实的 Linux、DOCA、CUDA、NVIDIA GPU 和 InfiniBand 硬件环境。
- 要求匹配的 GPU-NIC 拓扑、nvidia_peermem 和带外 TCP 连接。
- 这是指导型加载器,不提供包装脚本、解析器或预写的 CUDA/DOCA 内核代码。
- 技能本身不提供固定吞吐量数字,也未在给定材料中列出独立测试平台或测试套件。
如何安装这个 Skill?
安装整个 NVIDIA skills 集合:npx skills add nvidia/skills。只安装此技能:npx skills add nvidia/skills --skill doca-gpunetio-ib-write-bw --yes。技能目录位于 skills/doca-gpunetio-ib-write-bw/。此外,运行基准本身需要已安装的 Linux DOCA SDK、匹配的 CUDA Toolkit 和 nvcc、NVIDIA GPU、BlueField DPU 或 ConnectX NIC、InfiniBand RNIC、已加载的 nvidia_peermem,以及已安装的 gpunetio_ib_write_bw 源码;具体 DOCA 安装步骤未在该 SKILL.md 中展开。
如何使用这个 Skill?
让代理处理类似“测量 GPU 发起的 GPUNetIO RDMA WRITE 带宽”或“分析 gpunetio_ib_write_bw 的带宽波动”的任务。先阅读 SKILL.md,再按 TASKS.md 的 configure、build、run、test 和 debug 流程操作;从 doca/tools/gpunetio_ib_write_bw/ 构建客户端和服务器,先执行小规模 smoke 测试,再进行稳定态测量。引用参数时应先读取已安装二进制的 --help,因为该技能不固定具体 flag 字符串或预期吞吐量。
这个 Skill 与同类方案有什么区别?
与 CPU 发起的 upstream perftest ib_write_bw 相比,该技能测量的是 CUDA 内核通过 doca-gpunetio 发起工作请求的路径;两者结果不应默认相同。它也将 GPUNetIO 与 GPI 编程面作为运行时表面的选择对象,并与同类的 GPUNetIO WRITE latency 工具区分带宽和延迟指标。