acm-header
登录

ACM通信

研究突出了

Simba:基于芯片的扩展深度学习推理


Simba多芯片模块原型,插图

信贷:Nvidia Corp .)

使用多芯片模块(MCMs)的包级集成是构建大型系统的一种有前途的方法。与大型单片模相比,MCM将许多较小的芯片组合成一个较大的系统,大大降低了制造和设计成本。目前的mcm通常只包含少量粗粒度的大芯片,这是由于与芯片间通信相关的高面积、性能和能量开销。这项工作调查并量化了在深度学习推理中使用带有细粒度芯片的mcm的成本和收益,这是一个具有大量计算和片上存储需求的应用领域。为了评估该方法,我们构建、实现、制作并测试了Simba,一个36芯片的MCM原型系统,用于深度学习推理。每个芯片达到4个TOPS峰值性能,36芯片MCM包达到128个TOPS和高达6.1 TOPS/W。MCM可配置,支持DNN层到分布式计算和存储单元的灵活映射。为了减少芯片间通信开销,我们引入了三种平铺优化,以提高数据局部性。与基线层映射相比,这些优化实现了高达16%的加速。我们的评估表明,Simba运行ResNet-50可以处理1988张/秒的图像,批处理大小为一张,提供0.50 ms的推理延迟。

回到顶部

1.简介

深度学习(DL)已经成为解决复杂现实问题的关键。特别是,深度神经网络(DNNs)已经在广泛的应用中证明了其有效性。最新款12需要数十亿次操作和数百兆字节来存储激活和权重。考虑到向更大更深的网络发展的趋势,随之而来的计算和存储需求推动了DL硬件的大规模计算能力,目前这是通过大型单片芯片和同质多芯片板设计的结合来解决的。915以前提出的多芯片DL加速器主要关注于提高总计算吞吐量和片上存储大小,但没有解决与构建具有多个离散组件的大规模系统相关的可伸缩性挑战。

最近,在晶体管扩展速度放缓的时代,对高计算吞吐量的需求推动了多芯片模块(MCM)集成的发展,以构建大规模的cpu3.和gpu。1MCM封装方法还可以通过在制造后使用更小的芯片连接在一起来降低成本,因为成材率损失导致制造成本与模具尺寸超线性增长。包装技术如有机基质13和硅插入器11可用于组装大型MCM系统。此外,包级信令的最新进展为基于芯片的系统提供了必要的高速、高带宽信令。24因此,基于芯片的MCM系统可以提供比板级集成更有效的性能改进,但比单片芯片成本更低。虽然MCMs已用于一般计算系统,但将MCMs应用于高性能DNN推理算法之前还没有进行过研究。特定的挑战来自于片上和包上带宽和延迟之间的天然不均匀性。虽然多芯片系统也表现出类似形式的非均匀性,但本文主要关注基于mcm的系统的特定特征,因为它们提供了超越单片单片机推理加速器的自然发展。

本文介绍了一种基于多芯片模块集成的可扩展深度学习推理加速器Simba。每个Simba芯片都可以作为独立的边缘规模推理加速器使用,而多个Simba芯片可以打包在一起,以提供数据中心规模的计算吞吐量。为了探索基于MCM的推理加速器架构的挑战和评估其好处,我们设计、实现并制作了一个Simba原型,它由36个芯片组成,通过MCM中的网状网络连接。25我们特别研究了非均匀网络访问(NUNA)体系结构的含义,该体系结构具有对片上和包上通信的非均匀延迟和带宽,这导致了芯片之间显著的延迟变化。这种延迟可变性导致在执行单个推理层时出现长尾延迟。因此,每一层的总体性能都受到系统中最慢的芯片的限制,从而限制了可伸缩性。为了解决这些挑战,我们提出了三种尾延迟感知的非均匀平铺优化,旨在改善局部性和最小化芯片间通信:(1)非均匀工作分区,以平衡计算延迟和通信延迟;(2)通信感知数据放置,以最小化芯片间流量;(3)跨层流水线,提高资源利用率。

回到顶部

2.背景

包级MCM集成是一种很有前途的替代方案,用于将小的构建块组装成大型系统chiplets。这种系统由多个芯片组成,通过使用硅中间体或有机衬底的包上链接连接在一起,并采用高效的包内信号电路。3.24与大型单片模相比,mcm可以降低(1)设计成本,因为小芯片上的逻辑设计、验证和物理设计都比大芯片更容易;(2)制造成本,因为大型芯片的制造成品率要低得多,这使得它们比小型芯片贵得多。此外,只需调整封装中的芯片数量,就可以创建不同规模的系统,而不需要针对每个细分市场使用不同的芯片带出。mcm最近被应用到通用CPU设计中3.作为在受限的大模具上构建多核cpu的替代方案。它们也是多cpu扩展的活跃研究领域16和multi-GPU系统。1然而,包级线不能提供与片上线相同的通信密度或能量/位。因此,MCM架构师和软件开发人员仍然必须考虑这些系统中存在的非均匀带宽、延迟和能量,以实现高效的应用程序性能。

基于mcm的系统具有异构互连体系结构,因为可用的芯片内带宽预期将显著高于可用的芯片间带宽。此外,向远程芯片发送数据会引起额外的延迟。这种延迟可能包括将数据移动到芯片边缘的芯片上的线延迟,用于跨越时钟域的同步器延迟,高速通信链路中的序列化和反序列化延迟,以及芯片间链路的包上线延迟。因此,MCM中两个元素之间的通信延迟很大程度上取决于它们在包上的空间局部性。

将DNN层映射到基于瓦的体系结构是一个研究得很好的问题。619最先进的DNN平铺通常假设一个扁平的架构,跨处理元素(PEs)具有一致的延迟和带宽,并专注于数据重用,以减少全局带宽需求。这种假设对于小规模的系统是可以接受的,因为通信延迟的可变性很小,而且计算通常可以容忍通信延迟。然而,随着DNN推理性能扩展到更大的系统,执行时间减少,与延迟相关的影响变得更加重要。此外,在mcm等具有异构互连架构的大型系统中,选择DNN平铺时的均匀延迟和带宽假设会降低性能和能源效率。Simba是第一个定量强调将DNN层映射到非均匀的、基于mcm的DNN加速器的挑战的工作,并提出了通信感知平铺策略来解决这一挑战。

回到顶部

3.辛巴体系结构与系统

为了理解使用mcm构建大规模深度学习系统的挑战和机遇,我们设计、实现、制作并描述了Simba,这是第一个基于芯片的深度学习系统。本节首先概述Simba体系结构及其默认的统一平铺策略。然后,我们描述了Simba的硅原型,并在第4节中给出了Simba系统的详细描述。

*3.1.辛巴的架构

6520.我们的设计目标是一个可扩展到数据中心推理的加速器,其中最先进的数据中心加速器提供大约每秒100万亿运算(TOPS)。例如,第一代张量处理单元(TPU)提供92个top15并为推理应用程序而设计。实现这一设计目标的一个简单方法是增加单片芯片中的磁片数量。然而,构建一个包含数百个磁片的扁平网络将导致高的磁片到磁片的通信延迟,正如在两种多核CPU中所检查的那样7和油门10研究。

Simba采用了层次化互连来有效地连接不同的处理元素(PEs)。这种分层互连由一个片上网络(NoC)和一个包上网络(NoP)组成,NoC连接同一个芯片上的pe和一个包上网络(NoP)连接同一个包上的芯片。图1说明了Simba体系结构的三级层次结构:包、芯块和PE。图1 (a)显示了一个由通过网格互连连接的6x6 Simba芯片阵列组成的Simba包。每个辛巴芯片,如图所示图1 (b),包含PE阵列、全局PE、NoP路由器和控制器,所有这些都通过芯片级互连连接。为了实现大规模系统的设计,pe、Global pe和控制器之间的所有通信都被设计为延迟不敏感4并通过NoC/NoP路由器通过互连网络发送。

f1.jpg
图1。从包到处理元素(PE)的Simba体系结构。

辛巴PE。图1 (c)展示了Simba PE的微架构,其中包括分布式权重缓冲区、输入缓冲区、并行矢量MAC单元、累积缓冲区和后处理单元。每个Simba PE类似于一个缩小版的NVDLA,一个最先进的DL加速器产品。22Simba PE的核心是一组并行矢量乘法加(MAC)单元,它优化了效率和灵活性。Simba PE使用重量固定数据流6:权重保留在向量MAC寄存器中,并在迭代中重用,尽管每个周期都会读取新的输入。每个向量MAC沿输入通道维度执行8:1的点积C利用有效的空间缩减。为了提供灵活的平铺选项,Simba PE还支持通过可配置的生产者和消费者进行跨PE减少。如果当前PE是约简链上的最后一个PE,它首先将部分和发送到其本地后处理单元,后者执行ReLU、截断和缩放、池化和偏置加法。最后的输出激活被发送到目标全局PE,用于下一层的计算。

辛巴全球体育。全局PE作为二级存储,用于由PE处理的输入/输出激活数据。为了支持灵活的计算分区,全局PE既可以向一个PE单播数据,也可以向多个PE多播数据,甚至可以跨芯片边界。全局PE有一个多播管理器,负责监督这些生产者-消费者关系。全局PE还可以作为近内存计算的平台。许多dnn的特点是一些计算具有较低的数据重用,如元素相乘/相加或深度卷积。全局PE可以在本地执行此类计算,以减少此类操作的通信开销。

辛巴控制器。每个Simba芯片包含一个RISC-V处理器核心2负责通过使用基于axis的通信协议的内存映射寄存器配置和管理芯片的PE和全局PE状态。配置完所有状态后,RISC-V会触发活动pe和全局pe的执行,并等待这些块的发送完成通过中断通知。跨包的芯片控制处理器的同步是通过内存映射中断实现的。

辛巴互连。为了高效地执行具有不同层维度的不同神经网络,Simba支持跨NoC和NoP的灵活通信模式。NoC和NoP都使用网格拓扑结构和混合虫洞/直通流量控制。具体来说,单播报文使用虫洞流量控制来处理大报文,而组播报文则采用直通方式来避免虫洞死锁。每个Simba PE可以单播到任何本地或远程PE进行跨PE部分和减少,到任何本地或远程全局PE传输输出激活值,并到任何本地或远程芯片控制器完成信号执行。PE不需要发送组播报文,因为它的计算只需要点对点的通信。除了单播通信外,Global PE还可以向本地和远端PE发送组播报文,实现灵活的数据平铺。

*3.2.辛巴硅原型

我们实现、制造并测试了Simba系统的硅原型,如图所示图2,微架构参数列于Simba原始论文中。21我们选择的参数使Simba芯片具有类似于有效边缘系统的面积和功率,如滇瑙5或Eyeriss,6而完整的Simba包可以与数据中心规模的系统(如TPU)相媲美。15表1显示了Simba芯片结构中关键部件的合成区域分解。

t1.jpg
表1。辛巴系统的区域故障。

f2.jpg
图2。辛巴硅原型。

所示图2一个在TSMC 16 nm FinFET工艺中实现了2.5 × 2.4的Simba芯片。25每个辛巴包(图2 b)包含一个6x6的芯片阵列,使用一种用于包内通信的接地参考信令(GRS)技术连接在有机包衬底上。24每个芯片的顶部和底部行包括八个芯片到芯片的GRS收发宏。四个宏被配置为接收器,四个作为发射器。每个收发宏有4个数据通道和一个时钟通道,速度可配置为11 Gbps/引脚到25 Gbps/引脚,消耗0.82-1.75 pJ/位,芯片总峰值带宽为100 GB/s。我们选择GRS作为我们的通信机制,因为与其他MCM互连相比,它提供了3.5倍的单位面积带宽和更低的比特能量。3.

原型芯片是使用全局异步、局部同步(GALS)的时钟方法实现的,8允许单个pe、Global pe、RISC-V处理器和NoP路由器的独立时钟率。Simba原型运行在单芯片配置中,已在实验室中测试在最低电压0.42 V和161 MHz PE频率下正确运行,在峰值利用率卷积微基准上实现0.11 pJ/Op (9.1 TOPS/W)核心功率效率。在1.2 V时,每个芯片组以2 GHz PE频率工作,峰值吞吐量为4个TOPS。36芯片的Simba系统在0.52到1.1 V的电压范围内运行,在0.52 V和484 MHz下实现0.16 pJ/op;在1.1 V时,36芯片系统达到1.8 GHz PE频率和128个TOPS。

*3.3.辛巴基线瓷砖

为了将DNN层映射到基于分层瓦的体系结构上,我们首先使用最先进的DNN瓦策略,该策略在空间上统一划分权重,利用模型并行性。2215520.清单1以循环嵌套形式显示默认平铺。DNN层的每个维度可以在时间上、空间上平铺,或者在系统层次结构的每个级别(包、芯片、PE和向量MAC)上同时平铺。清单1中的循环边界和顺序在Simba中是可配置的,以便用户可以灵活地将计算映射到Simba系统。具体地说,默认数据流沿输入通道(C)和输出通道(K)维度统一划分权重,如parallel_for循环。此外,Simba还可以跨芯块和PEs沿输出激活的高度(P)和宽度(Q)维度统一划分,以支持灵活的平铺。第5节强调了在使用基于mcm的集成将网络映射到大规模、非统一的网络访问体系结构时,这种方法的局限性。

uf1.jpg
清单1。辛巴基线数据流。

我们开发了一个使用Caffe的流程14将DNN推理应用程序映射到Simba系统,该系统主要为数据流确定一个有效的平铺策略,以最佳地利用内存层次结构中的数据重用。为了便于评估不同的映射替代方案,我们还为Simba开发了一个快速的解析能量模型,该模型量化了特定映射的能量成本,类似于之前工作中讨论的方法。619编译过程从映射器它提供了有关可用系统资源的数据(例如pe的数量,Global pe的数量,以及系统中缓冲区的大小)和Caffe规范中给定层的参数。映射器确定哪个PE将运行循环套的每个部分,以及激活和权重存储在哪个缓冲区中。由于这个映射是一个逻辑映射,所以映射器后面跟着一个粘结剂它决定了在Simba拓扑中,环路巢和数据结构放置在哪个物理资源中。我们使用随机搜索算法对映射空间进行采样,并使用能量和性能模型来选择良好的映射和位置。最后,该流为实现由映射器和绑定器创建的执行的每个芯片生成配置二进制文件。

回到顶部

4.辛巴表征

本节详细介绍Simba的性能特性,重点介绍使用统一平铺基线实现的可伸缩性。所有评价结果均使用原型系统进行测量。

*4.1.方法

图3展示了Simba原型系统的性能和功率测量的实验装置。硅原型测试板使用Xilinx FPGA通过PCI-E连接到x86主机上。为了测量Simba原型系统的性能,我们使用运行在RISC-V上的软件来查询内置在RISC-V微控制器中的周期计数器。功率和性能测量在权重加载到每个PE的权重缓冲区和输入加载到全局PE缓冲区之后开始。除非另有说明,这些芯片的工作电压为0.72 V, PE频率为1.03 GHz, GRS带宽为11 Gbps。在实验执行过程中,我们使用板电源上的感应电阻和数字采集模块测量能量。由于芯片支持不同单元(pe、Global pe、RISC-V和NoP路由器)的独立时钟频率,我们可以通过改变这些频率来改变实验的计算带宽比。NoC和NoP路由表对所有芯片间通信使用尺寸顺序的X-Y路由。虽然所有36个Simba芯片都是函数式的,但我们的评估使用32个芯片,因为输入通道(C)和输出通道(K)的数量通常是2的幂,所以用2的幂划分计算更容易。

f3.jpg
图3。Simba原型的台架测量设置。

我们专注于ResNet-50的应用测量,12一个最先进的、有代表性的深度学习网络,并以一个批处理大小评估其运行在Simba系统上的层,因为低延迟推理是数据中心推理的一个非常关键的部署场景。15我们独立地编译和运行每一层,除非我们将多个层映射到Simba的不同物理分区并以流水线的方式执行它们。网络预训练和量化到8位使用TensorRT没有精度损失。我们相信,ResNet-50中的层的多样性提供了足够的宽度,可以覆盖不同卷积网络中的广泛行为。

*4.2.性能/能源的概述

图4总结了所有ResNet-50层的性能和能量测量。每个点表示该层的一个惟一映射,而不同的颜色表示该映射活动的芯片数。延迟被归一化为假设的最佳实现延迟,如果系统的576个pe中的每个都以100%的利用率运行,并且没有通信或同步开销,就可以实现该延迟。Simba提供了大量具有截然不同的性能和能量配置的映射选项,突出了有效地将dnn映射到硬件的策略的重要性。该图还展示了不同层的高度可变的行为。例如,最节能的配置层res3 _branch2b(罪犯)达到几乎一个数量级的效率比那些res3a_branch2a。数据的重用程度是影响效率的重要因素;具有高重用因子的层,例如,3x3的卷积3(罪犯)_branch2b,往往比需要更多数据移动的层更有效地执行计算。最后,尽管增加系统中使用的芯片数量可以提高性能,但它也会增加芯片间通信和同步的能量成本。对于某些层,效率可能会下降近一个数量级,这进一步强调了数据移动对整体效率的影响。为了更好地理解系统级的权衡,本节的其余部分将描述Simba对映射替代方案、层参数、带宽、延迟和弱伸缩的敏感性,并包括与现代gpu的比较。

f4.jpg
图4。测量了Simba样机的性能和能量,并运行ResNet-50。每个点都是映射到系统上的有效工作负载;每个列集群显示相同工作负载的不同映射所获得的不同性能和能量。每个符号形状表示用于映射的不同数量的活动芯片。

*4.3.层的敏感性

图5展示了在不同数量的芯片上运行ResNet-50中三个不同层的性能可伸缩性。尽管Res2 [a - c] _branch2b最初随着芯片数的增加而提高,超过8个芯片后性能的提高就停止了。作为网络的早期层之一,该层中的权重数量很少,不能充分利用Simba的计算吞吐量。当使用32个芯片时,由于pe之间的通信开销超过了有限的并行性,性能下降。相比之下,其表现res2a_branch1当小片数从1增加到8时,Layer会得到提升,但当小片数从8增加到32时,Layer会停止提升。这个层有更多的计算并行性它[a - c] _branch2b,但它仍然不足以完全克服芯片间通信的开销。

f5.jpg
图5。来自ResNet-50的Simba跨不同层的可伸缩性。延迟归一化为具有一个芯片的性能最好的瓷砖的延迟。

res5 [a - c] _branch2bLayer演示了最佳的性能伸缩,观察到多达32个芯片的改进。但是,由于通信开销,超过8个芯片后,性能扩展速度会显著下降。在ResNet-50的53层中,有12层遵循res3a_branch1, 24个紧随其后res5 [a - c] _branch2b,其余17人的行为类似于它[a - c] _branch2b。这些测量表明,一个MCM可以利用的计算并行量因层而异,通信成本会阻碍利用并行的能力,即使是在单个芯片上。

*4.4.NoP带宽敏感

图6显示了当映射到32个芯片时,两个代表性ResNet层的NoP带宽如何影响执行时间。我们根据芯片内计算性能调整了NoP的带宽,以衡量网络带宽的敏感性。为res3 _branch2b(模拟),增加芯片之间的带宽只导致执行时间减少5%,表明该层不受NoP带宽或芯片间通信延迟的约束。然而,对于res3a_branch1,增加的带宽减少了27%的执行时间,表明该层受到了芯片之间通信的瓶颈。由于基于mcm的系统在芯片内部和芯片间的pe之间本质上具有不均匀的网络架构,映射策略必须考虑不同的延迟和带宽参数,以提供良好的性能和效率。

f6.jpg
图6。Simba可扩展性与不同的芯片到芯片的通信带宽。

*4.5.NoP延迟敏感

除了较低的带宽外,由于芯片间的信令开销,NoP比NoC有更高的延迟。为了隔离NoP延迟的影响,我们运行了将层映射到四个芯片的实验,但调整了所选芯片在包中的位置,以调节延迟。图7显示了将最长芯片间延迟从2跳增加到12跳的效果res4a_branch1.该图显示了归一化的执行时间到相邻芯片的配置,芯片的选择显示在每个栏下。当活动的小片之间的距离越来越远时,与相邻的小片相比,总的执行时间增加了2.5倍。对于小型系统来说,通信延迟通常不太明显,但对于像Simba这样基于mcm的大型系统来说,通信延迟在实现良好性能和能源效率方面起着重要作用。

f7.jpg
图7。Simba可伸缩性与不同的芯片到芯片的通信延迟运行再保险+ s4a_branch1使用四个小片(使用相同的平铺)。不同的条表示活动的四个小片的不同选择,如下所示X设在;活动的小片用蓝色突出显示。

*4.6.在gpu上的比较

图8将Simba与NVIDIA的V100和T4 gpu进行了比较。我们运行不同批处理大小的ResNet-50,并与发布的GPU结果进行比较。18由于Simba用于输入激活的包上存储容量有限,我们只在批处理大小为1和2的情况下运行Simba。与gpu不同的是,Simba被设计为具有小批处理大小的低延迟推理,这促使使用分布式和持久权重存储来减少数据移动。由于数学精度、片上存储、DRAM接口和这些体系结构所支持的计算类型的差异,Simba包,如MCM接口,其总硅面积(216)基本上小于T4(525)或V100(815)。

f8.jpg
图8。Simba、V100和T4运行不同批次的ResNet-50的吞吐量和效率。

图8显示了运行ResNet-50的Simba、V100和T4的吞吐量。与V100和T4相比,Simba在批次大小为1时的吞吐量分别提高了1.8倍和1.9倍。图8 b说明了与V100(5.4倍)和T4(2.9倍)相比,Simba相应的能效提升。当使用更大的批处理大小运行ResNet-50时,Simba将按顺序运行每个批处理,而不是像gpu那样利用批处理级并行性。因此,我们预计Simba的吞吐量接近于批处理大小为1的情况下运行的吞吐量。

回到顶部

5.辛巴不均匀的瓷砖

本节介绍了两种新的DNN工作负载平铺技术的细节,它们针对大规模基于mcm的系统所呈现的不均匀延迟和带宽、不均匀工作分配和通信感知数据放置。我们的结果表明,在将DNN工作负载映射到大规模的分级系统时,通信延迟感知平铺的重要性。

*5.1.非均匀划分工作

高效地使用并行系统需要在系统中的组件之间进行适当的负载平衡。如果不能合理地平衡系统上的负载,就会导致更高的延迟和能量,这是由于资源在等待最慢的单元完成,也就是增加了尾延迟。总的执行时间可以细分为两个主要部分:通信延迟和计算延迟。最先进的DNN平铺策略通常将相同数量的工作分配给每个可用资源。23然而,这种方法在大规模系统中是行不通的,特别是当pe在空间上分布且它们之间的通信延迟不同时。

为了解决这一限制,我们提出了一种考虑通信延迟的非统一工作分区策略。我们不是统一地将相同数量的工作分配给每个PE,而是跨PE不统一地分配工作。靠近数据生产者的pe将执行更多的工作以最大化物理数据位置,而远离数据生产者的pe将执行较少的工作以减少尾部延迟效应。图9举例说明使用4芯片系统的非均匀工作划分。在本例中,我们假设输入激活(IA)物理地存储在的全局pe中Chiplet0而且Chiplet2,而权重(W)和工作被划分在所有四个芯片上。在执行过程中,的全局PEChiplet0会把IA的一部分多播到pe吗Chiplet0而且Chiplet1.因为通信延迟来自Chiplet0全球PE到PEChiplet0而且Chiplet1是不同的,Chiplet1会落后。防止通信时间过长Chiplet1通过增加执行的尾部延迟,我们可以调整每个芯片分配的计算量,以一种与它到源的通信距离成反比的方式。在例子中所示图9Chiplet0而且Chiplet2提供更大的工作块(K),而Chiplet1而且Chiplet3获取较小的块(K正确的).此工作计划平均了整个芯片的完成时间,从而提高了整体系统性能。为了简单起见,此示例仅显示与输入激活相关的非均匀分区。可以使用一种类似的技术来减少输出激活到目标芯片的通信延迟C维度。

f9.jpg
图9。通信感知的、不统一的工作划分的说明。顶部的绿色张量代表权重(W),左侧的蓝色张量代表输入激活(IA),底部的红色张量代表输出激活(OA)。在本例中,IA存储在Chiplet0和Chiplet2中。

通信延迟的变化在大型系统中非常明显,比如Simba,它有数百个空间分布的pe。为了动态调整每个PE执行的工作量,我们使用每个PE内的性能计数器来在层的初始执行期间收集准确的延迟和利用率信息。然后,我们根据跨pe的延迟变化调整每个层后续执行的工作分布。

图10说明了使用非均匀工作划分测量的性能改进。对于每一层,我们选择性能最高的均匀瓷砖图5作为基线。然后我们测量不同芯片的执行时间,并识别具有较大尾延迟的层。对于这些层,我们使用非均匀功划分将计算从尾部PEs转移到更接近数据的PEs。根据层的尺寸,与给定层的最佳均匀平铺相比,我们实现了高达15%的性能改进。可实现的性能改进对给定映射中的计算和通信比率高度敏感。例如,当计算或通信显著地支配整个执行延迟时,例如res5a_branch1,逐步调整每个PE执行的工作量,性能改善甚微。但是,当计算和通信延迟更具可比性时(通常需要实现良好的映射),性能改进会更加明显,例如它[c] _branch2c。

f10.jpg
图10。ResNet-50的非均匀工作分区,加速归一化到最佳性能的平铺。

*5.2.Communication-aware数据放置

从多核和多gpu特性中可以观察到,并行系统中的通信延迟对整体系统性能有很大影响。176522然而,在大型MCM系统中,片上缓冲区在空间上分布在芯片之间,通信延迟对数据的物理位置非常敏感。图11说明数据放置如何影响通信距离和延迟。例如,如果Srcchiplet在图11 (a)将数据广播到其他芯片时,数据的到达时间将很大程度上取决于接收芯片到Src.根据每个芯片执行的计算量,通信距离的这种变化可能会极大地限制像Simba这样的分布式、基于瓦的系统中可实现的加速,从而激发了数据放置优化的需求。

f11.jpg
图11。Simba系统上的数据放置(a)评估从Src接收数据的不同芯片的相对延迟。(b)默认输入激活(IA)和输出激活(OA)位置,其中数据从第一个芯片的全局PE依次放置。(c)改进的IA放置在包的中心,使数据可以多播到所有的芯片。(d) OA沿包的外围均匀分布,以减少OA通信延迟。

尽管最优数据放置是NP-hard问题,但我们使用了一个实用的贪婪算法来迭代地确定Simba系统中输入和输出激活数据应该放置的位置。该算法首先执行输入激活数据块的放置。一旦输入激活被放置,同样的贪婪算法将对输出激活的瓷砖执行。因为映射过程的前一个阶段已经确定了数据平铺,所以这个阶段只需要关注数据放置而不需要重新平铺。图11 (b)显示了一种原始数据放置方式,将输入激活顺序分配到最上面一行的芯片上,并将输出激活顺序分配到后面六个芯片上。图11 (c)显示了一个更好的分配给芯片的IAs,选择中间的四个,使聚合的多播跳计数最小化到所有芯片。最后,图11 (d)显示了输出激活在晶片上可发生OA积累的区域的位置。

图12显示了ResNet-50层在优化数据布局后的性能改善。尽管所有的层都使用32个芯片,但其中许多具有不同的通信模式。例如,layerslike它[a - c] _branch2c在8个芯片的组内频繁通信。在这种情况下,最好将这些芯片分组在一起,以减少通信成本。相比之下,层res4a_branch1必须从单个芯片广播到所有32个芯片。在本例中,不是将源芯片顺序地放置在左上角,而是将其放置在包的中心,这会导致5%的性能改进。与最佳基线相比,数据放置优化的性能提高了15%。

f12.jpg
图12。ResNet-50层的数据放置与加速归一化到最好的表现平铺。

回到顶部

6.结论

本文提出了一种基于mcm的可扩展深度学习推理加速器体系结构Simba。Simba是一个异构的基于瓦片的体系结构,具有分层互连。我们开发了一个由36个芯片组成的硅原型系统,可实现高达128个峰值,并具有较高的能源效率。我们使用这个原型来描述基于mcm架构的非均匀网络的开销,观察到负载不平衡和通信延迟导致了明显的尾延迟效应。然后,我们展示了考虑系统的非均匀性如何有助于通过非均匀工作划分、感知通信的数据放置和跨层管道等技术提高性能。与原始映射相比,应用这些优化可以使性能提高16%。

回到顶部

致谢

作者要感谢Frans Sijstermans, Dan Smith, Don Templeton, Guy Peled, Jim Dobbins, Ben Boudaoud, Randall Laperriere, Borhan Moghadam, Sunil Sudhakaran, Zuhair Bokharey, Sankara Rajapandian, James Chen, John Hu,和Vighnesh Iyer对封装,PCB,信号完整性,制造和原型的支持。这项研究部分由美国政府DARPA CRAFT项目资助。本文件所载的观点和结论仅为作者个人观点,不应被解释为代表美国政府明示或暗示的官方政策。发行声明“A”(已批准公开发行,不限发行)。

回到顶部

参考文献

1.阿伦库尔纳尔,博洛丁,E,赵,B,米里奇,U,易卜拉希米,E,维拉,O,贾利尔,A,吴,c - j。MCM-GPU:用于持续性能可扩展性的多芯片模块gpu。在计算机架构国际研讨会论文集(ISCA)(多伦多,ON,加拿大,2017),计算机械协会,纽约,纽约,美国。

2.Asanovic, K., Avizienis, R., Bachrach, J., Beamer, S., Biancolin, D., Celio, C., Cook, H., Dabbelt, D., Hauser, J., Izraelevitz, A., Karandikar, S., Keller, B., Kim, D., Koenig, J., Lee, Y., Love, E., Maas。火箭芯片发生器。2016年,加州大学伯克利分校EECS系技术报告。

3.Beck, N., White, S., Paraschou, M., Naffziger, S. Zeppelin:多芯片架构的SoC。在国际固态电路会议论文集(2018), IEEE,旧金山,CA, USA。

4.Carloni, l.p., McMillan, k.l., Saldanha, A., Sangiovanni-Vincentelli, A.L.根据构造修正延迟不敏感设计的方法。在设计自动化会议(1999), IEEE,圣何塞,CA, USA。

5.陈涛,杜志,孙宁,王俊,吴晨,陈勇,Temam, O.电脑:一种用于无处不在机器学习的小容量高通量加速器。在编程语言和操作系统体系结构支持国际会议论文集(盐湖城,犹他州,美国,2014),计算机械协会,纽约,纽约,美国。

6.陈,中州。,Emer, J., Sze, V. Eyeriss: A spatial architecture for energy-efficient dataflow for convolutional neural networks. In计算机架构国际研讨会论文集(ISCA)(2016), IEEE,韩国首尔。

7.Das, R., Eachempati, S., Mishra, a.k., Narayanan, V., Das, C.R.用于下一代cmp的层次化片上互连的设计和评估。在高性能计算机体系结构国际研讨会论文集(HPCA)(2009), IEEE,罗利,美国。

8.Fojtik, M., Keller, B., Klinefelter, A., Pinckney, N., Tell, s.g., Zimmer, B., Raja, T., Zhou, K., Dally, W.J, Khailany, B.在16nm FinFET中具有合理自适应时钟的细粒度GALS SoC。在异步电路与系统国际研讨会(2019), IEEE,广崎,日本。

9.Fowers, J., Ovtcharov, K., papamicmichael, M., Massengill, T., Liu, M., Lo, D.,阿尔克莱,S., Haselman, M., Adams, L., Ghandi, M., Heil, S., Patel, P., Sapek, A., Weisz, G., Woods, L., Lanka, S., Reinhardt, S., Caulfield, A., Chung, E., Burger, D.用于实时AI的可配置云级DNN处理器。在计算机架构国际研讨会论文集(ISCA)(2018), IEEE,美国加州洛杉矶。

10.高明,杨晓霞,濮杰,霍洛维茨,M, Kozyrakis, C. Tangram:可伸缩神经网络加速器的优化粗粒度数据流。在编程语言和操作系统体系结构支持国际会议论文集(2019),计算机械协会,美国纽约。

11.Greenhill, Ho, R., Lewis, D., Schmit, H., Chan, K.H., Tong, A., Atsatt, S., How, D., McElheny, P., Duwel, K., Schulz, J., Faulkner, D., Iyer, G., Chen, G., Phoon, H.K, Lim, h.w., Koay, w - y。A14nm 1GHz FPGA, 2.5D收发器集成。在国际固态电路会议论文集(2017), IEEE,旧金山,CA, USA。

12.何凯,张晓霞,任少华,孙杰。基于深度残差学习的图像识别。在计算机视觉与模式识别会议论文集(2016), IEEE, NV拉斯维加斯,美国。

13.Iyer, S.S.为性能和扩展性提供异构集成。《IEEE元件、包装与制造技术汇刊》IEEE(2016)。

14.Jia, Y., Shelhamer E., Donahue, J., Karayev, S., Long, J., Girshick, R.B., Guadarrama, S., Darrell, T. Caffe:用于快速特征嵌入的卷积架构。在二十二届会议的会议记录ndACM国际多媒体会议(2014),计算机协会,纽约,纽约,美国。

15.朱皮,n.p.,杨,C.,帕蒂尔,N.,帕特森,D.,阿格拉瓦尔,G.,巴杰瓦,R.,贝茨,S.,巴蒂亚,S.,博登,N.,博彻斯,A.,博伊尔,R.,卢克·坎丁。曹国伟,P C克拉克,C,柯瑞尔,J。,戴利,M,道,M,迪恩,J。,Gelb, B。,Ghaemmaghami,电视,Gottipati, R, Gulland, W, Hagmann, R, Ho镉比,Hogberg, D,胡,J。,Hundt, R,伤害,D, Ibarz, J。,Jaffey, A。,Jaworski律师事务所,A。,卡普兰,A。,Khaitan H, Killebrew, D,科赫,A。,Kumar N,花边,年代,Laudon, J。,法律,J。,,D, Leary, C,刘,Z,鲁克K, Lundin。,MacKean, G。,马焦雷。,马赫尼,M,米勒,K, R,纳Narayanaswami, R,倪,R, Nix, K, Norrie, T, Omernick, M。Penukonda, N, Phelps, A., Ross, J., Ross, M., Salek, A., Samadiani, E., Severn, C., Sizikov, G., Snelham, M., Souter, J., Steinberg, D., Swing, A., Tan, M., Thorson, G., Tian, B., Toma, H., Tuttle, E., Vasudevan, V., Walter, R., Wang, W., Wilcox, E., Yoon, D.H.张量处理单元的数据中心性能分析。在计算机架构国际研讨会论文集(ISCA)(多伦多,ON,加拿大,2017),计算机械协会,纽约,纽约美国。

16.Loh, g.h., Jerger, n.e., Kannan, A., Eckert, Y.多芯片、硅中间层系统的互连存储器挑战。在存储器系统(MEMSYS)国际研讨会论文集(华盛顿特区,美国,2015),计算机械协会,纽约,纽约,美国。

17.Mirhoseini, A., Pham, H., Le, Q.V, Steiner B., Larsen, R., Zhou, Y., Kumar, N., Norouzi, M., Bengio, S., Dean, J.基于强化学习的设备放置优化。在国际机器学习会议论文集(2017), JMLR.org,悉尼,新南威尔士,澳大利亚。

18.NVIDIA。NVIDIA特斯拉深度学习产品性能。https://developer.nvidia.com/deep-learning-performance-training-inference, 2019年。

19.彭振华、邵玉生、陈玉华、陈玉华、陈玉华、邵玉生、陈玉华。,Ying, V.A., Mukkara, A., Venkatesan, R., Khailany, B., Keckler, S.W., Emer, J. Timeloop: A systematic approach to DNN accelerator evaluation. In系统与软件性能分析国际研讨会论文集(2019), IEEE,麦迪逊,威斯康星州,美国。

20.A. Parashar, Rhu, M., Mukkara, A., Puglielli, Venkatesan, R., Khailany, B., Emer, J., Keckler, s.w., Dally, W.J. SCNN:压缩稀疏卷积神经网络的加速器。在计算机架构国际研讨会论文集(ISCA)(多伦多,ON,加拿大,2017),计算机械协会,纽约,纽约,美国。

21.Shao, Y.S, Clemons, J., Venkatesan, R., Zimmer, B., Fojtik, M., Jiang, N., Keller, B., Klinefelter, A., Pinckney, N., Raina, P., Tell, s.g., Zhang, Y., Dally, W.J., Emer, j.s., Gray, C.T, Keckler, s.w., Khailany, B. Simba:基于多芯片模块架构的分级深度学习推理。在微建筑国际研讨会论文集(哥伦布,OH, USA, 2019),计算机协会,纽约,纽约,美国。

22.在热片(2018)。

23.Venkataramani, S., Ranjan, A., Banerjee, S., Das, D., Avancha, S., Jagannathan, A., Durg, A., Nagaraj, D., Kaul, B., Dubey, P., Raghunathan, A. ScaleDeep:一种用于学习和评估深度网络的可扩展计算架构。在计算机架构国际研讨会论文集(ISCA)(多伦多,ON,加拿大,2017),计算机械协会,纽约,纽约,美国。

24.Wilson, j.m., Turner, W.J., Poulton, j.w., Zimmer, B., Chen, X., Kudva, s.s., Song, S., Tell, s.g., Nedovic, N., Zhao, W., Sudhakaran, S.R., Gray, C.T, Dally, W.J. 1.17pJ/ B 25Gb/ S /pin地参考单端串行链路,用于16nm CMOS的包上和包外通信,使用工艺和温度自适应电压调整器。在国际固态电路会议论文集(2018), IEEE,旧金山,CA, USA。

25.Zimmer, B., Venkatesan, R., Shao, y.s., Clemons, J., Fojtik, M., Jiang, N., Keller, B., Klinefelter, A., Pinckney, N., Raina, P., Tell, s.g., Zhang, Y., Dally, w.j., Emer j.s., Gray, C.T, Keckler, s.w., Khailany, B. A 0.11 pJ/Op, 0.32-128 TOPS,可扩展多芯片模块深度神经网络加速器,16纳米地面参考信号。在VLSI技术与电路(VLSI)国际研讨会论文集(2019), IEEE,日本京都,日本。

回到顶部

作者

Yakun索菲亚邵ysshao@berkeley.edu),加州大学伯克利分校,加利福尼亚州,美国。

杰森Cemonsjclemons@nvidia.com), NVIDIA,奥斯汀,得克萨斯州,美国。

文卡特桑Rangharajanrangharajanv@nvidia.com),英伟达,圣克拉拉,加利福尼亚州,美国。

布莱恩•齐默bzimmer@nvidia.com),英伟达,圣克拉拉,加利福尼亚州,美国。

马修Fojtikmfojtik@nvidia.com), NVIDIA,达勒姆,北卡罗来纳州,美国。

南姜tedj@nvidia.com), NVIDIA, Westford, MA, USA。

本·凯勒benk@nvidia.com),英伟达,圣克拉拉,加利福尼亚州,美国。

艾丽西亚Klinefelteraklinefelter@nvidia.com), NVIDIA,达勒姆,北卡罗来纳州,美国。

纳撒尼尔·平克尼npinckney@nvidia.com), NVIDIA,奥斯汀,得克萨斯州,美国。

卡莱praina@stanford.edu),斯坦福大学,斯坦福,加州,美国。

斯蒂芬·告诉stell@nvidia.com), NVIDIA,达勒姆,北卡罗来纳州,美国。

延庆张yanqingz@nvidia.com),英伟达,圣克拉拉,加利福尼亚州,美国。

William j .玩弄bdally@nvidia.com), NVIDIA, Incline Village, NV,美国/斯坦福大学,斯坦福,CA,美国。

乔尔·埃米尔jemer@nvidia.com),麻省理工学院,剑桥,马萨诸塞州/NVIDIA,韦斯特福德,得克萨斯州,美国。

汤姆灰色tgray@nvidia.com), NVIDIA,达勒姆,北卡罗来纳州,美国。

Brucek Khailanybkhailany@nvidia.com), NVIDIA,奥斯汀,得克萨斯州,美国。

Stephen w .喋喋不休地说skeckler@nvidia.com), NVIDIA,奥斯汀,得克萨斯州,美国。

回到顶部

脚注

*在NVIDIA完成的工作

本文的原始版本出现在52人会议记录ndIEEE/ACM年度微架构国际研讨会(2019年10月,美国哥伦布市)。


cacm_ccby.gif本作品采用创作共用署名国际4.0许可。

数字图书馆是由计算机协会出版的。版权所有©2021 ACM, Inc.


没有发现记录

Baidu
map