Workflow
CPU和CPU,是如何通信的?
半导体行业观察·2025-09-29 09:37

文章核心观点 - 文章系统阐述了人工智能和高性能计算系统中,CPU与GPU之间以及GPU与GPU之间的数据通信技术演进,重点分析了传统通信方式的瓶颈以及NVIDIA推出的GPUDirect系列技术、NVLink和NVSwitch等优化方案如何通过减少数据拷贝次数、提供高带宽直连来显著提升数据传输效率 [3][6][7][11][12][14][15][19][20][24][25][27][28] GPU与存储系统的通信 - 传统数据加载流程需经过系统内存中转,涉及两次数据拷贝:第一次从NVMe SSD通过DMA技术经PCIe总线拷贝到系统内存,第二次通过CUDA的cudaMemcpy函数经PCIe总线将数据从系统内存拷贝到GPU显存 [6] - 传统方式存在冗余的数据拷贝过程,导致效率瓶颈 [6] - GPUDirect Storage技术优化了此流程,它提供了存储设备与GPU显存的直接通路,允许网卡或存储系统的DMA引擎直接向GPU显存读写数据,减少了CPU和系统内存的瓶颈,显著提升了数据密集型应用的性能 [6][7] GPU之间的数据流动 - 传统GPU间通信需通过系统内存中的共享固定内存中转,数据从GPU0显存经PCIe拷贝到系统内存,再经PCIe拷贝到GPU1显存,过程存在多次冗余拷贝 [10] - GPUDirect P2P技术允许GPU之间通过PCIe或NVLink直接进行数据拷贝,无需经过系统内存缓存中间数据,使执行相同任务时的数据拷贝动作减少一半 [11][12] - 尽管P2P技术有优化,但多个GPU通过PCIe总线与CPU相连的方式,在AI对HPC要求提升的背景下,PCIe通信带宽逐渐成为瓶颈 [13] - PCIe带宽随版本提升而增加,例如PCIe 3.0 x16带宽为15.75 GB/s,PCIe 4.0 x16带宽为31.51 GB/s,PCIe 5.0 x16带宽为63.02 GB/s [13][14] 高带宽互连技术NVLink与NVSwitch - NVLink是一种高速高带宽互连技术,用于GPU之间或GPU与其他设备间的直接通信,例如NVIDIA A100 GPU通过NVLink互联可达到600GB/s的双向带宽,远高于传统PCIe总线 [14][15] - 不同世代NVLink带宽持续提升,第三代每GPU带宽为850GB/s,第四代为900GB/s,第五代达到1,800GB/s [16] - NVLink解决了单节点小规模计算设备间的高效通信,但当GPU数量超过NVLink最大连接数时,拓扑结构面临挑战 [17][18] - NVSwitch是专为多GPU系统设计的高速互联芯片,它作为节点交换架构,支持单节点中多个GPU的全互联,例如支持16个GPU全互联,并支持多对GPU同时通信 [19][20] - NVSwitch提供高带宽,每条NVLink带宽可达300 GB/s(双向),远高于PCIe 4.0 x16的32GB/s带宽,并且支持全互联拓扑,避免通信瓶颈,具有良好的可扩展性 [20] - NVSwitch版本带宽不断提升,NVLink 3 Switch总聚合带宽为4.8TB/s,NVLink 4 Switch为7.2TB/s,NVLink 5 Switch为1PB/s [21] GPU之间的跨机通信 - 经典的跨机通信不支持RDMA时,需借助系统内存进行数据传输,过程包含5个步骤,涉及数据在GPU显存、主机固定内存和网卡缓冲区之间的多次拷贝,效率较低 [22][23][24] - GPUDirect RDMA技术优化了跨机通信,它将上述5个步骤简化至一步完成,支持外围PCIe设备直接访问GPU显存,减少了通过系统内存的中间数据拷贝,并减轻了CPU负载 [24][25] - GPUDirect RDMA可通过InfiniBand、RoCE或iWARP等协议实现 [25] 技术总结与应用结合 - GPUDirect Storage实现了存储设备与GPU显存的直接访问,提升数据加载效率 GPUDirect P2P实现了GPU间互联互通 NVLink改善了PCIe带宽瓶颈 NVSwitch解决了多GPU设备拓扑扩展问题 GPUDirect RDMA解决了多节点GPU间通信问题 [27] - 在实际系统中,GPUDirect P2P与RDMA可结合使用以最大化性能:在单节点内通过NVLink与GPUDirect P2P实现GPU间高速通信,在跨节点间通过InfiniBand与GPUDirect RDMA实现低延迟数据传输 [27][28] - GPUDirect P2P是单节点多GPU通信的基石,依赖高速直连硬件优化本地协作 GPUDirect RDMA是跨节点GPU通信的核心,依赖RDMA网络实现远程数据直达 两者共同支撑了从单机到超大规模集群的GPU高效协同,是AI训练和HPC等领域的关键技术 [28]