随着AI市场的兴起,近年来各业界精英在GPU上持续发力,不断推出全新的产品。新产品在计算能力提升的同时,其芯片面积也已经屡创新高,甚至逼近了制程和成本的平衡极限。前不久,一款超级计算机的发布,让人哗然,人们震惊的是其拥有16颗Volta GPU所展现的强大的计算能力,16核GPU可提供高达2PFLOPS的深度学习计算能力,成为目前AI业界的最强者。
这16颗Tesla V100的GPU连接在一起,并发挥出如此强大的计算能力的的核心当属NVLink 2和NVSwitch。
1、NVLINK
随着开发人员在人工智能(AI)计算等应用领域中越来越依赖并行结构,各行各业中的多GPU 和多CPU系统愈发普及。其中包括采用PCIe系统互联技术的4GPU和8GPU系统配置来解决非常复杂的重大难题。然而,在多 GPU系统层面,PCIe带宽逐渐成为瓶颈,这就需要更快速和更具扩展性的多处理器互联技术。
a、更快速、更具可扩展性的互联技术
NVLink技术可以提供更高带宽与更多链路,并可提升多GPU和多GPU/CPU系统配置的可扩展性,因而可以解决这种互联问题。通过提高可扩展性,进而实现超快速的深度学习训练。
NVLink技术首先将每个方向的信号发送速率从20GB/每秒增加到25GB/每秒。含此技术的产品可用于GPU至CPU或GPU至GPU的通信。
b、3层控制层,能更大限度提高系统吞吐量
NVLink控制器由3层组成,即物理层(PHY)、数据链路层(DL)以及交易层(TL)。下图展示了P100 NVLink 1.0的各层和链路:
P100搭载的NVLink 1.0,每个P100有4个NVLink通道,每个拥有40GB/s的双向带宽,每个P100可以最大达到160GB/s带宽。
V100搭载的NVLink 2.0,每个V100增加了50%的NVLink通道达到6个,信号速度提升28%使得每个通道达到50G的双向带宽,因而每个V100可以最大达到300GB/s的带宽。
下图是HGX-1/DGX-1使用的8个V100的混合立方网格拓扑结构,虽然V100有6个NVlink通道,但是实际上因为无法做到全连接,2个GPU间最多只能有2个NVLink通道100G/s的双向带宽。而GPU与CPU间通信仍然使用PCIe总线。CPU间通信使用QPI总线。这个拓扑虽然有一定局限性,但依然大幅提升了同一CPU Node和跨CPU Node的GPU间通信带宽。
2、NVSwitch
a、拓扑扩展实现完全连接的NVLINK
类似于PCIe使用PCIe Switch用于拓扑的扩展,使用NVSwitch实现了NVLink的全连接。NVSwitch作为首款节点交换架构,可支持单个服务器节点中16个全互联的GPU,并可使全部8个GPU对分别以 300GB/s 的惊人速度进行同时通信。这16个全互联的GPU(32G显存V100)还可作为单个大型加速器,拥有 0.5TB统一显存空间和2PetaFLOPS 计算性能。
由于PCIe 带宽日益成为多GPU系统级别的瓶颈,深度学习工作负载的快速增长使得对更快速、更可扩展的互连的需求逐渐增加。
NVLink实现了很大的进步,可以在单个服务器中支持八个GPU,并且可提升性能,使之超越 PCIe。但是,要将深度学习性能提升到一个更高水平,将需要使用GPU 架构,该架构在一台服务器上支持更多的GPU以及GPU之间的全带宽连接。
b、首款节点交换架构,加速深度学习和高性能计算
NVIDIA NVSwitch 是首款节点交换架构,可支持单个服务器节点中16个全互联的GPU,并可使全部8个GPU 对分别以300GB/s 的惊人速度进行同时通信。这16个全互联的GPU还可作为单个大型加速器,拥有0.5TB统一显存空间和2PetaFLOPS计算性能。
NVIDIA NVLink将采用相同配置的服务器性能提高31%。使用NVSwitch的DGX-2则能够达到2倍以上的深度学习和高性能计算的加速。