

RDMA 技术解决了机器间的网络传输问题,但它并未解决 GPU 数据传输的核心瓶颈。
RDMA(远程直接内存访问)的核心原理:它允许一台设备绕过 CPU 和系统内核,直接将数据传输至另一台设备的主机内存,彻底精简了传统网络传输中繁琐的CPU调度、内核协议栈处理流程,大幅提升机器间的数据传输效率。
起初,很多人都以为,RDMA 的出现已经彻底解决了分布式训练、高性能计算中的数据传输难题,达到了性能优化的终点。但实际应用场景告诉我们,事实并非如此。
这里有一个极易被忽略的核心细节,也是打破固有认知的关键:AI 训练的梯度数据,并不存储在机器的主机内存中,而是全程驻留在 GPU 显存里。
这就导致一个核心问题:即便 RDMA 机器间的网络传输做到了极致高效,GPU 梯度数据的完整传输链路,依然存在多余的中转环节,完整链路如下:
GPU 显存 → 本机主机内存 → RDMA 网络传输 → 对端主机内存 → 对端 GPU 显存
简单来说,RDMA 只是砍掉了跨机器之间的网络传输冗余流程,但每一台机器内部,GPU 与网络设备之间的数据中转瓶颈依然存在。
哪怕 GPU 显卡和网卡(NIC)就插在同一块主板上,硬件物理距离仅有短短几厘米,在没有 GPUDirect RDMA 技术加持的情况下,GPU 显存中的数据,依然必须先搬运到主机内存暂存,再由主机内存转发给网卡完成网络发送,接收流程同理。
而 GPUDirect RDMA 的核心作用,就是彻底消除这一层机器内部的冗余中转。
它依托 PCIe 总线协议,让网卡可以直接对 GPU 显存进行 DMA(直接内存访问)读写操作,完全绕过主机内存中转,将数据传输链路精简为极致形态:
GPU 显存 → 本地网卡 → 网络链路 → 对端网卡 → 对端 GPU 显存
这项技术的优化逻辑和 RDMA 一脉相承,只是优化的层级更深了一层。普通 RDMA 是在网络协议栈层面剔除不必要的计算和传输开销,解决跨机器的网络瓶颈;而 GPUDirect RDMA 是在设备内存传输链路层面剔除冗余的数据搬运操作,解决机器内部 GPU 与网卡的传输瓶颈。
纵观整个优化过程,技术的核心设计理念从未改变:持续砍掉无效数据搬运、冗余计算调度。唯一变化的,只是系统性能的瓶颈所在——从最初的网络传输瓶颈,迭代为设备内部的内存中转瓶颈。