理解紧密耦合异构系统中的内存操作:Grace Hopper超级芯片指南

文摘   科技   2024-11-12 08:01   四川  

引言

高性能计算(HPC)和人工智能(AI)领域因异构系统而发生了巨大变革,特别是那些集成了GPU的系统。随着工作负载越来越受内存限制,优化系统内部的通信延迟和带宽变得极为重要。NVIDIA Grace Hopper超级芯片(GH200)代表了紧密耦合异构系统的重大进步,提供了统一的地址空间和对系统所有主内存的透明细粒度访问。


本文将探讨Quad GH200节点的架构(这是瑞士国家超级计算中心Alps超级计算机的基本构建块),并提供有关如何优化这一尖端系统内存操作的见解[1]。


架构概述

Quad GH200节点由四个GH200超级芯片组成,每个超级芯片结合了一个Grace CPU和一个Hopper GPU。这些单元通过NVLink和缓存一致性互连全面互联。让我们来看看关键组件:

图1:Quad GH200节点的架构


如图1所示,每个GH200超级芯片具有以下特点:

  • 一个Grace CPU,有72个Arm Neoverse V2核心

  • 一个Hopper GPU,有132个流式多处理器(SMs)

  • 96GB的HBM3内存(4000 GB/s带宽)

  • 128GB的LPDDR5内存(500 GB/s带宽)


GH200单元通过以下方式互连:

  • NVLink:每个方向150 GB/s(总共900 GB/s)

  • Grace互连:每个方向150 GB/s

  • NVLink-C2C(C2C):每个方向450 GB/s(总共900 GB/s)


每个节点还通过单独的网络接口卡连接到Slingshot网络,每个方向提供25 GB/s(总共200 GB/s)的节点间通信。


内存层次结构和NUMA

Quad GH200系统呈现出复杂的内存层次结构,具有非统一内存访问(NUMA)特性。

每个GH200由两个NUMA节点组成:

  1. 与Grace亲和的LPDDR5内存

  2. 与Hopper亲和的HBM3内存


总的来说,一个Quad GH200节点有八个NUMA节点,四个与Grace CPU相关(NUMA 0-3),四个与Hopper GPU相关(NUMA 4, 12, 20, 28)。


理解数据路径

为了优化内存操作,理解不同类型操作的数据路径非常重要。让我们来看看读取、写入和复制操作:

图2:Hopper操作的数据路径


图2说明了Hopper GPU执行的读取、写入和复制操作的数据路径。

注意:

  • 本地HBM访问具有最短的路径和最高的带宽(4000 GB/s)

  • 跨C2C互连的操作限制在450 GB/s

  • 复制操作可能需要多次互连遍历,影响可达到的带宽


内存操作基准测试

为了理解Quad GH200系统的性能特征,我们将检查各种微基准测试的结果:

1. 读取和写入操作:

图3:读取和写入吞吐量


图3显示了Grace和Hopper在不同类型内存上进行读取和写入操作的吞吐量,包括空闲条件下和C2C互连负载下的情况。

主要观察:

  • Hopper通常在本地内存访问时更好地利用C2C互连

  • 跨越C2C和NVLink的操作会产生显著开销

  • 在负载下,对HBM的写入受影响最大,特别是对Grace而言


2. 复制操作:

图4:复制吞吐量


图4说明了Grace和Hopper在不同源和目标内存类型之间进行复制操作的吞吐量。

值得注意的发现:

  • 内存传输存在不对称性(例如,Grace在从本地内存复制到对等GH200时达到更高的吞吐量)

  • Hopper在跨越多个互连时通常能更有效地利用可用带宽


3. 延迟:

图5:主内存访问延迟


图5显示了Grace和Hopper的主内存访问延迟。有趣的是,跨越C2C互连的访问(Grace到HBM和Hopper到DDR)表现出相似的延迟。


优化应用程序

理解这些性能特征对于在Quad GH200系统上优化应用程序非常重要。让我们来看一些示例工作负载及其基于内存放置的性能:

1. GEMM(通用矩阵乘法):

图6:GEMM性能


图6显示了矩阵放置在不同内存位置的GEMM操作性能。主要要点:

  • HBM放置对于最佳性能至关重要,特别是对于使用Tensor Cores的数据类型

  • 即使将一个矩阵移出HBM也可能显著影响性能


2. LLM(大型语言模型)推理:

图7:LLM推理时间


图7显示了不同模型和内存分配的LLM推理时间。观察结果:

  • 内存访问速度对吞吐量起着根本作用

  • HBM分配提供最佳性能,而对等内存访问显著影响推理时间


3. NCCL(NVIDIA集体通信库)操作:

图8:NCCL All Reduce和All Gather性能


图8说明了节点内All Reduce和All Gather操作的性能。关键点:

  • 超级芯片局部性比使用的内存类型更重要

  • 同一GH200内存大大优于对等访问


最佳实践和建议

基于从这些基准测试和应用程序示例中获得的见解,以下是在Quad GH200系统上优化内存操作的一些最佳实践:

  1. 优先使用HBM:尽可能将性能关键数据放在本地HBM内存中,特别是对于GPU密集型工作负载。

  2. 最小化跨GH200访问:尽量将数据保持在执行计算的GH200单元本地,因为对等内存访问会导致显著的性能损失。

  3. 谨慎利用统一内存:虽然统一内存简化了编程,但要注意与显式内存管理相比的性能特征。

  4. 考虑内存传输的不对称性:在设计数据移动模式时,要考虑不同内存类型之间复制操作的不对称性。

  5. 优化集体操作:对于使用NCCL或类似库的应用程序,专注于超级芯片局部性以最大化性能。

  6. 分析和迭代:使用分析工具识别应用程序中的内存访问模式,并根据系统的性能特征迭代优化数据放置。


结论

Quad GH200节点为HPC和AI工作负载提供了强大的计算能力和内存带宽。然而,要充分利用其潜力,开发人员必须理解其复杂的内存层次结构并相应地优化数据放置。通过遵循本文概述的最佳实践并仔细考虑不同内存操作的性能特征,可以显著提高在这一先进异构系统上应用程序的效率。


参考文献

[1] L. Fusco et al., "Understanding Data Movement in Tightly Coupled Heterogeneous Systems: A Case Study with the Grace Hopper Superchip," arXiv preprint arXiv:2408.11556v2, Aug. 2024.


END


软件申请
我们欢迎化合物/硅基光电子芯片的研究人员和工程师申请体验免费版PIC Studio软件。无论是研究还是商业应用,PIC Studio都可提升您的工作效能。

点击左下角"阅读原文"马上申请


欢迎转载


转载请注明出处,请勿修改内容和删除作者信息!




关注我们



                      




关于我们:

深圳逍遥科技有限公司(Latitude Design Automation Inc.)是一家专注于半导体芯片设计自动化(EDA)的高科技软件公司。我们自主开发特色工艺芯片设计和仿真软件,提供成熟的设计解决方案如PIC Studio、MEMS Studio和Meta Studio,分别针对光电芯片、微机电系统、超透镜的设计与仿真。我们提供特色工艺的半导体芯片集成电路版图、IP和PDK工程服务,广泛服务于光通讯、光计算、光量子通信和微纳光子器件领域的头部客户。逍遥科技与国内外晶圆代工厂及硅光/MEMS中试线合作,推动特色工艺半导体产业链发展,致力于为客户提供前沿技术与服务。


http://www.latitudeda.com/

(点击上方名片关注我们,发现更多精彩内容)

逍遥设计自动化
分享特色工艺半导体(PIC/Power/MEMS)设计自动化解决方案及行业技术资讯,与广大业界朋友、专家共同交流!
 最新文章