用于加速器中多个并行数据路径通道的存储体式存储器架构制造技术

技术编号:37683772 阅读:21 留言:0更新日期:2023-05-28 09:36
本公开涉及用于将存储体式存储器结构与加速器一起使用的设备和方法。这些设备和方法可以对加速器的数据路径和存储器中的数据流进行分段和隔离。这些设备和方法可以为每个数据通道提供其自己的寄存器存储器库。这些设备和方法可以使用存储器地址解码器来将局部变量放置在适当的存储器库中。量放置在适当的存储器库中。量放置在适当的存储器库中。

【技术实现步骤摘要】
【国外来华专利技术】用于加速器中多个并行数据路径通道的存储体式存储器架构

技术介绍

[0001]扩展深度神经网络(DNN)加速器时,会出现常见的存储器带宽问题。缩放加速器的计算吞吐量的一种方法是通过缩放独立数据路径的数目来增加数据并行度,每个独立数据路径对数据的不同部分(例如,矩阵中的不同行或不同的输入向量)并行操作。然而,如果这些数据路径中的每一个都必须从单个逻辑统一的存储器结构访问数据,那么支持对该结构的越来越多的独立访问的复杂度变得过高地昂贵。

技术实现思路

[0002]提供本
技术实现思路
是为了以简化形式介绍一组概念,这些概念将在下面的具体实施方式中进一步描述。本
技术实现思路
不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用作确定所要求保护的主题的范围的辅助。
[0003]一个示例实现涉及一种与加速器一起使用的存储体式存储器(banked memory)结构。该存储体式存储器结构可以包括多个本地存储器,其中多个本地存储器包括存储器解码器。该存储体式存储器结构可以包括多个计算单元;以及多个通道,其中多个通道中的每个通道与多个本地存储器中的单独的本地存储器和多个计算单元中的一个计算单元配对;并且其中存储器解码器接收用于加速器的数据,其中数据包括多个向量,并且多个向量中的每个向量由存储器解码器分配给多个通道中的一个通道,用于由与通道相关联的计算单元进行处理。
[0004]另一示例实现涉及一种由加速器的存储器解码器执行的方法。该方法可以包括:接收与用于加速器一起使用的数据。该方法可以包括:标识针对数据的多个向量。该方法可以包括:标识加速器中的多个本地存储器。该方法可以包括:针对多个向量中的每个向量:选择多个本地存储器中的单独的本地存储器以用于与向量一起使用;将单独的本地存储器的地址映射到向量;以及使用映射以将针对向量的数据发送到与单独的本地存储器相关联的数据通道。
[0005]另一示例实现涉及一种设备。该设备可以包括:一个或多个处理器;与一个或多个处理器进行电子通信的存储器;以及存储在存储器中的指令,指令可由一个或多个处理器执行以:接收与加速器一起使用的数据;标识数据的多个向量;标识加速器中的多个本地存储器;针对多个向量中的每个向量:选择多个本地存储器中的单独的本地存储器以与向量一起使用;将单独的本地存储器的地址映射到向量;以及使用映射将向量的数据发送到与单独的本地存储器相关联的数据通道。
附图说明
[0006]为了描述可以获得本公开的上述特征和其他特征的方式,将通过参考附图中所示的其具体实现来进行更具体的描述。为了更好地理解,在各个附图中用相同的附图标记来表示相同的元件。虽然一些附图可能是概念的示意性表示或夸张表示,但至少一些附图可能是按比例绘制的。了解到附图描绘了一些示例实现,将通过使用附图来更具体和详细地
描述和解释这些实现,其中:
[0007]图1示出了针对加速器的现有架构。
[0008]图2示出了用于与加速器一起使用的现有多端口向量寄存器文件(vector register file,VRF)。
[0009]图3示出了用于与加速器一起使用的现有多端口VRF的硬件开销。
[0010]图4示出了根据本公开的一些实现的针对加速器的示例存储体式存储器架构。
[0011]图5示出了根据本公开的一些实现的针对加速器的示例架构。
[0012]图6示出了根据本公开的一些实现的用于与加速器一起使用的示例多存储体VRF。
[0013]图7示出了根据本公开的一些实现的用于与加速器一起使用的示例多存储体VRF。
[0014]图8A

图8D示出了根据本公开的一些实现的示例地址生成和向量到存储器的映射的视觉表示。
[0015]图9示出了根据本公开的一些实现的用于将参考地址映射到独立存储器库(memory bank)的示例方法。
[0016]图10示出了根据一些实现的用于与加速器一起使用的包括经由数据中心网络互连的节点的系统的框图。
[0017]图11示出了根据一些实现的用于与加速器一起使用的包括分布式节点的系统的框图。
[0018]图12示出了根据一些实现的用于与加速器一起使用的硬件节点的框图。
具体实施方式
[0019]本公开总体上涉及加速器。扩展深度神经网络(DNN)加速器时,会出现常见的存储器带宽问题。缩放加速器的计算吞吐量的一种方法是通过缩放独立数据路径(也被称为通道)的数目来增加数据并行度,每个独立数据路径对数据的不同部分(例如,矩阵中的不同行或不同的输入向量)并行操作。然而,如果这些数据路径中的每一个都必须从单个逻辑统一的存储器结构访问数据,那么支持对该结构的越来越多的独立访问的复杂度变得过高地昂贵。
[0020]图1示出了用于DNN加速器的现有架构100,其包括连接到单个多端口向量寄存器文件104(例如,MVM_IVRF)的矩阵向量乘法器102数据路径(例如,MVM)。当MVM数据路径增长到具有更高的峰值吞吐量时,例如在现场可编程门阵列(FPGA)设备中,架构100达到存储器带宽限制。那么,如果将数据路径添加到现有加速器以增加吞吐量,则增加数据路径所需的资源量可能会因添加数据路径而平方地增长。因此,现有的DNN加速器在尝试扩展现有架构的硬件时存在可扩展性问题。
[0021]图2示出了用于与DNN加速器一起使用的现有多端口VRF 200。示出了用于与多端口VRF 200一起使用的三个通道202、204、206。每个通道202、204、206具有单独的数据路径。此外,每个通道202、204、206具有单独的向量208、210、212,其中数据进入每个通道202、204、206。例如,数据可能需要被写入存储器214或从存储器214被读取。因此,通道202、204、206中的每一个通道可以从来自该存储器214的数据而被填充。多端口VRF 200可以允许通道202、204、206中的每一个通道访问所有存储器214空间。随着通道数目的增加,支持对存储空间的独立访问变得更加复杂。
[0022]图3示出了用于与DNN加速器一起使用的现有多端口VRF 300的硬件开销。多端口VRF 300可以具有复用(multiplexing)302和/或解复用(demultiplexing)306开销,如图所示。例如,多端口VRF 300可以平方地增长硬件资源使用,因为任何数据通道都需要访问一个共享寄存器文件中的任何字(word)。
[0023]因此,图1

图3所示的先前解决方案在面积和功率方面通常非常昂贵,并且限制了解决方案的可扩展性。
[0024]本文描述的设备和方法可以通过对数据路径和存储器中的数据流进行分段和隔离来增加加速器的有效吞吐量。本文描述的设备和方法为每个数据通道提供它自己的寄存器存储器库,从而确保新添加的数据通道不仅增加数据路径吞吐量,而且还增加存储器带宽,以防止存储器带宽成为加速器性能的瓶颈。本公开包括若干实际应用,其提供与改进加速器中的存储器相关联的益处和/本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于与加速器一起使用的存储体式存储器结构,包括:多个本地存储器,其中所述多个本地存储器包括存储器解码器;多个计算单元;以及多个通道,其中所述多个通道中的每个通道与所述多个本地存储器中的单独的本地存储器和所述多个计算单元中的一个计算单元配对,其中所述存储器解码器接收针对所述加速器的数据,其中所述数据包括多个向量,并且所述多个向量中的每个向量由所述存储器解码器分配给所述多个通道中的一个通道,以用于由与所述通道相关联的所述计算单元进行处理。2.根据权利要求1所述的存储体式存储器结构,其中每个计算单元被配置为处理被提供给该计算单元的所述数据而不访问来自其他通道的数据或与所述其他通道共享所述数据。3.根据权利要求1所述的存储体式存储器结构,其中每个计算单元被配置为将所述数据写入与所述通道相关联的所述单独的本地存储器,并且从与所述通道相关联的所述单独的本地存储器读取所述数据,并且其中所述存储器解码器被配置为在由所述计算单元进行所述处理之后将所述数据发送回以下一项或多项:动态随机存取存储器(DRAM)、所述本地存储器中的任何向量寄存器文件(VRF)、或网络。4.根据权利要求1所述的存储体式存储器结构,其中所述存储器解码器被配置为使用存储器地址策略,以通过迭代通过所述多个向量中的每个向量来将所述多个向量中的每个向量映射到所述单独的本地存储器的存储器地址,并且在每次迭代中,所述存储器解码器顺序地将所述多个向量中的每个向量映射到所述多个本地存储器中的下一单独的本地存储器。5.根据权利要求1所述的存储体式存储器结构,其中所述多个计算单元中的每个计算单元被配置为在被分配给每个计算单元的所述数据上并行操作。6.根据权利要求1所述的存储体式存储器结构,其中所述单独的本地存储器包括向量寄存器文件(VRF),并且每个通道包括矩阵

向量乘法器(MVM)。7.根据权利要求1所述的存储体式存储器结构,其中所述加速器是深度神经网络(DNN)加速器。8.一种由加速器的存储器解码器执行的方法,包括:接收用于与...

【专利技术属性】
技术研发人员:S
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1