✎ 摘 要
随着GPU拓展了低精度矩阵数学运算的吞吐量进而提高其深度学习能力,GPU打破了数学运算的吞吐量与内存系统功能之间的平衡。我们证明了一款尝试去解决在基于单精度(FP32)(或更高精度)高性能运算和基于半精度(FP16)(或更低精度)深度学习的工作负载之间融合不同架构需求的GPU设计,对于任何应用领域都是次优的结构。我们认为一款在封装级灵活组合的GPU架构来提供专用领域的GPU产品不同的架构需求来说是最切实可行的解决方法。COPA-GPU充分利用了多芯片模块分解来支持最大化的可重用设计和每个应用领域内存系统专用化。我们展示了一款COPA-GPU是如何使通过模块化增强其基准GPU架构,使其达到4倍高的片外带宽,32倍大的可封装高速缓存,2.3倍高的DRAM带宽和容量,同时还提供便利的向下兼容的面向高性能计算的设计,从而实现深度学习专用化的产品。这次工作探索了可组合GPU所必需的微架构设计以及评估其为高性能计算、深度学习训练和深度学习推理带来的好处。相比于融合GPU设计,一款面向深度学习优化的COPA-GPU具有16倍大的cache容量,1.6倍高的DRAM带宽的组合,在扩展训练场景下,每个GPU的训练和推理性能分别提高了31%和35%,并且减少了50%的GPU个数。
深度学习已经彻底改变了计算机视觉,自然语言处理,语音识别和推荐系统,并且重塑了自动化、机器人学、电子商务和医疗保健行业。由于它编程相对容易,丰富的优化软件库集,以及计算能力与片外内存带宽之间很好的平衡,GPU已经成为了深度学习应用的主要平台之一。GPU加速可以将训练时间从月减少到分钟。然而GPU架构也需要适应日益复杂的模型和数据集的发展,进而满足深度学习日益高涨的计算需求。GPU供应商已经享受了很久的微缩律带来的收益了,即只要通过增加晶体管的密度,同时制造更大的裸片带来的收益。随着集成电路技术的发展,架构师有充足的资源来增加面向计算及图形的专用领域硬件到GPU中,这也导致了现如今融合GPU设计服务于多个应用领域。为了满足高性能计算,GPU增加了高成本的高精度算术(双精度)单元,先进的错误预测和修正硬件,高宽带存储以及高速IO接口,例如NVIDIA的NVLINK。类似的,可以面向深度学习增加例如NVIDIA Tensor Core和AMD Matrix Core专业硬件,同时增加RT Core来加速下一代光线追踪计算。近期GPU在低精度数学吞吐量取得了长足的进步,研究发现了利用低精度算法实现高精度深度学习训练与推理的可行性。例如,NVIDIA V100 GPU引入了DL Tensor Core增强了在一代GPU内6倍的半精度吞吐量。NVIDIA Turing GPU系列研究更加深入,其中的Tensor Core还支持4/8位整数。最近,NVIDIA A100GPU增加了比V100多2.5倍的半精度吞吐量。这项工作证明了在单精度/双精度高性能计算应用和低精度深度学习网络中,融合GPU没能满足内存带宽计算吞吐量的不同需求。此外,受限于硅光刻的掩膜版,晶体管缩小尺寸放缓,这限制了晶体管数量和裸片的增长,进而使得面向多应用领域使用的单一融合GPU设计能越来越难提供足够的竞争力。随着裸片尺寸的增大,裸片边缘成亚线性扩展,未来片外带宽的扩展也将面临着风险,片外DRAM和IO带宽限制了单一芯片的可用性。随着数据中心深度学习领域专用加速器重要性的日益增长,通过大量专用深度学习算法的加速器实现加速的可行性已被验证。我们认为,技术发展趋势和极具竞争性的深度学习格局相互作用创造了一个转折点。在这个转折点上,GPU制造商必须拥抱更多专用领域的GPU设计,在继续提供有竞争力性能的同时最大化重用设计并最小化一次性工程费用(NRE)。在本工作中我们研究历史趋势和项目未来比率,展示了GPU中高精度与低精度数学运算吞吐量强烈的差异。我们说明了这个鸿沟导致了设计一个能同时支持高性能计算和深度学习使用的存储系统是一件困难的事情。因此,我们提出一种可组合封装(Composable On-PAckage)GPU(COPA-GPU)架构来构建一种面向领域优化GPU系列。利用多芯片模块集成以及新兴的电路技术创新,我们提出将服务于高性能计算和深度学习领域的单一融合GPU替换为可组合的半专用设计,如图1(b)和1(c)所示。图1.(a)当今单片融合(高性能计算和深度学习)的GPU (b)专用于高性能计算领域COPA-GPU (c)专用于深度学习领域COPA-GPU
一款专用于高性能计算的COPA-GPU(类似于图1(b))使用了基本的GPU模块(GPM)和内存系统模块,它们也可以按照如今常见的融合GPU的方式持续微缩。也可以通过在高的封装带宽支撑下封装大容量的高速缓存来和更多的片外DRAM资源来增强内存系统 (图1(c)),来到一个完全不同的COPA-GPU设计。这一设计将非常适合于需要带宽的深度学习工作负载。封装级别的专用化并不是无代价的,这需要对GPU存储系统架构进行理智的拆分并采用新兴电路和封装技术。本工作旨在阐明设计师在构建专用可组合GPU设计时可选择的架构。
我们研究了历史GPU趋势,并对不同的高性能计算和深度学习基准进行了详细的性能分析。由于现有GPU的特性以及未来深度学习扩展的需求,我们证明了GPU的内存带宽会成为限制基于GPU的深度学习训练与推理的主要性能瓶颈,而这一限制在大多数高性能计算中并没不会遇到。
我们提出了专用领域可组合GPU架构。COPA-GPU提供面向高性能计算和深度学习两类不同应用的GPU高层次设计重用,同时还允许对每一个领域进行专门的产品优化。我们描述启用COPA-GPU 需要的架构修改和技术前景。
我们评估了在深度学习训练和推理背景下,COPA-GPU的性能潜力,并且证明了非常大的缓存可以极大地提升深度学习推理应用的性能,要提高深度学习的训练能力,缓存和主存同时改进是十分必要的(仅针对COPA-GPU的设计而言)。
最后,我们提出了一种特定的COPA-GPU设计,将每个GPU的训练和推理性能分别提高了31%和35%,同时也显著降低了数据中心扩展GPU训练的成本。
深度学习的商业价值是不可否定的,有大量的公司现在正在设计面向深度学习训练和推理的加速器,例如Google的TPU,Graphcore的IPU,Cerebra的WSE,Groq的TSP。这些专门化的架构不需要在其他领域保持高性能,允许他们的架构相比于现如今服务于多个领域的GPU更为高度专业化。为了更好地理解GPU和深度学习加速器设计潮流之间的差异,我们研究了最近的GPU微缩趋势,预测了一个可信的未来GPU配置,现在将它与几个专用深度学习加速器之间进行比较。
表1通过对比最近三代英伟达同时面向高性能与深度学习设计的Tesla GPU,总结了几种关键计算与存储系统的特征。然后,我们基于下一代GPU配置(GPU-N)做了符合微缩演进规律来预测硬件的性能。我们利用线性外推法从V100到A100的参数计算了GPU-N的计算与内存带宽。我们计算GPU-N L2的能力利用的是更小的从P100到V100的1.5倍缩放比例(而不是从V100到A100的6.7倍缩放),因为GPU-N非常不可能能适用几百MB的SRAM在单一的GPU 裸片上。需要注意的是,我们并不打算尝试准确地预测未来GPU的精确配置,而是要展示预期缩放比率对计算和内存宽带的影响。表1清晰地展示了当内存带宽与单精度吞吐量之比通过GPU代数不断增加时(从P100的67倍到GPU-N的112倍),在GPU-N中内存带宽与半精度吞吐量之比被缩小到只有3.4倍。除了几代GPU外,表1提供了几种深度学习加速器的属性。Graphcore, Cerebras和Groq产品都采用了非常大的片上SRAM作为主存,而Google TPU主存使用的是片外DRAM。跟GPU和TPU相反,有较小DRAM存储系统的深度学习加速器可以提供更高的内存带宽与半精度吞吐量之比,分别达到了IPUv2的180倍,TSP的320倍,尽管有更低的总内存容量可能无法满足深度学习应快速增长的内存需求。未来深度学习训练和推理平台的设计者必须在为了获得更佳的性能与能耗必须在使用相对较大的封装级SRAM缓存和高容量DRAM之间取得适当的平衡。我们报道Cerebras的属性为1/84块晶圆来提供相似面积的比较。表格1.GPU和深度学习加速器计算与存储系统趋势,包括一个有未来远见的GPU预测(GPU-N)
图2. 同时设置大批量和小批量,利用MLPerf深度学习训练和推理方法分析GPU-N的性能瓶颈为了理解未来GPU的DRAM带宽需求变化,图2给出了针对GPU-N上小批量和大批量的MLPerf套件进行深度学习工作负载的模拟性能瓶颈分析(详细信息将在4.1节后面介绍)。图2给出了总执行时间的分解,每一种颜色条代表着一种硬件(或者一组相关的硬件)在执行时的性能开销。例如,蓝色的“DRAM BW”条表示了相比于无限的DRAM带宽,非理想DRAM带宽的性能开销。类似的,橙色条表示了由于非理想存储系统中所有其他部件导致的带宽与延迟上的性能损失。灰色条表示的是相比理想GPU100%利用SM(流处理器),动态SM利用不足造成的性能损失,这反映了例如非完美工作规划或者工作负载本身缺少足够的并行)(有时只是阶段性的)带来的效率低下。最后,绿色条表示了数学运算单元有关执行时间的损失,在理想状态下这些运算单元应该是100%被利用。我们的瓶颈分析是通过逐步理想化系统的一个或多个架构特性来进行的,从DRAM带宽开始,向SM靠拢,然后利用理想系统和实际系统之间的性能差异来确定每个组件对整体性能的影响程度。我们首先从GPU-N基线开始,首先理想化DRAM的带宽来估计片外带宽不足的开销。随着DRAM带宽保持理想化,我们接着将剩余部分的内存子系统理想化,有效地模型化一个完美的GPU存储系统,所有的内存请求都能被立刻响应到SM。最后,为了测试SM由于负载不平衡或者工作量太少导致的利用不足的影响,我们模拟了GPU-N只有一个SM和一个完美的存储系统达到满载,然后将执行时间除以原始的SM数据来模拟所有SM都实现满载的情况。逐步理想化的最主要原因与一次只理想化一个组件相反,是为了理解从移除一个瓶颈到移除所有瓶颈(直到DRAM)来探索全部潜在的性能。明显地,这些结果依赖于这些被实施的理想化步骤的顺序。然而,由于我们主要聚焦于存储系统,我们通过理想化系统的其他部分来最小化这些器件对最终性能的干扰。我们的方法与在GSI中瓶颈分解有一定的重叠之处。然而我们的分析远超内存系统,扩展到了 SM利用和数学单元。图2说明内存带宽确实是GPU-N上深度学习训练的主要性能限制者,在大批量和小批量情况下平均贡献了28%的所有执行时间。DRAM带宽同样也是大批量深度学习推理的主要的性能瓶颈,占用了30%的执行时间。然而,对于小批量尺寸,未完全利用的SM占用了41%的执行时间,是比DRAM带宽更主要的性能瓶颈。这是因为MLPerf小批量推理无法提供足够的并行度来填充为数据中心设计的整个GPU。此外,由于小批量推理占用内存少,每一个负载数据的主要部分可以被缓存到片上,因此DRAM带宽并不是主要的瓶颈。我们使用了相同的模拟器在不同DRAM带宽设置之间模拟融合GPU-N的配置,使用了130个来自不同源的高性能计算基准,包括CORAL和CORAL-2基准,Amber18基准,FUN3D,SPECFEM3D Cartesian,GROMAC,Laghos和RELION。如图3所示,与深度学习应用明显相反,大多数高性能计算应用对于DRAM带宽的变化一点也不敏感。当DRAM带宽增加到无限大的时候,几何平均加速了只有5%。当DRAM带宽减小的时候,0.75倍带宽和0.5倍带宽只让性能分别减小了4%和14%。这暗示如果未来面向深度学习和高性能计算领域的融合GPU仍然是实际上的标准的话,未来DRAM带宽的增加很大程度上不会被高性能计算的应用利用上。图3.不同DRAM带宽下,GPU-N配置下高性能计算应用的性能加速,虚线代表对应配置的几何加速因为深度学习应用的内存带宽需求很有可能会超过未来DRAM发展所能提供的,GPU设计师必须保证有替代的方法来达到达到带宽目标。从历史上看,GPU的LLC(LLC)仍相对短,因为高性能计算工作负载有良好的空间局部性,大部分的片外带宽需求由于几十兆字节的最后一级缓存的存在而被隐藏。在深度学习工作负载中数据位置跨过多个时间空间维度,导致需要更大的缓存容量。图4.在不同LLC下DRAM流量减少,在60MBLLC的GPU-N基准下做了归一化 为了了解GPU-N需要多大的LLC来有效的保护GPU的DRAM系统,我们测试了在GPU的LLC容量从60MB-4GB范围内,GPU-N与DRAM间的流量减少量。图4表明,在将LLC达到120MB双倍之后,在深度学习训练中片外DRAM流量减少了高达53%。随着LLC增加到960MB,片外带宽需求减少了82%(减少了5倍)。我们之后将会证明,从更大的缓存中减少DRAM流量与提高训练性能有很好的相关性。相比于深度学习训练,大的LLC能力对于深度学习推理更有益处,因为它们允许片上缓存更大部分的工作量权重和激活。例如,在大批量推理中,960MB的LLC能够实现DRAM流量减少16倍,而249MB的LLC由于更小的内存需求,已经足够保存所有的可用的数据重用片上数据来进行小批量的推理。 因为现代GPU已经受限于面积,再集成几百兆字节的片上LLC而不严重牺牲其他功能是不可行的。即使能做成,这样一种架构也势必会在优化高性能计算的性能上失去平衡。因为高性能计算和深度学习工作负载对于片外GPU带宽和GPU上缓存能力有不同的敏感度,我们现在探索可组合GPU架构的潜在优势,能够满足每个领域的特殊需求,同时通弄过模块封装设计,最大化设计的可重复使用。
对于COPA-GPU架构有两个首要的目标:(1)很大程度上保留现有GPU架构最小化设计成本和最大化可重用型,(2)提供灵活的专用化GPU内存系统来满足不同应用领域的不同需求。特别的,我们目标是用比特性领域领域,例如比高性能计算需求更大的缓存和内存带宽来改善GPU的存储系统,从而能解锁GPU深度学习的性能。为了实现这种GPU系统能力的跨越,我们利用了封装级多芯片模块集成,将一个GPU核裸芯与不同的内存系统芯粒耦合,每个芯粒分配不同的封装级缓存和内存资源。
我们提出单片GPU分解成封装级的基础模块GPM,它能被重复利用在每一种为特定应用领域量身定制的专用化的COPA-GPU所对应的专门化的存储系统模块(Memory System Module,MSM)。对于分解GPU的主要困难是在灵活组合的程度与高效地将GPU内的高带宽通信负载从片上转移到封装上导线的可实现性之间取得适当的平衡。图5. GPU多芯片模块分解在可实现性性和可组合领域专门化的选择(a)单片GPU,(b)COPA-GPU在封装级不同分解 图5(a)描述一个通用的单片GPU架构,SM与L1缓存相连,再通过GPU片上网络连接到L2缓存。L2缓存片依附在内存控制器上,驱动片外DRAM内存接口。当前的片外DRAM接口只能提供几TB/s的内存带宽(GPU-N提供2.7TB/s),而GPU的片上互连被设计在SM和片上存储层之间传输几十TB/s的片上带宽。 三种可能的GPU分解选择在图5(b)中画出。选择(Ⅰ)是GPM+内存模块(L2缓存+内存控制器),GPM包含SM,L1缓存和GPU片上网络,而MCM包含了L2缓存和内存控制器。这个设计可以提供比单一掩膜版限制的裸片更有效的裸片面积和边缘来支持更大的L2缓存和更高的DRAM带宽。选择(Ⅱ)展示的GPM+MCM(片上网络+L2+内存控制器)类似于(Ⅰ),但是将GPU片上网络从GPM中移动到内存处理模块中。然而,选择(Ⅰ)和(Ⅱ)是不切实际的,因为他们都要求把几十TB/s的片上网络流量来转移到封装间导线上,这将在3.5部分证明利用我们现有或者已知的技术是无法达到的。 因此,我们选择(Ⅲ)中的GPM+内存处理系统(L3+内存控制器)的划分方案,来探索一种可行的COPA-GPU设计,因为它依赖于GPM中的L2缓存让GPM裸片间带宽降低到可行的程度。此外,我们建议在L2缓存和内存控制器之间增加一个额外的L3层,将L3缓存和内存控制器都放在MCM中。这样一种可组合设计的封装集成技术可以提供比之前L2高4倍的带宽。
在我们提出的COPA-GPU中,架构领域定制是通过集成GPM和专用领域优化的MSM来实现的,该MSM使用2.5D或3D封装集成,可以利用平面或垂直的裸芯堆叠方法。我们考虑COPA-GPU架构选项,包括两种集成策略,同时考虑架构和封装技术选择之间独特的相互依赖关系,提炼出每种方法的优缺点。图6.COPA-GPU架构两种选择2.5D和3D集成领域,(a)现在融合GPU,使用3D封装技术的COPA-GPU,没有L3(b)3D封装可组合GPU,有L3(c)2.5D封装可组合GPU,无L3(d)2.5D封装可组合GPU,有L3和更多的DRAM(可选) 图6(a)显示了一个现代GPU架构的高层顶部和侧视图,包括一个最大尺寸的GPU 裸片,裸片上有L2缓存和内存控制器,以及通过2.5D硅中介层集成连接的高带宽内存节点。图6(a)所示的同一图表也描述了基本的COPA-GPU的GPM,预先配备了3D集成的MSM裸片,以提供3D深度学习优化COPA-GPU变体。 图6(b)显示了一种深度学习优化的COPA-GPU的3D组合,其中来自图6(a)GPM继承了一个携带额外的L3缓存MSM。这个MSM通过高密度裸片内键合的3D超高带宽链路垂直连接,带宽高达14.7TB/s,详见3.5节。MSM的位置处于GPU和硅中介层之间,通过硅通孔提供GPM和硅中介层所有必要的连接,如图6(b:侧视图)。3D COPA-GPU可组合的特性允许设计者同时使用(进行深度学习)或者不使用(进行高性能计算)额外的L3缓存。3D COPA-GPU组合最主要的优点是它不能提供任何额外的裸片边缘来改善DRAM扩展。 图6(c)显示了一种基础的2.5D COPA-GPU,以高性能计算为目标在2.5D组合中集成了一个GPM和两个MSM。2.5D COPA-GPU的设计在基础的GPM上保留了大多数其原始功能,但是把内存控制器和高带宽模块(HBM)IO接口卸载给新的(小型)封装内MSM。2.5DCOPA-GPU的好处在于可以将GPM的区域分配给内存控制器和HBM IO接口,从而释放出裸片的面积,用于在基准的COPA-GPU内实现超高带宽链路和额外计算资源的链接。 图6(d)为图6(c)中的2.5DCOPA-GPU增加了一个大型L3缓存和额外的DRAM堆栈,但受到封装面积的限制。同样的GPM裸片在图6(c)和图6(d)之间重复使用,这种2.5D 封装的面向深度学习的优化结构与3D封装相比有几个优势。首先,它可以提供比3D封装多2倍的L3容量。其次,附加的MCM几何增加了总可用的裸片边缘的设计。使用最大尺寸的MSM(未显示),这个裸片边缘可以通过10个HBM节点提供高达1.7倍或14个高带宽站点提供高达2.3倍于HBM的带宽和更大的容量。
图7.可组合fengzhuangGPU设计中L3缓存微架构 图7展示了在3D和2.5D可组合GPU设计中都提到的内存处理模块的微架构。图7(a)和(b)概述了3DCOPA-GPU加了或者没加L3内存处理模块的主要组成部分。当今GPU架构与3DCOPA-GPU之间最大的不同是增加了一个新的开关组件,可以将来自L2的请求引导到片上存储控制器或者超高带宽链路上,这取决于MSM是否在封装内。 如果没有MSM(图7(a)),可以配置交换模块来将内存请求直接从L2引导到本地内存控制器,类似于当下的GPU。如果存在MCM(图7(b)),可以重新配置交换模块通过超高带宽链接将L2后流量引导到L3。这项设计要求MSM实现与HBM IO接口相连的内存控制器,通过增加了超高带宽链接。由于硅通孔的IO口以及GPM和硅中阶层之间的电源传输产生了硅片面积开销。在没有或者有额外的L3能力的MSM的2.5D COPA-GPU中(图7(c)和(d)),GPM完全剥离了他原本的内存控制器和HBM IO口,并且后L2流量通过封装上的超带宽模块链接路由到MSM。这两种2.5D COPA-GPU配置包含相同的GPM,但是配置了不同版本的MSM来服务不同的应用(即有或者没有L3,以及额外的HBM节点)。在这两种设计中,L3缓存在架构上被实现为另一个级别的内存端缓存,(如果存在)支持现有的L2。它既不包含也不排他,也不要求与L2的一致性,因为L2已经作为GPU系统的一致性点。从GPU的角度来看,L2中的线总是会取代L3中的线,当数据从L2中被移除时,会被写回L3中。如果没有首先在L2得到服务,任何请求都不会被路由到L3。
2.5D COPA-GPU组织的主要缺点是它增加了封装的大小。相反,3DCOPA-GPU对封装复杂性的影响最小(同上视图),但基础GPM现在必须考虑到用于垂直裸片间通信(第3.5节)的分布式裸片上超高带宽链接连接的实现,以及用于访问MSM裸片的硅通孔开销。我们估计,在3D情况下,提供用于裸片间通信绑定的高达14.7TB/s带宽的超高带宽 I/O的成本将消耗不到4%的硅表面和金属层。3D键合下的大部分有源区和低能级金属可能会被复用于GPM中的其他逻辑。在2.5D设计中,假设20Gbps的信号速率,最大尺寸的链路导致大约6%的面积开销。第3.5节提供了关于这些假设的进一步细节。 尽管由于新的MCM通信接口,这两种COPA-GPU方法都引入了4%到6%的面积开销,但这一面积(以及成本开销)将会被面向高性能计算所节省的开销所抵消,因为它们不需要继续使用非必要且昂贵的面向深度学习的内存子系统。此外,我们相信,在未来即使是不可组合的GPU设计也会因为掩膜版限制而转向MCM组织,有效地将类似的MCM链接开销引入到所有GPU设计中。这种模块化GPU设计未来的主要挑战是其日益增长的集成复杂性,有效地将焦点从裸片上集成转移到先进的组装、测试和持续创新的封装互连和封装技术上。 然而,增加新的让内存请求必须通过的通信接口会带来额外的能量开销。我们估计,在假设峰值带宽0.3pJ/b时被100%利用,线交换速率为25%的情况下,2.5D组织的超高带宽链接会消耗少于9瓦。而由于更有效的链接技术和整体更短的通信距离,3D链接消耗小于2瓦(详见3.5节)。 大的L3可以减少DRAM的访问次数,抵消超高带宽链接便利和L3访问的额外成本。图4说明了在960MB和1.9GB的L3配置下,分别减少的DRAM总流量高达94%和98%。我们估计从基于SRAM的COPA-GPU的L3引一条缓存线到GPM会消耗大约比访问HBM内存小4倍的能量。这些估计完全考虑了在MSM-裸片上往返到SRAM子阵列的能量,以及SRAM子阵列所消耗的能量。因此,我们估计COPA-GPU设计(使用960MB的L3缓存)将减少与HBM相关的GPU的总能耗高达3.4倍。MSM缓存模块的成本可以通过在旧的、成本较低的进程中实现来降低。
COPA-GPU的可行性取决于几种成熟的工业实现技术。缓存技术预测:大缓存可以通过高密度嵌入式DRAM (eDRAM)或SRAM技术来实现。IBM最近使用14nm的eDRAM技术在696mm2的裸片上实现了960MB缓存。Graphcore最近发布的第二代IPU集成了896MB的SRAM和数千个核心,在一个823mm2的裸片上使用TSMC的7纳米工艺。缓存密度由位单元区域、控制开销和带宽要求的组合决定。因为COPA-GPU L3比L2设计提供较低的带宽,我们估计未来受限于掩膜版的MSM 裸片(和NVIDIA GPU A100的尺寸一样大)可以提供高达2GB的L3缓存,虽然这项工作的其余部分假设保守的预测960 MB的L3在 826平方毫米裸片,这意味着在带有单个MSM芯片的3D COPA-GPU中,L3的最大值为960MB;在带有两个MSM芯片的2.5D COPA-GPU中,L3的最大值为1920MB。高带宽2.5D和3D互联:使2.5D集成的高速连接快速发展。Chen等人最近证明了20Gbps信号速率通过一个2.5mm硅中介层的为0.3pJ/b时,导致了~200GB/s/mm每层的带宽密度,这在短距离时能进一步增加。这项工作假设2.5D的COPA-GPU超高带宽链接有着256GB/s/mm的带宽密度,因此,826mm2的GPM模块专用模块边缘可以提供高达14.7TB/s的GPM外带宽,如图6(d)所示。虽然这个带宽对于MSM已经远远地超出了实际L3的带宽需求,但它提供了原来增加裸片外通信的发展空间。3D集成同样不断成熟。例如TSMC的集成芯片上系统预期提供超致密3D互连以及远超1TB/s/mm2的裸片间带宽,在假设1Gbps的信号速率下。我们保守的认为3D超高带宽链接在0.05pJ/b下有512GB/s/mm2的带宽密度。要实现2.5D COPA-GPU14.7TB/s的数据带宽需要28.7mm2(小于4%)的硅面积用于裸片间通信键合。表2总结了对于2.5D和3D情况下的超高带宽链接特性。表格2.本工作中2.5D和3D超高带宽假设下带宽与能量特性
我们现在展示我们的仿真方法,验证了基线COPA-GPU架构对于DRAM带宽和封装级LLC能力的性能敏感度,评估了几种具体的深度学习专用在训练和推理情况下的COPA-GPU配置。
为了提供深度学习工作负载的性能预测,我们使用MLPerf训练和推理基准测试套件中未修改的工作负载来进行研究,对工作负载进行端到端迭代,而不是使用分离和隔离的GPU内核调用。这种方法允许我们描述总体吞吐量,并占据层间激励和L3中的权重复用,这将驱动未来GPU上的内存系统设计。MLPerf是深度学习基准测试的实际标准,由NVIDIA、goole和Intel等主要深度学习芯片供应商维护。表3显示了使用的7个MLPerf训练基准和5个推理基准,这些基准取自NVIDIA公开提供的MLPerf训练 v0.6和MLPerf推理v0.5。这些代码通过利用高吞吐量的Tensor Cores对NVIDIA GPU进行了高度优化,并证明了从单个GPU到数千个GPU的性能可伸缩性。 为了构建未来深度学习场景的完整图景,我们在两种不同的配置中运行所有深度学习基准。对于深度学习训练,我们使用较大的per-GPU批来表征单GPU训练情况,使用较小的per-GPU批来表示大规模训练系统。对于深度学习推理,我们使用较大的per-GPU批来表示具有大量并发查询的数据中心处理推理任务,而对于具有实时处理需求的延迟敏感场景,使用较小的per-GPU批来表示。虽然在我们评估的这篇文章中小批量的推理工作负载是不太常见的大型数组中心组GPU,我们出于完整性把他们纳入我们研究的一部分,因为随着考虑未来GPU设计可以按比例缩小(总的来说),能以传统或COPA-GPU形式构建niche-specific GPU产品,同时也有很多最近的工作关注于对延迟敏感的深度学习工作负载的高效小批量推理。 我们为每个场景选择的批处理大小取自NVIDIA提交的MLPerf,如表3所示。在我们的评估中,我们在单个NVIDIA Tesla V100上执行每个应用程序,并从完整的端到端迭代中收集GPU执行跟踪。在预测大规模深度学习训练的性能时,我们专注于per-GPU工作负载分析,忽略了all-reduce的同步开销。All-reduce性能很大程度上取决于GPU间网络的实现,这超出了本工作的范围,但也受到了架构界的关注。 我们使用修改后NVIDIA的NVArchSim来模拟这些工作负载。NVArchSim为应用程序的确定性部分提供了非常快速的模拟,而不会在不确定性的应用程序阶段牺牲模拟的准确性或正确性,并且对于我们在本工作中关注的MLPerf工作负载具有很高的准确性。我们的分析集中预测如表4中描述的GPU-N配置上。在SM频率不变的情况下,GPU-N的SM计数增长超过NVIDIA A100,与预测的单精度吞吐量(从表1)成比例。GPU-N的DRAM容量的预测是基于类似于对DRAM带宽所做预测的线性外推。表格4.GPU配置详细信息
我们对基本的不使用L3(类似于GPU-N)的COPA-GPU设计的DRAM带宽设置进行了详细的扫描,从其标准带宽(1.3TB/s)的一半一直到无限带宽。图8总结了以2.7TB/s基线归约的总性能。在大多数训练和推理场景中,工作负载性能随着DRAM带宽增长到3 × BW (8.1TB/s)时稳定增长,超过这一点回报就会递减。小批处理推理应用程序对DRAM带宽不太敏感,因为它们的占用空间相对较小(详见4.3节),而其余的深度学习训练和推理工作负载表明,即使将DRAM带宽从2.7TB/s增加1.5倍到4TB/s,训练和推理的速度也会分别显著提高18%和21%。图8.对于大批和小批设置,不同DRAM带宽下基础COPA-GPU的性能,性能归约到了基线GPU-N的性能 我们注意到,一些应用程序在小批场景下对DRAM带宽更敏感,而另一些应用程序在大批场景下对DRAM带宽更敏感。当批大小改变时,有多个因素决定应用程序对DRAM带宽的敏感性。一般来说,更小的批处理大小意味着在批处理维度上更少的数据重用,从而降低应用程序的计算强度(FLOPS/byte),并使其更受内存限制。因此,小批量设置将对DRAM带宽更敏感。然而,更小的批处理尺寸也可能导致进一步的SM未充分利用,如图2所示,这将导致更低的DRAM带宽压力。此外,对于内存占用较小的应用程序(如表3所示),更小的批处理大小还允许将更大一部分模型数据(激活和权重)存储在片上,从而减少DRAM带宽压力。应用程序对带宽的敏感性受到所有这些因素的影响,因此在不同的应用程序中可能有所不同。从这些结果中,我们得出结论现在GPU正在受到DRAM带宽的严重限制,额外的原始DRAM带宽是扩展DL性能的最强大的工具。然而,由于HBM内存频率和引脚密度的不断改进,不太可能提供比我们积极预测的1.7倍(针对GPU-N)更高的带宽缩放比,我们探索了一个非常大和高带宽的封装上缓存的潜力,以在未来的COPA-GPU中弥补这一差距。
为了理解大型缓存对未来GPU中DRAM带宽减少的影响,我们将基本的无L3的COPA-GPU的LLC (L2)缓存容量从60MB扫到3840MB。一块完美的L2,所有请求都在L2缓存中命中,这是性能的上限。图9显示了这些不同L2配置的性能,归约化到60MB基线。增加L2容量带来的性能增益相当于DRAM带宽的大幅增加,这主要是因为显著的片外DRAM流量减少,如图4所示。图9.对于大批和小批设置,不同LLC容量下基础COPA-GPU的性能,性能归约到了基线GPU-N的性能对于深度学习训练,480MB的L2比增加1.5倍的DRAM带宽表现略差,960MB的L2比增加2倍的DRAM带宽表现略差(与图8相比)。然而更大的L2缓存继续不断地提高能改善性能,但是,与完美的L2相比,即使是3840MB的L2在大批和小批的深度学习训练工作量方面仍会产生8%和13%的性能差距。因为深度学习推理应用程序通常比深度学习训练占用的内存更小,所以一旦缓存了所有工作负载数据,性能就会饱和。对于大批推理和小批推理,饱和点分别为1,920MB和240MB,对应于表3中列出的内存占用。我们得出的结论是,一个相当大的LLC是一个有吸引力的解决方案,以提高在COPA-GPU中深度学习的性能;然而,要将性能差距缩小到完美的L2将需要4GB的封装缓存,即使在激进的技术预测下,这也是不切实际的。结果是,为了最大限度地提高深度学习的性能,COPA-GPU不仅必须利用一个非常大的L3缓存,而且还必须通过附加的MSM 裸片边在2.5D COPA-GPU设计中结合大L3和更高的DRAM带宽才可行。
表5总结了深度学习优化的COPA-GPU配置,这些配置是在第3节中概述的架构选择中使用的。COPA-GPU-1设计通过3D叠加单个最大尺寸MSM 裸片或2.5D叠加两个最大尺寸MSM 裸片的提供960MB的L3缓存,每个都设置为最大裸片尺寸的一半。具有更多HBM资源的COPA-GPU-2选项仅适用于2.5D,通过利用额外的MSM 裸片边面积提供1.7倍大的HBM带宽和更大的HBM容量(总共10个HBM站点)。在2.5D堆叠场景中,使用两个最大尺寸的MSM 裸片,L3缓存容量和额外的DRAM带宽可以分别扩展到1920MB和基线DRAM带宽的2.3倍(通过14个HBM站点)。因此,我们考虑了三种额外的具有1,920MB的L3缓存和不同的HBM资源的COPA-GPU配置:COPA-GPU-3、COPA-GPU-4和COPA-GPU-5,分别具有2.7TB/s、4.5TB/s和6.3TB/s的DRAM带宽。图10.具有L3缓存的不同超高带宽链接带宽下COPA-GPU的性能,性能归一化到基线GPU-N性能 在转移到总体结果之前,我们首先分析UHB封装上链路带宽需求,通过扫描COPA-GPU-1配置中的单向L3的带宽,从其基线DRAM带宽(0.5 × RD + 0.5 × WR,总和为2.7TB/s)的一半扫到无限带宽。图10总结了MLPerf应用程序(训练和推理)的几何平均加速,归一化到基线GPU-N(不含L3)。当L3带宽从0.5 x RD + 0.5 x WR增加到2 x RD + 2 x WR时,性能有了显著的提高,并且在此点之后递减。总的来说,2 x RD + 2 x WR(总10.8TB/s)的超高带宽模块的带宽配置下的性能是无限带宽配置下的3%(训练)和6%(推理)之内。这一带宽完全在我们设计中假设的下一代2.5/3D互连技术的能力范围内。 我们还评估了超高带宽链路延迟的影响,方法是将L2和L3缓存之间的总往返延迟从0.25倍调整为1倍的DRAM访问延迟。我们的实验(未显示)表明COPA-GPU架构对L3延迟不敏感,因为在这个延迟范围内性能变化不到2%。因此,我们设置了超高带宽链路的带宽为2×RD + 2×WR,总共10.8 TB/s,以及对于所有列在表5中的COPA-GPU配置而言,L2和L3之间的往返延迟(超高带宽链接延迟+ L3访问延迟)是DRAM访问延迟的一半。图11.不同设计下深度学习优化的COPA-GPU的性能,性能以GPU-N归一化。大批和小批情况分别标注为lb和sb 图11总结了在大批(lb)和小批(sb)设置下COPA-GPU设计的MLPerf训练和推理性能。不出所料,更大的缓存容量和更高的内存带宽普遍提高了大批和小批训练的性能。例如,COPA-GPU-1中额外的缓存容量分别提高了大批和小批性能21%和18%,使其成为一个有吸引力的3D COPA-GPU设计。此外,COPA-GPU-2配置提供的额外HBM带宽实现了31%和27%的整体加速,使其成为一个有吸引力的2.5D COPA-GPU设计选择。COPA-GPU-3有两倍的L3容量,而不是增大DRAM带宽,因此在大批和小批场景下的提速都比COPA-GPU-2低(4%),这表明在单独增加L3容量并不是提高深度学习训练性能的最佳方法。最后,与COPA-GPU-2相比,DRAM选项,如COPA-GPU-4和COPA-GPU-5的性能提高幅度很小(4%),并且不能证明这些系统的额外成本是合理的。 对于大批推理,COPA-GPU-1的大L3容量提高了29%的性能,COPA-GPU-3可以达到高达40%的加速。对于1920MB的L3,进一步增加HBM带宽是没有好处的,因为大多数DRAM流量已经通过大的L3缓存被过滤了。事实上,尽管没有显示,我们发现DRAM带宽甚至可以减少50%而不影响性能。对于小批量推理,由于性能饱和点在240MB LLC,通过L3和HBM组合的性能提升仅9%。 总的来说,我们得出结论,COPA-GPU-2结合了极大的L3缓存(960MB)和适度升高的DRAM带宽(4.5TB/s),可能是最优的COPA-GPU设计,它在深度学习训练(大批获得31%增益,小批获得27%增益)和推理(大批获得35%增益,小批获得8%增益)方面表现良好,而不会因内存资源的过度配置而增加显著的不必要成本。与深度学习训练相比,推理对缓存容量更敏感,对DRAM带宽更不敏感。如果设计一个专门用于深度学习推理的COPA-GPU,那么用额外的HBM资源来换取LLC容量的增加可能是一个合理的策略。 一个大的支持COPA-GPU的L3减少了与DRAM相关的per-GPU的总能耗高达3.4倍,如3.3节所示。然而,改进的深度学习优化COPA-GPU利用率可能会导致总体设计功耗的提高,而这可能不会被内存系统的功耗降低完全缓解。为了缓解不断增长的热密度,我们预计未来的高端GPU系统与今天的技术相比将依赖于液体冷却技术来支持不断增加的热度。
在规模上,多GPU的训练性能最终会受到per-GPU计算效率降低和系统级同步开销增加的限制。为了理解深度学习优化的COPA-GPU的向外扩展效率,我们将基于COPA-GPU -2的系统与2倍和4倍大系统组成的基线GPU-N的性能进行了比较。我们在所有配置中固定全局批量大小,以保持相同的统计效率。因此,per-GPU批大小下降到1 / 2和1 / 4的基线GPU-N配置。我们没有在更大的范围内推断分布式梯度同步的额外开销,因此我们的分析支持于2倍和4倍的GPU-N配置。图12.深度学习优化的COPA-GPU-2设计与数据并行通过2xGPU-N和4XGPU-N性能比较,性能都以基线GPU-N的性能做归一化 图12显示,将基准GPU-N实例(2倍GPU-N和4倍GPU-N)的数量双倍和四倍,对于我们的训练工作负载,平均性能分别提高29%和43%。我们发现,深度学习优化的COPA-GPU-2配置(性能提高27%)提供了与2倍GPU-N类似的性能水平,但与购买并安装2倍大的传统GPU-N相比,成本要低得多。值得注意的是,在小批处理设置中,maskrcnn已经达到最小批处理大小1,因此进一步将数据并行将没有帮助。一般来说,较少内存限制和利用更多内部并行性的应用程序将从数据并行性中获益更多。 与GPU-N相比,尽管COPA-GPU-2增加了近826mm2的硅,面积增加了一倍,但它仍由常规SRAM缓存阵列主导,由于内置的冗余和错误恢复,预计将实现高生产量。此外,总的区域被分成两个较小的裸片,从而大大降低了每平方毫米的成本。COPA-GPU-2集成了1.6倍的HBM内存资源,降低了GPU-N总成本的两倍。因此,深度学习优化的COPA-GPU将在规模上提供更好的性价比,不仅节省了GPU的整体成本,还节省了额外的系统级附属品,如数据中心的空间、cpu、网络交换机和其他外围设备。
利用高容量和高带宽的片上和晶圆上缓存或临时存储器来存储深度学习权重和激励已经在深度学习训练/推理架构中得到了很好的探索。DaDianNao设计了36MB的片上eDRAM来缓存模型权重。谷歌的TPUv1分配了28MB的片上内存,主要用于缓存激活,而TPUv2和TPUv3将其增加到32MB,然后TPUv4i进一步将其增加到144MB。最近的深度学习加速器,如Graphcore的IPU、Groq的TSP、阿里巴巴的HanGuang和Cerebras的WSE,用数百MB的高带宽片上SRAM取代了片外内存,以满足不断增长的内存带宽需求。与针对深度学习工作负载进行高度调整的专用领域加速器不同,COPA-GPU在应用程序域之间提供了高水平的GPU设计重用,同时还为各个领域提供了专用的内存系统。 多芯片模块(MCM)封装已经被广泛研究和部署,以将异构和同质芯片集成在一个封装中,帮助各种传统GPU和CPU应用程序扩展计算和内存带宽。之前的工作集中在开发MCM-GPU架构,通过利用封装上和板上集成技术,实现超越单个单片裸片的限制的强大GPU性能。在后续工作中,作者用高级缓存和HW/SW缓存一致性协议扩展了MCM-GPU架构,以克服NUMA的限制。MCM-3D-NoC解决了有源中阶层上MCM集成的互连可扩展性问题。在CPU领域,最新的AMD CPU架构利用多模块板载集成来提供可扩展和模块化的CPU架构。最后,Kannan等人提出将大型单片CPU设计分解为较小的芯片以降低成本,作者提出并量化了使用粒度专用领域chiplet的MCMs进行深度学习推理的成本和收益。 通用CPU SoC已经利用MCM设计与非常大的封装级eDRAM缓存。Intel通过将CPU SoC和128MB的封装eDRAM组合为牺牲告诉缓存来提高移动级CPU性能,IBM使用960MB的L4 eDRAM缓存来提高其Gen-z主机的性能。而COPA-GPU利用以前提出的对封装集成和大型缓存的概念,我们的工作是:(1)首先识别和解决基于单精度的高性能计算和基于半精度的深度学习的工作负载之间在GPU内有不同架构需求,(2)率先开发可重用的GPU的体系结构概念,实现为高性能计算和深度学习领域专业化的具有成本效益的GPU。
在这项工作中,我们证明了对高性能计算和深度学习应用领域之间分离的架构需求,使得融合GPU设计在深度学习方面明显不足,而在面向高性能计算时存在过度设计。我们提出了一种新的可组合GPU架构,它利用了新兴的电路和封装技术在实现专门化的同时保持了产品线之间的兼容性。我们证明了COPA-GPU架构可以选择性地部署封装缓存和片外DRAM资源,允许制造商轻松地针对各个领域定制设计。我们的分析表明,深度学习优化的COPA-GPU将提供令人印象深刻的per-GPU训练和推理性能的改进,同时仍然有效地支持针对高性能计算设计的按比例缩减。深度学习优化的COPA-GPU还将通过最小化实现针对提高训练性能所需的GPU数量来降低数据中心成本,使COPA-GPU成为一个有吸引力的范例,可以在不针对任何特定领域过度优化产品的情况下提高单个和整体GPU性能。致谢:感谢电子科技大学黄乐天老师与大连理工大学陈龙同学在翻译和校正中提供的帮助。
★ 本文原文发表在ACM TACO期刊,点击文末【阅读原文】,可查看本文原文链接!*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。
今天是《半导体行业观察》为您分享的第2896内容,欢迎关注。