第12章:GPU设计中的未来趋势和新兴技术
随着GPU架构不断发展以满足并行计算工作负载日益增长的需求,几种新兴的趋势和技术正准备塑造GPU设计的未来。在本章中,我们探讨了这些关键趋势,包括异构计算和加速器、3D堆叠和基于芯片的设计、面向AI和机器学习的特定领域架构,以及GPU架构中的开放研究问题和机会。
异构计算和加速器
异构计算,即结合不同类型的处理器或加速器以实现更高的性能和能源效率,在近年来变得越来越普遍。GPU一直处于这一趋势的前沿,通常与CPU配对来加速并行工作负载。然而,加速器的格局正在迅速扩大,针对特定应用领域正在开发新型的专用硬件。
一个显著的例子是AI加速器的兴起,如Google的张量处理单元(TPU)[Jouppi等, 2017],它们专门设计用于加速机器学习工作负载。这些加速器通常采用低精度算术、专门的存储层次结构和数据流架构,以实现AI任务的高性能和高能源效率。
另一个新兴的加速器类别专注于图形处理和分析。图形处理工作负载,如社交网络分析、推荐系统和科学模拟中的工作负载,表现出不规则的内存访问模式和细粒度同步,这对传统的CPU和GPU架构来说是一个挑战。专门的图形处理加速器,如Graphicionado[Ham等, 2016]和GraphCore智能处理单元(IPU)[GraphCore, 2020],旨在通过提供硬件支持来解决这些挑战,从而实现高效的图形处理。异构图遍历、同步和负载均衡。
随着加速器的多样性不断增长,将它们集成到一个连贯的系统中的挑战变得更加复杂。AMD 的异构系统架构 (HSA) [AMD, 2015] 和 NVIDIA 的 CUDA 统一内存 [NVIDIA, 2020] 等异构系统架构旨在提供跨不同类型处理器和加速器的统一编程模型和内存空间。这些架构使 CPU、GPU 和其他加速器能够无缝协作,让开发人员可以专注于算法设计,而不必担心数据移动和不同设备之间的同步细节。
这一领域的研究探讨了跨异构设备的高效任务划分和调度、统一内存管理以及异构系统的高性能互连等主题。随着加速器的发展,GPU 的设计很可能会受到与其他类型专用硬件无缝集成的需求的影响。
3D 堆叠和基于 Chiplet 的设计
3D 堆叠和基于 Chiplet 的设计是新兴的封装技术,为 GPU 架构创新提供了新的机遇。这些技术可以在单个封装内集成多个芯片或层次,从而提供更高的带宽、更低的延迟和更高效的供电,相比传统的 2D 封装方式。
3D 堆叠,例如通过硅孔 (TSV) 或混合内存立方体 (HMC) 技术 [Jeddeloh 和 Keeth, 2012],实现了多层逻辑或内存的垂直集成。这项技术已经应用于高带宽内存 (HBM) [Lee 等人,2014],为内存密集型工作负载提供了显著更高的内存带宽和更低的功耗,相比传统的 GDDR 内存。AMD 的 Radeon R9 Fury X 和 NVIDIA 的 Tesla P100 等 GPU 已经采用了 HBM 以缓解内存带宽瓶颈。基于芯片的设计,另一方面,涉及使用高密度互连(如硅中介层或嵌入式多芯片互连桥(EMIB))将多个较小的芯片(芯片单元)集成到单个封装中[Demir et al., 2018]。这种方法允许混合和匹配不同的工艺技术,从而实现每个芯片单元的特定功能的优化。例如,计算密集型芯片单元可以使用先进的工艺节点制造,而内存密集型芯片单元可以使用较旧、更具成本效益的工艺节点。
基于芯片的设计的模块化性质也使GPU架构更加灵活和可扩展。例如,可以调整计算芯片单元的数量来创建具有不同性能和功耗特性的GPU,而无需对GPU进行完全的重新设计。这种方法还可以促进将专用加速器或内存技术与GPU计算芯片单元集成。
这一领域的研究探讨了诸如3D堆叠GPU架构、基于芯片的GPU设计以及用于多芯片集成的新型互连技术等主题。随着工艺技术缩放变得更加具有挑战性和昂贵,3D堆叠和基于芯片的设计为GPU架构的持续性能和能源效率改善提供了一条有前途的道路。
面向AI/ML的专用架构
人工智能(AI)和机器学习(ML)应用的快速增长推动了针对这些工作负载进行优化的专用架构的发展。虽然GPU在近年来一直是AI/ML加速的主要平台,但越来越多的专用硬件可以为特定的AI/ML任务提供更高的性能和能源效率。
这种专用硬件的一个例子是神经处理单元(NPU),它专门设计用于加速深度神经网络(DNN推理和训练。 NPU通常采用低精度算术、专门的内存层次结构和数据流架构,这些都是针对DNN工作负载的独特特性而设计的。 NPU的例子包括谷歌的张量处理单元(TPU)[Jouppi等人,2017]、英特尔的Nervana神经网络处理器(NNPs)[Rao, 2019]和华为的Ascend AI处理器[华为,2020]。
人工智能/机器学习领域专用架构的另一个新兴趋势是使用内存计算和模拟计算技术。 内存计算架构旨在通过直接在内存中执行计算来降低数据移动相关的能量和延迟。 诸如基于memristor的加速器[Shafiee等人,2016]等模拟计算技术利用设备的物理特性以更节能的方式执行计算,与数字电路相比。
随着人工智能/机器学习工作负载不断发展和变得更加多样化,需要更加灵活和可编程的专用架构来适应不断变化的需求。 实现这种灵活性的一种方法是使用粗粒度可重配置架构(CGRA)[Prabhakar等人,2017],它提供了一系列可编程处理单元,可以重新配置以支持不同的数据流模式和算法。
这一领域的研究探讨了新型人工智能/机器学习加速器架构、内存和模拟计算技术以及针对人工智能/机器学习的可编程和可重配置架构等主题。 由于GPU在人工智能/机器学习加速中继续发挥重要作用,未来GPU架构的设计很可能会受到需要集成更多专门硬件并适应这些工作负载独特需求的影响。
开放研究问题和机会
尽管近年来GPU架构和并行计算取得了重大进步,但仍有许多未解决的研究问题以下是上述 Markdown 文件的中文翻译版本。对于代码部分,我只翻译了注释,而没有翻译代码本身。
随着 GPU 的性能和复杂性不断提高,GPU 发展面临着许多重大挑战和新的创新机遇。其中一些挑战和机遇包括:
-
能源效率: 随着 GPU 性能和复杂性的不断增加,提高能源效率变得越来越关键。这个领域的研究机会包括用于降低功耗的新型电路和体系结构技术,如近阈值计算、断电控制和动态电压频率调整。
-
可扩展性: 使 GPU 能够扩展到更多核心和线程,同时保持高性能和可编程性,是一个重大挑战。这个领域的研究可能探讨层次化和分布式 GPU 体系结构、可扩展的内存系统,以及能够有效利用未来 GPU 并行性的编程模型等主题。
-
可靠性和弹性: 随着 GPU 越来越广泛地应用于关键任务和安全关键应用,确保其可靠性和弹性变得至关重要。这个领域的研究机会包括新型容错和错误纠正技术,如基于算法的容错、检查点和恢复机制,以及弹性架构设计。
-
虚拟化和多租户: 在云计算和数据中心环境中,能够在多个应用程序和用户之间有效共享 GPU 资源是至关重要的。这个领域的研究可能探讨 GPU 虚拟化技术、服务质量 (QoS) 管理,以及多租户 GPU 系统的资源分配和调度算法等主题。
-
编程模型和工具: 开发能够有效利用未来 GPU 体系结构性能,同时保持程序员生产力的编程模型和工具,仍然是一个持续的挑战。这个领域的研究机会包括针对 GPU 的领域特定语言和编译器、自动调优和优化框架,以及用于并行编程的调试和性能分析工具。深度学习程序
随着 GPU 架构的不断发展和新应用领域的出现,研究人员和工程师需要应对这些挑战,以释放并行计算的全部潜力。通过探索新颖的架构设计、编程模型和软件工具,研究界可以帮助塑造 GPU 计算的未来,并在科学计算、人工智能和数据分析等领域实现新的突破。
进一步阅读
对于那些对本章所涉及的主题感兴趣的人来说,我们建议以下资源:
-
Jouppi, N. P., Young, C., Patil, N., Patterson, D., Agrawal, G., Bajwa, R., ... & Yoon, D. (2017). 数据中心中张量处理单元的性能分析。见于《第 44 届计算机体系结构国际研讨会论文集》(第 1-12 页)。https://dl.acm.org/doi/abs/10.1145/3079856.3080246 (opens in a new tab)
-
Ham, T. J., Wu, L., Sundaram, N., Satish, N., & Martonosi, M. (2016). Graphicionado: 一种用于图分析的高性能和高能效加速器。见于《2016 年第 49 届 IEEE/ACM 国际微体系结构研讨会》(第 1-13 页)。IEEE。https://ieeexplore.ieee.org/abstract/document/7783759 (opens in a new tab)
-
AMD。(2015)。AMD 异构系统架构 (HSA)。https://www.amd.com/en/technologies/hsa (opens in a new tab)
-
NVIDIA。(2020)。CUDA 统一内存。https://developer.nvidia.com/blog/unified-memory-cuda-beginners/ (opens in a new tab)
-
Jeddeloh, J., & Keeth, B. (2012). 混合内存立方体:新的 DRAM 架构提高了密度和性能。见于《2012 年 VLSI 技术研讨会》(第 87-88 页)。IEEE。https://ieeexplore.ieee.org/abstract/document/6243767 (opens in a new tab)
-
Lee, J. H., Lim, D., Jeong, H.,金, 赫., 宋, 泰., 李, 基., ... 金, 国. (2014). 1.2 V 8 Gb 8通道 128 GB/s 高带宽内存(HBM)堆叠 DRAM,采用 29 nm 工艺和 TSV 的有效微凸点 I/O 测试方法. 在 2014年IEEE国际固态电路会议论文汇编(ISSCC)(第 432-433 页). IEEE. https://ieeexplore.ieee.org/abstract/document/6757501 (opens in a new tab)
-
Demir, Y., Pan, Y., Song, S., Hardavellas, N., Kim, J., & Memik, G. (2018). Galaxy: 一种采用光互连的高性能、高能效多芯片架构. 在第 28 届 ACM 国际超级计算大会论文集(第 303-312 页). https://dl.acm.org/doi/abs/10.1145/2597652.2597664 (opens in a new tab)
-
Rao, T. (2019). Intel Nervana 神经网络处理器(NNP)重新定义 AI 硅. https://www.intel.com/content/www/us/en/artificial-intelligence (opens in a new tab)