具有高带宽存储器接口的计算硬件制造技术

技术编号:14548531 阅读:151 留言:0更新日期:2017-02-04 20:41
提供了涉及执行多个计算的各种实施例。在一个实施例中,计算系统包括片外存储设备,其被配置为存储多个流元素和相关联的标签;以及计算设备。计算设备包括片上存储设备,其被配置为存储多个可独立寻址的驻留元素;以及多个并行处理单元。每个并行处理单元可以被配置为从片外存储设备接收一个或多个流元素和相关联的标签,以及从被并行地驱逐出片上存储设备的驻留元素子集中选择一个或多个驻留元素。所选择的驻留元素可以由相关联的标签指示为与流元素相匹配。每个并行处理单元可以被配置为使用一个或多个流元素以及一个或多个选定的驻留元素来执行一个或多个计算。

【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
一些计算系统包括专用于以非常快速的方式执行特定计算以便于提高计算系统的整体处理速度和效率的硬件。例如,可以在计算系统中采用计算设备来加速深度神经网络模型的训练和评价(例如机器学习)。这样的机器学习可以适用于图像识别、语音识别、大数因子分解、网页排序、以及自然语言处理和文本搜索、以及其他的应用。在一个示例中,计算设备可以在硬件中实现为定制的集成电路(或“芯片”),例如,现场可编程门阵列(FPGA)。更特别地,在一些应用中,计算设备可以被配置为连续地访问存储在可以与计算设备物理上不同的片外存储设备中的数据流来执行这样的计算。为了以有效的方式来操作,可以充分利用片外存储设备与计算设备之间的可用带宽来对数据进行流式传送。此外,来自片外存储设备的流单元可以在并行处理单元中与来自片上存储设备的驻留元素相匹配以并行地执行多个计算。在一个示例方式中,为了确保任何驻留元素可以用于与用于给定计算的流元素相匹配,所有的驻留元素可以在片上存储设备中被复制多次。例如,针对每个并行处理单元,计算设备可以包括用于存储所有驻留元素的实例的缓冲器。这样的方案可以适用于低带宽接口。然而,随着带宽能力的提高,简单地对这种方式进行缩放可能会通过消耗本来可以在应用逻辑的其他部分中利用的计算设备的资源而限制计算设备的操作。
技术实现思路
提供了与执行多个计算有关的各种实施例。在一个实施例中,计算系统包括片外存储设备,被配置为存储多个流元素和相关联的标签;以及计算设备,用于与片外存储设备通信。计算设备包括:片上存储设备,被配置为存储多个可独立寻址的驻留元素;以及多个并行处理单元。每个并行处理单元可以被配置为接收来自片外存储设备的一个或多个流元素和相关联的标签,以及从被并行地驱逐出片上存储设备的驻留元素的子集中选择一个或多个驻留元素。所选择的驻留元素可以由相关联的标签指示为与流元素相匹配。每个并行处理单元可以被配置为使用一个或多个流元素以及从子集选择的一个或多个驻留元素来执行一个或多个计算。提供本概述以便于以简化的形式引入一系列概念,这些概念将在以下的具体实施方式中进一步描述。本概述既不是要标识出要求保护的主题的关键特征或必要特征,也不是要用于限制要求保护的主题的范围。此外,要求保护的主题不限于解决在本公开的任何部分中提到的任何或全部缺点的实现。附图说明图1示意性地示出了根据本公开的实施例的计算系统。图2示意性地示出了图1的计算系统的计算设备。图3示意性地示出了图2的计算设备的流处理单元。图4示意性地示出了根据图3的流处理单元的驻留元素选择器阵列单元。图5示出了根据本公开的实施例的用于利用计算设备的多个并行处理单元来执行计算的方法。具体实施方式本说明书涉及专用于在计算系统中执行一个或多个特定计算的硬件设备。该计算设备可以具有与片外存储设备的高带宽通信接口以对数据元素进行流式传送。计算设备可以被配置为将来自片外存储设备的这些流元素与从片上存储设备选择的合适的驻留元素相匹配以并行地执行多个计算。例如,计算设备可以被连续地调用以执行计算作为用于训练和评价深度神经网络(例如,机器学习)的过程的一部分。更特别地,片上存储设备可以包括存储所有驻留元素的驻留元素数据缓冲器。驻留元素数据缓冲器可以被分组,以使得多个驻留元素可以被独立地寻址。换言之,驻留元素数据缓冲器可以使得每个驻留元素或驻留元素的子集能够由在同一时钟周期中执行不同计算的不同的并行处理单元独立地选择。此外,计算设备可以包括用于在存储在驻留元素数据缓冲器中的所有驻留元素中选择与用于被并行处理的计算的流元素相匹配的合适的驻留元素的逻辑。例如,合适的驻留元素可以是基于与流元素相关联的标签而被选择的。特别地,每个并行处理单元可以包括驻留元素选择器阵列,并且阵列中的每个选择器单元可以请求驻留元素。来自所有并行处理单元中的所有选择器单元的请求可以由优先级选择器聚合,从而形成这些被请求元素的子集。该子集可以负责对由不同的选择器单元对同一驻留元素的请求进行重叠。驻留元素的子集可以被驱逐出驻留元素数据缓冲器。由于子集中的驻留元素的一些或全部已经通过一个以上的选择器单元进行请求,因此那些驻留元素可以在它们被驱逐并且广播(或多播)到所有的并行处理单元时由多个并行处理单元适时地挑选出。换言之,多个请求可以被驱逐出驻留元素数据缓冲器的单个驻留元素或单个的驻留元素的集合实现。此外,为了避免在同一时钟周期内由多个并行处理单元对特定驻留元素的竞争,计算设备可以被配置为从驻留元素数据缓冲器中适时地预取驻留元素并且在竞争的时钟周期之前将它们缓存。通过采用具有可独立寻址的驻留元素的缓冲器以及用于适时地选择合适的驻留元素以用于不同的计算的逻辑,可以使得所选择的驻留元素能够用于并行处理,而无需针对每个并行处理单元复制所有的驻留元素。因此,计算设备可以并行地处理多个计算,同时相对于在片上存储设备中针对每个并行处理单元复制所有驻留元素的方式,减少了片上资源的使用。这样的配置可以提高操作的效率,以充分利用计算设备与片外存储设备之间的高带宽通信能力。此外,效率的提高可以允许计算设备在稀疏矩阵乘法或其他的稀疏矩阵操作的高性能使用中被采用,例如,在所述计算设备可以被连续地调用以快速地执行计算的实时机器学习应用中执行的那些。这样的机器学习可以适用于图像识别、语音识别、网页排名、以及自然语言处理和文本搜索。在一个示例中,计算设备可以被用于训练和评价深度神经网络。在另一个示例中,计算设备可以被用于对大数进行因子分解,以及其他的应用中。图1示意性地示出了计算系统100的实施例。计算系统100可以采取一个或多个个人计算机、服务器计算机、平板计算机、家庭娱乐计算机、网络计算设备、游戏设备、移动计算设备(例如平板)、移动通信设备(例如智能电话)、和/或其他计算设备的形式。计算系统100可以包括经由通信接口108与大容量存储设备104以及片外存储设备106进行通信的处理器102。处理器102可以包括一个或多个处理器核心以及在其上执行的指令,所述指令可以被配置用于顺序、并行、和/或分布式的处理。处理器的各个部件可以可选地分布在两个或更多的单独设备上,两个或更多的单独设备可以位于远程和/或被配置用于协同处理。处理器的方面可以由在云计算配置中配置的可远程访问的网络化计算设备进行虚拟化和执行。处理器102可以本文档来自技高网...

【技术保护点】
一种计算系统,包括:片外存储设备,其被配置为存储多个流元素和相关联的标签;以及计算设备,其与所述片外存储设备进行通信,所述计算设备包括:片上存储设备,其被配置为存储多个能够独立寻址的驻留元素;以及多个并行处理单元,每个并行处理单元被配置为:从所述片外存储设备接收一个或多个流元素和相关联的标签;从被并行地驱逐出所述片上存储设备的驻留元素的子集中选择一个或多个驻留元素,其中,所选择的驻留元素由相关联的标签指示为与流元素相匹配;以及使用所述一个或多个流元素以及一个或多个所选择的驻留元素来执行一个或多个计算。

【技术特征摘要】
【国外来华专利技术】2013.08.30 US 14/015,8721.一种计算系统,包括:
片外存储设备,其被配置为存储多个流元素和相关联的标签;以及
计算设备,其与所述片外存储设备进行通信,所述计算设备包括:
片上存储设备,其被配置为存储多个能够独立寻址的驻留元素;
以及
多个并行处理单元,每个并行处理单元被配置为:
从所述片外存储设备接收一个或多个流元素和相关联的标
签;
从被并行地驱逐出所述片上存储设备的驻留元素的子集中
选择一个或多个驻留元素,其中,所选择的驻留元素由相关联的
标签指示为与流元素相匹配;以及
使用所述一个或多个流元素以及一个或多个所选择的驻留
元素来执行一个或多个计算。
2.如权利要求1所述的计算系统,其中,所述多个并行处理单元的多
个并行处理单元在同一时钟周期中从所述驻留元素的子集中选择同一个驻
留元素。
3.如权利要求1所述的计算系统,其中,所述计算设备还包括流管理
器,其被配置为从所述片外存储设备接收多个并行数据流,将所述多个并
行数据流中的每个数据流解析成流元素和相关联的标签,并且将每个数据
流的所述流元素和所述相关联的标签发送到不同的并行处理单元,其中,
数据流的所有流元素和相关联的标签是由单个并行处理单元来进行处理
的。
4.如权利要求1所述的计算系统,其中,所述计算设备还包括优先级
选择器,其被配置为从所述多个并行处理单元接收请求,所述请求包括指
示与由所述多个并行处理单元接收的流元素相匹配的驻留元素的标签,并

\t且将与所述流元素相匹配的所述驻留元素的子集从所述片上存储设备驱动
到所述多个...

【专利技术属性】
技术研发人员:K·施特劳斯J·福尔维斯
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国;US

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

1