矢量处理单元制造技术

技术编号:19365803 阅读:30 留言:0更新日期:2018-11-08 00:15
本申请描述了矢量处理单元,并且包括处理器单元,该处理器单元每个包括多个处理资源。处理器单元每个被配置为执行与矢量化计算相关联的算术运算。矢量处理单元包括与每一个处理器单元以及它们相应的处理资源进行数据通信的矢量存储器。矢量存储器包括被配置成存储由每一个处理器单元使用以执行算术运算的数据的存储体。处理器单元和矢量存储器在矢量处理单元的区域内紧耦合,使得能够基于各个处理器单元相对于彼此的放置以及基于矢量存储器相对于每个处理器单元的放置,以高带宽来交换数据通信。

【技术实现步骤摘要】
矢量处理单元
本说明书涉及本地化矢量处理单元,其可用于执行与一般能够被称为矢量的二维数据阵列相关联的各种计算。
技术介绍
矢量处理单元能够用于与深度神经网络(“DNN”)层的
例如数值模拟、图形处理、游戏控制台设计、超级计算和机器学习计算相关联的计算。一般而言,神经网络是机器学习模型,其使用一个或多个模型层来为接收到的输入生成输出,例如分类。具有多个层的神经网络能够用于通过处理经过所述神经网络的每一个层的输入来计算推理。
技术实现思路
与传统矢量处理单元(VPU)的特征相比,本说明书描述了VPU,其被配置为将计算划分为:a)示例单指令多数据(SIMD)VPU,其具有增加的灵活性、增加的存储器带宽要求和相当低的计算密度;b)矩阵单元(MXU),其具有较低的灵活性、低存储器带宽要求和高计算密度;以及c)低存储器带宽的交叉通道单元(XU),其用于执行某些可能不适合所述SIMD范式、而且也可能不具有MXU计算操作的计算密度的操作。一般而言,至少a)和b)的计算特征之间的反差相对于现行/传统的SIMD处理器提供了增强的SIMD处理器设计架构。在一些实施方式中,所描述的VPU是示例Von-NeumannSIMDVPU。本技术的一个方面涉及一种矢量处理单元,其包含:一个或多个处理器单元,每个处理器单元被配置为执行与多维数据阵列的矢量化计算相关联的算术运算;和与所述一个或多个处理器单元中的每一个进行数据通信的矢量存储器,其中所述矢量存储器包括被配置为存储由所述一个或多个处理器单元中的每一个使用以执行所述算术运算的数据的存储体;其中所述一个或多个处理器单元和所述矢量存储器在所述矢量处理单元的区域内紧耦合,使得能够基于各个处理器单元相对于彼此的放置以及基于所述矢量存储器相对于每个处理器单元的放置,以高带宽来交换数据通信。本技术的另一个方面涉及一种具有矢量处理单元的计算系统,所述计算系统包含:一个或多个处理器单元,每个处理器单元包括被配置为执行多个算术运算的第一算术逻辑单元;与所述一个或多个处理器单元中的每一个进行数据通信的矢量存储器,所述矢量存储器包括存储体,所述存储体被配置为存储由所述一个或多个处理器单元中的每一个使用以执行所述算术运算的数据;和矩阵运算单元,被配置为接收来自特定处理器单元的至少两个操作数,所述至少两个操作数被所述矩阵运算单元使用以执行与矢量化计算相关联的操作;其中所述一个或多个处理器单元和所述矢量存储器在所述矢量处理单元的区域内紧耦合,使得能够基于至少一个处理器单元和所述矢量存储器之间的第一距离,以第一带宽来交换数据通信;其中所述矢量处理单元和所述矩阵运算单元耦合,使得能够基于至少一个处理器单元和所述矩阵运算单元之间的第二距离,以第二带宽来交换数据通信;以及其中所述第一距离小于所述第二距离,并且所述第一带宽大于所述第二带宽。此外,一般而言,本说明书中描述的主题的一个创新方面能够体现在矢量处理单元中,所述矢量处理单元包括:一个或多个处理器单元,其每个被配置为执行与多维数据阵列的矢量化计算相关联的算术运算;以及与所述一个或多个处理器单元中的每一个进行数据通信的矢量存储器。所述矢量存储器包括被配置为存储由所述一个或多个处理器单元中的每一个使用以执行所述算术运算的数据的存储体。所述一个或多个处理器单元和所述矢量存储器在所述矢量处理单元的区域内紧耦合,使得能够基于各个处理器单元相对于彼此的放置以及基于所述矢量存储器相对于每个处理器单元的放置,以高带宽来交换数据通信。在一些实施方式中,所述矢量处理单元耦合到矩阵运算单元,所述矩阵运算单元被配置为从特定处理器单元接收至少两个操作数,所述至少两个操作数被所述矩阵运算单元用于执行与所述多维数据阵列的矢量化计算相关联的操作。在一些实施方式中,所述矢量处理单元还包括耦合到所述特定处理器单元的第一数据串行器,所述第一数据串行器被配置为将与由所述特定处理器单元提供并由所述矩阵运算单元接收的一个或多个操作数相对应的输出数据串行化。在一些实施方式中,所述矢量处理单元还包括耦合到所述特定处理器单元的第二数据串行器,所述第二数据串行器被配置为将由所述特定处理器单元提供并由所述矩阵运算单元、交叉通道(cross-lane)单元、或归约和置换单元中的至少一个接收的输出数据串行化。在一些实施方式中,所述一个或多个处理器单元中的每一个包括多个处理资源,并且所述多个处理资源包括第一算术逻辑单元、第二算术逻辑单元、多维寄存器或功能处理器单元中的至少一个。在一些实施方式中,所述矢量存储器被配置为将与特定存储体相关联的数据加载到相应的处理器单元,并且其中所述数据由所述相应的处理器单元的特定资源使用。在一些实施方式中,所述矢量处理单元还包括在所述一个或多个处理器单元和所述矢量存储器中间的纵横(crossbar)连接器,所述纵横连接器被配置为将与矢量存储体相关联的数据提供给特定处理器单元的所述多个处理资源中的特定资源。在一些实施方式中,所述矢量处理单元还包括与特定处理器单元的资源进行数据通信的随机数发生器,所述随机数发生器被配置为周期性地生成数字,所述数字能够用作由所述特定处理器单元执行的至少一个操作的操作数。在一些实施方式中,所述矢量处理单元提供主处理通道并包括多个处理器单元,所述多个处理器单元每个分别在所述矢量处理单元内形成处理器子通道。在一些实施方式中,每一个处理器子通道基于每次访问被动态配置,以访问所述矢量存储器的特定存储体来检索用于执行与所述多维数据阵列的矢量化计算相关联的一个或多个算术运算的数据。本说明书中描述的主题的另一个创新方面能够体现在具有矢量处理单元的计算系统中,所述计算系统包括:处理器单元,其每个包括被配置为执行多个算术运算的第一算术逻辑单元;与所述一个或多个处理器单元中的每一个进行数据通信的矢量存储器,所述矢量存储器包括存储体,所述存储体被配置为存储由所述一个或多个处理器单元中的每一个用于执行所述算术运算的数据;和矩阵运算单元,其被配置为接收来自特定处理器单元的至少两个操作数,所述至少两个操作数被所述矩阵运算单元使用以执行与矢量化计算相关联的操作。所述一个或多个处理器单元和所述矢量存储器在所述矢量处理单元的区域内紧耦合,使得能够基于至少一个处理器单元和所述矢量存储器之间的第一距离以第一带宽来交换数据通信。所述矢量处理单元和所述矩阵运算单元耦合,使得能够基于至少一个处理器单元和所述矩阵运算单元之间的第二距离以第二带宽交换数据通信。所述第一距离小于所述第二距离,并且所述第一带宽大于所述第二带宽。在一些实施方式中,所述计算系统还包括耦合到所述特定处理器单元的第一数据串行器,所述第一数据串行器被配置为将与由所述特定处理器单元提供并由所述矩阵运算单元接收的一个或多个操作数相对应的输出数据串行化。在一些实施方式中,所述计算系统还包括耦合到所述特定处理器单元的第二数据串行器,所述第二数据串行器被配置为将由所述特定处理器单元提供并由所述矩阵运算单元、交叉通道单元、或归约和置换单元中的至少一个接收的输出数据串行化。在一些实施方式中,所述一个或多个处理器单元中的每一个还包括多个处理资源,所述多个处理资源包含第二算术逻辑单元、多维寄存器或功能处理器单元中的至少一个。在一些实施本文档来自技高网...

【技术保护点】
1.一种矢量处理单元,其包含:一个或多个处理器单元,每个处理器单元被配置为执行与多维数据阵列的矢量化计算相关联的算术运算;和与所述一个或多个处理器单元中的每一个进行数据通信的矢量存储器,其中所述矢量存储器包括被配置为存储由所述一个或多个处理器单元中的每一个使用以执行所述算术运算的数据的存储体;其中所述一个或多个处理器单元和所述矢量存储器在所述矢量处理单元的区域内紧耦合,使得能够基于各个处理器单元相对于彼此的放置以及基于所述矢量存储器相对于每个处理器单元的放置,以高带宽来交换数据通信。

【技术特征摘要】
2017.03.09 US 15/454,2141.一种矢量处理单元,其包含:一个或多个处理器单元,每个处理器单元被配置为执行与多维数据阵列的矢量化计算相关联的算术运算;和与所述一个或多个处理器单元中的每一个进行数据通信的矢量存储器,其中所述矢量存储器包括被配置为存储由所述一个或多个处理器单元中的每一个使用以执行所述算术运算的数据的存储体;其中所述一个或多个处理器单元和所述矢量存储器在所述矢量处理单元的区域内紧耦合,使得能够基于各个处理器单元相对于彼此的放置以及基于所述矢量存储器相对于每个处理器单元的放置,以高带宽来交换数据通信。2.根据权利要求1所述的矢量处理单元,其中所述矢量处理单元被配置为耦合到矩阵运算单元,所述矩阵运算单元被配置为接收来自特定处理器单元的至少两个操作数,所述至少两个操作数被所述矩阵运算单元用于执行与所述多维数据阵列的矢量化计算相关联的操作。3.根据权利要求2所述的矢量处理单元,还包含耦合到所述特定处理器单元的第一数据串行器,所述第一数据串行器被配置为将与由所述特定处理器单元提供并由所述矩阵运算单元接收的一个或多个操作数对应的输出数据串行化。4.根据权利要求2所述的矢量处理单元,还包含耦合到所述特定处理器单元的第二数据串行器,所述第二数据串行器被配置为将由所述特定处理器单元提供并由以下至少一个接收的输出数据串行化:所述矩阵运算单元、交叉通道单元、以及归约和置换单元。5.根据权利要求1所述的矢量处理单元,其中所述一个或多个处理器单元中的每一个包含:多个处理资源,所述多个处理资源包含第一算术逻辑单元、第二算术逻辑单元、多维寄存器以及功能处理器单元中的至少一个。6.根据权利要求1所述的矢量处理单元,其中所述矢量存储器被配置为将与特定存储体相关联的数据加载到相应的处理器单元,并且其中所述数据由所述相应的处理器单元的特定资源使用。7.根据权利要求1所述的矢量处理单元,其还包含在所述一个或多个处理器单元和所述矢量存储器中间的纵横连接器,所述纵横连接器被配置为将与矢量存储体相关联的数据提供给特定处理器单元的多个处理资源中的特定资源。8.根据权利要求1所述的矢量处理单元,还包含与特定处理器单元的资源进行数据通信的随机数发生器,所述随机数发生器被配置为周期性地生成数字,所述数字能用作由所述特定处理器单元执行的至少一个操作的操作数。9.根据权利要求1所述的矢量处理单元,其中所述矢量处理单元提供处理通道并包括多个处理器单元,所述多个处理器单元每个分别在所述矢量处理单元内形成处理器子通道。10.根据权利要求9所述的矢量处理单元,其中每一个处理器子通道基于每次访问被动态配置,以访问所述矢量存储器的特定存储体...

【专利技术属性】
技术研发人员:威廉·拉西格雷戈里·米歇尔·索尔森克里斯托弗·阿伦·克拉克诺曼·保罗·约皮托马斯·诺里安德鲁·埃弗里特·菲尔普斯
申请(专利权)人:谷歌有限责任公司
类型:新型
国别省市:美国,US

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

1