
NVIDIA 已将 DOCA GPUNetIO 的 Verbs 子集开源,并把此前分散在 NCCL、NVSHMEM、UCX/NIXL 等库中的 GPU 发起网络(GDA-KI)实现收拢到同一套底座上。CUDA 内核可以直接驱动以太网、RDMA、Verbs 与 DMA 操作,CPU 退出应用关键路径。
编程模型分为两段。CPU 控制路径负责初始化设备、创建 DOCA Verbs、Ethernet、DMA、CommChannel 传输对象,并把网络队列的描述符导出到 GPU 显存;随后 GPU 数据路径由 CUDA 内核投递 WQE、敲响 doorbell、轮询 CQE 完成收发。高层 API 把线程、warp、block 级的同步与 doorbell 合并成线程安全的组合操作,低层 API 则保留对 WQE 与完成队列的完全控制。
通知网卡的方式有三种:常规 doorbell 把网卡寄存器 MMIO 映射进 CUDA 地址空间;BlueFlame 把整个 WQE 写入寄存器,适合队列数量少、延迟敏感的场景;CPU 辅助 doorbell 面向没有 GPU 直连网卡的系统,例如 DGX Spark,由 GPU 写共享内存、CPU 线程代为敲门。
开源版与 SDK 版不是两套分叉。开源仓库聚焦 RDMA Verbs,DOCA SDK 版是超集,提供更完整的 RDMA、以太网与 DMA 能力。开源实现可在运行时探测 SDK 是否存在,并通过 dlopen 调用选定的闭源函数;SDK 缺失时仍可独立运行,两个版本向设备侧暴露的 CUDA API 保持一致。
生态已经开始收口。NCCL 自 2.27 起把开源 GPUNetIO Verbs 路径作为 GIN(GPU-Initiated Networking)后端,2.29 版本的 Reduce-Scatter 在 4KB 到 16GB 消息区间相对传统 CPU 通信路径获得加速;NVSHMEM 3.7 新增 GPUNetIO transport,功能与性能对齐 IBGDA,但传输层实现复杂度显著下降,在两节点 B300 加 ConnectX-8、Spectrum-X 的实测中,小消息下的带宽随 CTA 与 QP 数量扩展更充分。Aerial 5G SDK、UCX/NIXL、Holoscan Sensor Bridge 与 DeepEP/HybridEP 也在同一底座之上。
延迟敏感场景的直接收益来自 NVQLink。Holoscan Sensor Bridge 2.7.0 的 GPU RoCE Transceiver 算子基于 GPUNetIO 与 DOCA Verbs 构建,常驻 CUDA 内核收到报文后原路回送、全程不经 CPU。在 IGX Thor(Blackwell GPU 加 ConnectX-7)与 Xilinx RFSoC 4×2 FPGA 背靠背的测试中,最小往返延迟约 2.6 微秒,中位延迟 2.7 微秒。
WeChat
Profile