AI算力需求激增:5年后将增长100万倍,硬件加速器与网络互联技术解析
AI 背后代表着巨大的算力需求,元宇宙、大模型等火爆名词也不例外。据悉,AI 模型所需的算力每 100 天就会翻倍,这个速度远超摩尔定律的 18 - 24 个月。5 年后,AI 所需的算力规模将比今天大 100 万倍以上。在这种背景之下,加速计算给予了必需的计算能力与内存,其解决方案涵盖了硬件、软件和网络的组合。接着,我们会对常见的硬件加速器进行回顾与梳理,像 GPU、ASIC、TPU、FPGA 等这些。同时,也会对如 CUDA 等软件解决方案进行梳理。此外,还会对 PCIe、CXL、以太网等网络互联技术进行探讨。
硬件、软件和网络互联
摩尔定律终结了,这意味着 CPU 性能的增长开始放缓。于是,人们开始对当前价值 1 万亿美元的纯 CPU 服务器市场的未来发展产生疑问。随着对更强大的应用程序和系统的需求持续增加,传统的 CPU 难以与加速计算展开竞争。加速计算利用专用硬件来加速某些任务的执行,这些专用硬件包括 GPU、ASIC、TPU 和 FPGA 等,与传统 CPU 相比,它能更高效地完成任务。
加速计算适用于能够并行化的任务。比如 HPC 是可并行化的任务,AI/ML 是可并行化的任务,深度学习是可并行化的任务,大数据分析也是可并行化的任务。通过把某些类型的工作负载转移到专用硬件设备上,加速计算能够大幅提升性能和效率。
硬件加速器
硬件加速器是计算加速的基础。它包含图形处理单元 (GPU)。还包含专用集成电路 (ASIC)。同时包含现场可编程门阵列 (FPGA)。
GPU在各种计算密集型任务中得到广泛应用。它擅长同时开展许多复杂的计算。其并行计算能力使得它成为处理复杂数据集以及大规模神经网络训练的理想选择。
ASIC 是专门为执行特定任务而设计的芯片,它具有定制化的特点。这种芯片在速度方面有优势,功耗也比较低,整体性能较为突出。神经处理单元 (NPU) 以及深度学习处理器 (DLP) 都属于 ASIC 的范畴,它们的目的是加快 AI 工作负载的处理速度。谷歌的张量处理单元 (TPU) 也是 ASIC 家族中的一员,它是专门为加速机器学习工作负载而设计的。
FPGA 是一种半导体集成电路。它与通用 CPU 相比,具有可以重新编程的特点,能更有效地执行特定任务。与 ASIC、GPU 和 CPU 中固定的架构不同,FPGA 的硬件包含可配置逻辑块和可编程互连。正因如此,即便在芯片发货和部署之后,也能够进行功能更新。
FPGA 在 HPC 和 AI/ML 领域很受青睐,是因为它具有灵活性。然而,与 GPU 和专用 ASIC 相比,它的开发速度较慢,软件生态系统也不够完善。因为编程比较复杂,所以 FPGA 在人工智能工作负载中的应用比较缓慢,并且专业工程师的数量也有限。
软件
加速计算通过 API 和编程模型(例如 CUDA 等)把软件与硬件加速器相连接。这些 API 和编程模型让开发人员能够编写在 GPU 上运行的代码,并且能够利用软件库来高效地实现算法。
此接口能让开发人员直接对 GPU 的内部特性和功能进行访问。
CUDA 的生态系统主要集中于英伟达的 GPU 。因为其具备专用硬件优化,并且与 GPU 紧密集成,所以能够提供更高的性能。英伟达还提供了众多丰富的开发工具和库,这使得 CUDA 在深度学习以及科学计算等领域得到了广泛的应用。
(开放计算语言)是一个编程框架,它具有开放性且跨平台。该框架由 Group 组织进行开发和维护。它的设计目标是对各种硬件平台提供支持,这些硬件平台不仅包含 GPU 的处理器单元,还包含 CPU、FPGA 等。它采用基于 C 语言的编程模型,能够让开发人员利用各种设备上的并行计算能力。
拥有广泛的硬件支持,涵盖多个厂商的 GPU 以及 CPU 等其他加速设备。这表明开发人员能够在不同的硬件平台上运用相同的代码来开展开发工作,同时还可以更具灵活性地去适应不同的需求。
CUDA 是一种强大的 GPU 加速计算框架,它与英伟达 GPU 紧密结合,能提供更高性能,适合专注于英伟达平台的开发者;而另一种框架具有跨平台兼容性和多厂商支持的优势,适用于需要在不同硬件平台上进行开发的场景。
网络互联
网络在加速计算方面起着极为重要的作用。它推动了众多处理单元(像 GPU、内存以及存储设备等)之间的通信。不同的网络技术被用于达成计算设备之间的通信,多个设备可以共享数据。常见的技术包含:
这种连接方式使其具有更高的性能和可扩展性。AI、自动驾驶、AR/VR 等应用在快速发展,计算要求变得越来越高。处理器 I/O 带宽的需求每三年就会实现翻番。PCIe 大致按照 3 年一代的速度进行更新演进。每一代升级几乎都能让传输速率翻倍,并且具有良好的向后兼容性。
2003 年 PCIe 1.0 正式发布。它可支持每通道的传输速率为 250MB/s。同时,总传输速率为 2.5GT/s。
2007 年推出了 PCIe 2.0 规范。此规范在 PCIe 1.0 的基础上进行了提升。将总传输速率提升了一倍,达到了 5 GT/s。每通道的传输速率从 250 MB/s 上升到了 500 MB/s。
2022 年,PCIe 6.0 规范正式发布了。它的总带宽提升到了 64 GT/s。
2022 年 6 月,PCI-SIG 联盟做出了宣布。宣布的内容是关于 PCIe 7.0 版规范。此规范规定单条通道(x1)单向能够实现 128GT/s 的传输速率。并且计划在 2025 年推出该规范的最终版本。
英伟达开发了这种高速互连技术,其目的是提升 CPU 与 GPU 之间以及 GPU 与 GPU 之间的数据传输速度,进而提高系统性能。借助 GPU 之间的直接互联,能够扩展服务器内的多 GPU I/O,和传统的 PCIe 总线相比,它能提供更高效且低延迟的互联解决方案。
2014 年发布了其首个版本,并且首次引入了高速 GPU 互连。2016 年发布的 P100 搭载了第一代,它能提供 160GB/s 的带宽,此带宽相当于当时 PCIe 3.0 x16 带宽的 5 倍。V100 搭载的使其带宽提升到 300GB/s ,A100 搭载的其带宽为 600GB/s 。目前已迭代到了第四代。它能够为多 GPU 系统配置提供比以往高出 1.5 倍的带宽,并且具有更强的可扩展性。H100 中包含 18 条第四代链路,总带宽达到了 900GB/s,这个带宽是 PCIe 5.0 带宽的 7 倍。
AMD 开发了高速互连技术,此技术用于连接 AMD 处理器内部的各个核心、缓存以及其他组件,以达成高效的数据传输与通信。它采用了分布式架构,该架构包含多个独立的通道,每个通道都能进行双向数据传输。这种设计让不同核心之间能够直接进行快速且低延迟的通信,进而提高了整体性能。它具备可扩展性和灵活性。它能够在不同芯片之间建立连接,还可以支持将多颗处理器组合成更强大的系统。
Link (CXL)是一种开放式行业标准的互连方式。它能够在主机处理器与加速器、内存缓冲区以及智能 I/O 设备等设备之间搭建连接。这种连接具备高带宽和低延迟的特点。它可以满足高性能异构计算的需求。同时,它还能维护 CPU 内存空间和连接设备内存之间的一致性。CXL 的优势主要体现在极高的兼容性以及内存一致性这两个方面。
CXL 3.0 于 2022 年 8 月发布标准。此标准在诸多方面进行了重大革新。CXL 3.0 以 PCI - 6.0 为基础(CXL1.0/1.1 和 2.0 版本基于 PCIe5.0)。它的带宽提升了两倍。同时,它将一些复杂的标准设计变得简单化,从而确保了易用性。
它是一种高速、低延迟的互连技术,是由 IBTA(Trade)所提出的。该技术规定了一整套从链路层到传输层的完整规范,这里的传输层并非传统 OSI 七层模型的传输层,而是在其之上的那一层。然而,它无法与现有的以太网相兼容。它具备高吞吐量和低延迟的特点,扩展性良好,通过交换机在节点间建立点对点通道来进行数据传输,这些通道是私有且受到保护的。
目前的传输速度是 400Gb/s。路线图表明,IBTA 打算在 2024 年推出 XDR 800Gb/s 产品,并且在 2026 年之后推出 GDR /s 产品。这种高传输速度能够打通高性能计算中数据传输速率的瓶颈,提升吞吐量和计算效率。
以太网是应用广泛且成熟的网络技术,能够在数据中心的服务器之间传输大量数据,这对许多加速计算任务有着重要意义。在 RoCE 协议之下,以太网将 RDMA 功能融合在一起,从而在高性能计算场景下,其通信性能得到了大幅提升。今年,网络巨头联合成立了超以太网联盟(UEC),以应对 AI 和 HPC 工作负载带来的新挑战。超以太网解决方案堆栈能够利用以太网的普遍性与灵活性,处理各类工作负载,并且具备可扩展性和成本效益,为以太网注入了新的活力。
加速计算起到了在传统 CPU 与日益增长的数据需求之间搭建桥梁的作用。从数据中心到边缘计算,加速计算在各种领域都有广泛应用。英伟达创始人黄仁勋曾表明,计算发生了根本性变化,CPU 扩展的时代已经结束,购买再多的 CPU 也无法解决问题。加速计算将与 AI 一同推动,新计算时代的“引爆点”已经到来。
页:
[1]