具有高带宽存储器接口的计算硬件的制作方法

文档序号:9756865阅读:315来源:国知局
具有高带宽存储器接口的计算硬件的制作方法
【专利说明】
【背景技术】
[0001]—些计算系统包括专用于以非常快速的方式执行特定计算以便于提高计算系统的整体处理速度和效率的硬件。例如,可以在计算系统中采用计算设备来加速深度神经网络模型的训练和评价(例如机器学习)。这样的机器学习可以适用于图像识别、语音识别、大数因子分解、网页排序、以及自然语言处理和文本搜索、以及其他的应用。在一个示例中,计算设备可以在硬件中实现为定制的集成电路(或“芯片”),例如,现场可编程门阵列(FPGA)。更特别地,在一些应用中,计算设备可以被配置为连续地访问存储在可以与计算设备物理上不同的片外存储设备中的数据流来执行这样的计算。为了以有效的方式来操作,可以充分利用片外存储设备与计算设备之间的可用带宽来对数据进行流式传送。此外,来自片外存储设备的流单元可以在并行处理单元中与来自片上存储设备的驻留元素相匹配以并行地执行多个计算。
[0002]在一个示例方式中,为了确保任何驻留元素可以用于与用于给定计算的流元素相匹配,所有的驻留元素可以在片上存储设备中被复制多次。例如,针对每个并行处理单元,计算设备可以包括用于存储所有驻留元素的实例的缓冲器。这样的方案可以适用于低带宽接口。然而,随着带宽能力的提高,简单地对这种方式进行缩放可能会通过消耗本来可以在应用逻辑的其他部分中利用的计算设备的资源而限制计算设备的操作。

【发明内容】

[0003]提供了与执行多个计算有关的各种实施例。在一个实施例中,计算系统包括片外存储设备,被配置为存储多个流元素和相关联的标签;以及计算设备,用于与片外存储设备通信。计算设备包括:片上存储设备,被配置为存储多个可独立寻址的驻留元素;以及多个并行处理单元。每个并行处理单元可以被配置为接收来自片外存储设备的一个或多个流元素和相关联的标签,以及从被并行地驱逐出片上存储设备的驻留元素的子集中选择一个或多个驻留元素。所选择的驻留元素可以由相关联的标签指示为与流元素相匹配。每个并行处理单元可以被配置为使用一个或多个流元素以及从子集选择的一个或多个驻留元素来执行一个或多个计算。
[0004]提供本概述以便于以简化的形式引入一系列概念,这些概念将在以下的【具体实施方式】中进一步描述。本概述既不是要标识出要求保护的主题的关键特征或必要特征,也不是要用于限制要求保护的主题的范围。此外,要求保护的主题不限于解决在本公开的任何部分中提到的任何或全部缺点的实现。
【附图说明】
[0005]图1示意性地示出了根据本公开的实施例的计算系统。
[0006]图2示意性地示出了图1的计算系统的计算设备。
[0007]图3示意性地示出了图2的计算设备的流处理单元。
[0008]图4示意性地示出了根据图3的流处理单元的驻留元素选择器阵列单元。
[0009]图5示出了根据本公开的实施例的用于利用计算设备的多个并行处理单元来执行计算的方法。
【具体实施方式】
[0010]本说明书涉及专用于在计算系统中执行一个或多个特定计算的硬件设备。该计算设备可以具有与片外存储设备的高带宽通信接口以对数据元素进行流式传送。计算设备可以被配置为将来自片外存储设备的这些流元素与从片上存储设备选择的合适的驻留元素相匹配以并行地执行多个计算。例如,计算设备可以被连续地调用以执行计算作为用于训练和评价深度神经网络(例如,机器学习)的过程的一部分。
[0011]更特别地,片上存储设备可以包括存储所有驻留元素的驻留元素数据缓冲器。驻留元素数据缓冲器可以被分组,以使得多个驻留元素可以被独立地寻址。换言之,驻留元素数据缓冲器可以使得每个驻留元素或驻留元素的子集能够由在同一时钟周期中执行不同计算的不同的并行处理单元独立地选择。此外,计算设备可以包括用于在存储在驻留元素数据缓冲器中的所有驻留元素中选择与用于被并行处理的计算的流元素相匹配的合适的驻留元素的逻辑。例如,合适的驻留元素可以是基于与流元素相关联的标签而被选择的。特别地,每个并行处理单元可以包括驻留元素选择器阵列,并且阵列中的每个选择器单元可以请求驻留元素。来自所有并行处理单元中的所有选择器单元的请求可以由优先级选择器聚合,从而形成这些被请求元素的子集。该子集可以负责对由不同的选择器单元对同一驻留元素的请求进行重叠。驻留元素的子集可以被驱逐出驻留元素数据缓冲器。由于子集中的驻留元素的一些或全部已经通过一个以上的选择器单元进行请求,因此那些驻留元素可以在它们被驱逐并且广播(或多播)到所有的并行处理单元时由多个并行处理单元适时地挑选出。换言之,多个请求可以被驱逐出驻留元素数据缓冲器的单个驻留元素或单个的驻留元素的集合实现。此外,为了避免在同一时钟周期内由多个并行处理单元对特定驻留元素的竞争,计算设备可以被配置为从驻留元素数据缓冲器中适时地预取驻留元素并且在竞争的时钟周期之前将它们缓存。
[0012]通过采用具有可独立寻址的驻留元素的缓冲器以及用于适时地选择合适的驻留元素以用于不同的计算的逻辑,可以使得所选择的驻留元素能够用于并行处理,而无需针对每个并行处理单元复制所有的驻留元素。
[0013]因此,计算设备可以并行地处理多个计算,同时相对于在片上存储设备中针对每个并行处理单元复制所有驻留元素的方式,减少了片上资源的使用。这样的配置可以提高操作的效率,以充分利用计算设备与片外存储设备之间的高带宽通信能力。此外,效率的提高可以允许计算设备在稀疏矩阵乘法或其他的稀疏矩阵操作的高性能使用中被采用,例如,在所述计算设备可以被连续地调用以快速地执行计算的实时机器学习应用中执行的那些。这样的机器学习可以适用于图像识别、语音识别、网页排名、以及自然语言处理和文本搜索。在一个示例中,计算设备可以被用于训练和评价深度神经网络。在另一个示例中,计算设备可以被用于对大数进行因子分解,以及其他的应用中。
[0014]图1示意性地示出了计算系统100的实施例。计算系统100可以采取一个或多个个人计算机、服务器计算机、平板计算机、家庭娱乐计算机、网络计算设备、游戏设备、移动计算设备(例如平板)、移动通信设备(例如智能电话)、和/或其他计算设备的形式。计算系统100可以包括经由通信接口 108与大容量存储设备104以及片外存储设备106进行通信的处理器102。
[0015]处理器102可以包括一个或多个处理器核心以及在其上执行的指令,所述指令可以被配置用于顺序、并行、和/或分布式的处理。处理器的各个部件可以可选地分布在两个或更多的单独设备上,两个或更多的单独设备可以位于远程和/或被配置用于协同处理。处理器的方面可以由在云计算配置中配置的可远程访问的网络化计算设备进行虚拟化和执行。
[0016]处理器102可以包括被配置为执行指令的一个或多个物理设备。例如,处理器可以被配置为执行指令,所述指令是一个或多个应用、程序、例程、库、对象、部件、数据结构、或其他逻辑构造的一部分。可以实现这样的指令以执行任务、实现数据类型、变换一个或多个部件的状态、实现技术效果、或者以其他方式达到期望的结果。
[0017]大容量存储设备104可以包括被配置为保存可以由处理器102执行的指令的一个或多个物理设备。当这样的指令被实现时,大容量存储设备104的状态可以被变换-例如,用于保存不同的数据。大容量存储设备104可以包括可移动和/或内置设备。大容量存储设备104可以包括光学存储器、半导体存储器、和/或磁存储器等。大容量存储设备104可以包括易失性、非易失性、动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址、文件可寻址、和/或内容可寻址设备。
[0018]存储在大容量存储设备104中的指令可以由处理器102使用片外存储设备106的部分来执行。片外存储设备106可以包括一个或多个物理设备,所述一个或多个物理设备被配置为保存用于实施指令的执行的数据,并且在可适用时存储结果。例如,片外存储设备可以包括一个或多个易失性存储器设备
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1