[零组件/半导体] 详解NVLink 架构和技术演进

[复制链接]
查看8 | 回复0 | 前天 23:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×

231043e9179c5f.png
本文来自“ ZOMI”,为了克服传统 PCIe 通信带宽的限制,英伟达开创性地推出了一种名为 NVLink 的高速互连架构。这项技术首次亮相于 P100 GPU 中,标志着高性能计算通信技术的一大飞跃。NVLink 的设计初衷是为了超越传统的 PCIe 通道,实现 GPU 间以及 GPU 与 CPU 之间更高效率、更高带宽的数据传输。
NVLink 的引入不仅仅是技术上的创新,它还代表了英伟达对未来计算架构的深远考量。与 PCIe 相比,NVLink 提供了显著更高的通信带宽和更低的延迟,这对于数据密集型的应用,如深度学习、科学计算和大规模模拟等领域,意味着巨大的性能提升。
更多GPU技术请参考“[color=var(--weui-LINK)]《100+份AI芯片技术修炼合集》”,本文来自"GPU原理详解:NVLink基础与结构",“[color=var(--weui-LINK)]GPU原理详解:Tensor Core原理”,“[color=var(--weui-LINK)]GPU原理详解:Tensor Core架构演进”,“[color=var(--weui-LINK)]GPU原理详解:Tensor Core深度剖析”,“[color=var(--weui-LINK)]GPU原理详解:分布式训练与NVLink发展”和“[color=var(--weui-LINK)]GPU原理详解:NVSwitch基础和原理”。
值得一提的是,NVLink 的设计也考虑到了 CPU 与 GPU 之间的高带宽通信需求。这一点尤其重要,因为它为异构计算提供了更加紧密和高效的集成方式。虽然基于 x86 架构的 AMD 和 Intel 可能不会直接采用 NVLink,但英伟达与 IBM 的合作展现了 NVLink 技术在非 x86 架构中的巨大潜力。通过在 IBM 的 POWER 微处理器上实现 NVLink,展示了一种全新的、去除 PCIe 瓶颈的通信方式,为高性能计算系统提供了更加高效的数据交换路径。
初代 NVLink 结构
第一代 NVLink 技术采用了一种精巧的设计,每条 NVLink 是由一对双工双路信道组成,通过巧妙地将 32 条配线组合起来,形成了 8 对不同的配对。这种独特的结构使得每个方向上能够实现高效的数据传输,具体来说,就是通过 2 位双向传输(2bi)乘以 8 对配对(8pair)再乘以 2 条线(2wire),最终形成了 32 条线(32wire)的配置。
23104915f749d7.png
如上图所示,在 P100 GPU 上,英伟达搭载了 4 条这样的 NVLink 通道,每条通道能够提供双向总共 40GB/s 的带宽。这意味着,整个 P100 芯片能够达到惊人的 160GB/s 的总带宽,为数据密集型的应用提供了强大的数据处理能力。
通过这种技术,不仅解决了传统 PCIe 通信带宽瓶颈的问题,而且还为 GPU 之间以及 GPU 与 CPU 之间的通信提供了一条更快、更高效的数据传输路径。为处理更加复杂的计算任务,构建更加强大的计算系统铺平了道路。
NVLink 实现细节
下面我们来解析下 NVLink 连接的技术细节:
首先,英伟达的 P100 GPU 在其设计中融入了四条 NVLink 通道,这一创新不仅提升了数据传输的速度,还极大地增强了系统的整体性能。P100 通过这些高速通道,实现了高达 94%的带宽效率,这一数字在当时是非常令人印象深刻的,它意味着几乎所有的数据传输都能以极高的效率完成,极大地减少了数据在传输过程中的损耗。
23105325b81bd6.png
其次,更为重要的是,NVLink 不仅支持 GPU 之间的数据读写操作,还支持原子操作到对等 GPU,这为复杂的计算任务和数据处理提供了更加灵活和强大的支持。此外,P100 还能够通过 NVLink 与支持 NVLink 的 CPU 进行数据读写操作,这一特性极大地提升了 CPU 与 GPU 之间的协同工作效率,为异构计算环境中的数据共享和任务协调提供了更加高效的解决方案。
最后,NVLink 的另一个显著特点是其链接可以被“捆绑”起来以实现更高的带宽。通过将多条 NVLink 通道组合使用,可以进一步提升数据传输速度,满足那些对数据传输速度有极高要求的应用场景。这种灵活的配置方式,使得 P100 能够根据具体的应用需求和工作负载,动态调整数据传输策略,从而优化性能表现。
NVLink 互联拓扑
为了实现 GPU 间的高效链接和协作计算,就需要基于 NVLink 系统配置和性能成本要求,来合理的配置 GPU 之间的 NVLink 通道的物理布局和连接方式。
初代 DGX-1 通常采用了一种类似于图的互联形式。不过,IBM 在基于 Power8+微架构的 Power 处理器上引入了 NVLink 1.0 技术,这使得英伟达的 P100 GPU 可以直接通过 NVLink 与 CPU 相连,而无需经过 PCIe 总线。这一举措实现了 GPU 与 CPU 之间的高速、低延迟的直接通信,为深度学习和高性能计算提供了更强大的性能和效率。 23110180787a32.png 通过与最近的 Power8+ CPU 相连,每个节点的 4 个 GPU 可以配置成一种全连接的 mesh 结构。这种结构使得 GPU 之间可以直接交换数据,并在深度学习和计算密集型任务中实现更高效的数据传输和协作计算。
此外,由于 GPU 所需的 PCIe 通道数量超过了芯片组所能提供的数量,因此每一对 GPU 将连接到一组 PCIe 交换机上,然后再与志强处理器相连,如上图所示。随后,两块 Intel 处理器通过 QPI 总线相连。
2311085bd4d538.png
这种配置确保了每个 GPU 都能获得足够的 PCIe 带宽,以便在深度学习和高性能计算任务中能够高效地进行数据传输和处理。同时,通过 QPI 总线连接的两块 Intel 处理器也为系统提供了高速的 CPU 之间通信通道,进一步提升了整个系统的性能和效率。
第五代 NVLink
[size=1em]在 2024 年的 Blackwell 架构中英伟达继续对其服务器带宽和可扩展性方面进行迭代。
[size=1em]总体上看,英伟达将 NVLink 的带宽从每 GPU 900GB/s 增加了一倍,达到每 GPU 1800GB/s。与上一代产品相比,这是过去几年来 NVLink 带宽的最大跃升,因为 2022 Hopper 架构的 NVLink 带宽仅比上代提高了 50%。
[size=1em]值得注意的是,尽管英伟达将 GPU 芯片数量翻倍,互连带宽也翻了一倍,因此每个芯片接收的数据量并没有改变。然而,由于两个芯片需要作为单个处理器一起工作,因此需要传输和重新排列的数据总量显着增加。
[size=1em]另一个有趣的方面是,每个 GPU 的 NVLink 数量没有改变,GH100 Hopper 的 NVLink 容量为 18 个链接,Blackwell GPU 的 NVLink 容量也是 18 个链接。因此,NVLink 5 带来的所有带宽增益都来自于链路内每个高速对的 200Gbps 更高信号传输速率。这与前几代 NVLink 的模式是一致的,每次迭代都会使信号传输速率翻倍。
[size=1em]除此之外,由于 NVLink 4 的链路数量保持不变,本地芯片拓扑选项基本上也保持不变。英伟达的 HGX H100 设计结合了 4 路和 8 路设置,HGX B200/B100 设置也将相同。这并不意味着英伟达没有增加 NVLink 域中 GPU 数量的雄心,但这将在机架级别而不是节点级别实现。
小结与思考
  • [size=1em]NVLink 技术的重要性:随着神经网络模型参数量的激增,传统的 PCIe 总线已无法满足 GPU 间及 GPU 与 CPU 间的高速数据传输需求,NVLink 技术通过提供远超 PCIe 的传输速度和低延迟,有效解决了这一瓶颈问题。
  • [size=1em]NVLink 的技术细节:NVLink 通过创新的通道设计和高效的数据包结构,实现了高带宽利用率和错误检测能力,其灵活的拓扑结构和对等通信支持,为大规模 GPU 集群的高效协作计算提供了可能。
  • [size=1em]NVLink 的发展与演进:自 P100 GPU 首次引入 NVLink 以来,该技术已经历了多代发展,最新一代的 NVLink 在 Blackwell 架构中实现了每 GPU 1800GB/s 的惊人带宽,进一步推动了高性能计算和神经网络模型训练的能力。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

hdy

716

主题

347

回帖

807

积分

二级逆天

积分
807