System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本说明书涉及本地化矢量处理单元,其可用于执行与一般能够被称为矢量的二维数据阵列相关联的各种计算。
技术介绍
1、矢量处理单元能够用于与深度神经网络(“dnn”)层的
例如数值模拟、图形处理、游戏控制台设计、超级计算和机器学习计算相关联的计算。
2、一般而言,神经网络是机器学习模型,其使用一个或多个模型层来为接收到的输入生成输出,例如分类。具有多个层的神经网络能够用于通过处理经过所述神经网络的每一个层的输入来计算推理。
技术实现思路
1、与传统矢量处理单元(vpu)的特征相比,本说明书描述了vpu,其被配置为将计算划分为:a)示例单指令多数据(simd)vpu,其具有增加的灵活性、增加的存储器带宽要求和相当低的计算密度;b)矩阵单元(mxu),其具有较低的灵活性、低存储器带宽要求和高计算密度;以及c)低存储器带宽的交叉通道单元(xu),其用于执行某些可能不适合所述simd范式、而且也可能不具有mxu计算操作的计算密度的操作。一般而言,至少a)和b)的计算特征之间的反差相对于现行/传统的simd处理器提供了增强的simd处理器设计架构。在一些实施方式中,所描述的vpu是示例von-neumann simd vpu。
2、一般而言,本说明书中描述的主题的一个创新方面能够体现在矢量处理单元中,所述矢量处理单元包括:一个或多个处理器单元,其每个被配置为执行与多维数据阵列的矢量化计算相关联的算术运算;以及与所述一个或多个处理器单元中的每一个进行数据通信的矢量存储器
3、在一些实施方式中,所述矢量处理单元耦合到矩阵运算单元,所述矩阵运算单元被配置为从特定处理器单元接收至少两个操作数,所述至少两个操作数被所述矩阵运算单元用于执行与所述多维数据阵列的矢量化计算相关联的操作。在一些实施方式中,所述矢量处理单元还包括耦合到所述特定处理器单元的第一数据串行器,所述第一数据串行器被配置为将与由所述特定处理器单元提供并由所述矩阵运算单元接收的一个或多个操作数相对应的输出数据串行化。在一些实施方式中,所述矢量处理单元还包括耦合到所述特定处理器单元的第二数据串行器,所述第二数据串行器被配置为将由所述特定处理器单元提供并由所述矩阵运算单元、交叉通道(cross-lane)单元、或归约和置换单元中的至少一个接收的输出数据串行化。
4、在一些实施方式中,所述一个或多个处理器单元中的每一个包括多个处理资源,并且所述多个处理资源包括第一算术逻辑单元、第二算术逻辑单元、多维寄存器或功能处理器单元中的至少一个。在一些实施方式中,所述矢量存储器被配置为将与特定存储体相关联的数据加载到相应的处理器单元,并且其中所述数据由所述相应的处理器单元的特定资源使用。在一些实施方式中,所述矢量处理单元还包括在所述一个或多个处理器单元和所述矢量存储器中间的纵横(crossbar)连接器,所述纵横连接器被配置为将与矢量存储体相关联的数据提供给特定处理器单元的所述多个处理资源中的特定资源。
5、在一些实施方式中,所述矢量处理单元还包括与特定处理器单元的资源进行数据通信的随机数发生器,所述随机数发生器被配置为周期性地生成数字,所述数字能够用作由所述特定处理器单元执行的至少一个操作的操作数。在一些实施方式中,所述矢量处理单元提供主处理通道并包括多个处理器单元,所述多个处理器单元每个分别在所述矢量处理单元内形成处理器子通道。在一些实施方式中,每一个处理器子通道基于每次访问被动态配置,以访问所述矢量存储器的特定存储体来检索用于执行与所述多维数据阵列的矢量化计算相关联的一个或多个算术运算的数据。
6、本说明书中描述的主题的另一个创新方面能够体现在具有矢量处理单元的计算系统中,所述计算系统包括:处理器单元,其每个包括被配置为执行多个算术运算的第一算术逻辑单元;与所述一个或多个处理器单元中的每一个进行数据通信的矢量存储器,所述矢量存储器包括存储体,所述存储体被配置为存储由所述一个或多个处理器单元中的每一个用于执行所述算术运算的数据;和矩阵运算单元,其被配置为接收来自特定处理器单元的至少两个操作数,所述至少两个操作数被所述矩阵运算单元使用以执行与矢量化计算相关联的操作。
7、所述一个或多个处理器单元和所述矢量存储器在所述矢量处理单元的区域内紧耦合,使得能够基于至少一个处理器单元和所述矢量存储器之间的第一距离以第一带宽来交换数据通信。所述矢量处理单元和所述矩阵运算单元耦合,使得能够基于至少一个处理器单元和所述矩阵运算单元之间的第二距离以第二带宽交换数据通信。所述第一距离小于所述第二距离,并且所述第一带宽大于所述第二带宽。
8、在一些实施方式中,所述计算系统还包括耦合到所述特定处理器单元的第一数据串行器,所述第一数据串行器被配置为将与由所述特定处理器单元提供并由所述矩阵运算单元接收的一个或多个操作数相对应的输出数据串行化。在一些实施方式中,所述计算系统还包括耦合到所述特定处理器单元的第二数据串行器,所述第二数据串行器被配置为将由所述特定处理器单元提供并由所述矩阵运算单元、交叉通道单元、或归约和置换单元中的至少一个接收的输出数据串行化。在一些实施方式中,所述一个或多个处理器单元中的每一个还包括多个处理资源,所述多个处理资源包含第二算术逻辑单元、多维寄存器或功能处理器单元中的至少一个。
9、在一些实施方式中,所述矢量存储器被配置为将与特定存储体相关联的数据加载到相应的处理器单元,并且其中所述数据由所述相应的处理器单元的特定资源使用。在一些实施方式中,所述计算系统还包括在所述一个或多个处理器单元和所述矢量存储器中间的纵横连接器,所述纵横连接器被配置为将与矢量存储体相关联的数据提供给特定处理器单元的所述多个处理资源中的特定资源。在一些实施方式中,所述计算系统还包括与特定处理器单元的资源进行数据通信的随机数发生器,所述随机数发生器被配置为周期性地生成数字,所述数字能用作由所述特定处理器单元执行的至少一个操作的操作数。在一些实施方式中,所述计算系统还包括在所述矢量存储器和所述矩阵运算单元之间延伸的数据路径,所述数据路径使得能够进行在所述矢量存储器和至少所述矩阵运算单元之间发生的与直接存储器存取操作相关联的数据通信。
10、本说明书中描述的主题的另一个创新方面能够体现在具有矢量处理单元的计算系统中的计算机实现的方法中。所述方法包括:由矢量存储器提供用于执行一个或多个算术运算的数据,所述矢量存储器包括用于存储相应的数据集的存储体;由一个或多个处理器单元接收来自所述矢量存储器的特定存储体的数据,所述数据被所述一个或多个处理器单元使用以执行与矢量化计算相关联的一个或多个算术运算;以及由矩阵运算单元接收本文档来自技高网...
【技术保护点】
1.一种用于执行矢量计算的电路,所述电路包括:
2.根据权利要求1所述的电路,其中:
3.根据权利要求2所述的电路,进一步包括:
4.根据权利要求3所述的电路,其中:
5.根据权利要求4所述的电路,其中:
6.根据权利要求5所述的电路,其中:
7.根据权利要求1所述的电路,所述矩阵单元被耦合到所述矢量处理器通道并且被配置为:
8.根据权利要求7所述的电路,其中,所述矩阵运算包括:
9.一种使用用于执行矢量计算的电路实现的方法,所述方法包括:
10.根据权利要求9所述的方法,其中:
11.根据权利要求10所述的方法,其中,所述矢量处理器通道包括:矢量存储器,所述矢量存储器被配置为存储与所接收的数据相对应的矢量元素,并且所述操作进一步包括:
12.根据权利要求11所述的方法,其中:
13.根据权利要求12所述的方法,其中:
14.根据权利要求13所述的方法,其中,所述多个子通道处理器中的每个子通道处理器与具有多个处理器资源的分立处
15.根据权利要求9所述的方法,其中,所述矩阵单元被耦合到所述矢量处理器通道并且所述操作进一步包括:
16.根据权利要求15所述的方法,其中,所述矩阵运算包括:
17.一种非暂时性机器可读存储设备,用于存储指令以使用电路执行矢量计算,所述指令可由处理器执行以引起操作的执行,所述操作包括:
18.根据权利要求17所述的机器可读存储设备,其中,所述矩阵单元被耦合到所述矢量处理器通道并且所述操作进一步包括:
...【技术特征摘要】
1.一种用于执行矢量计算的电路,所述电路包括:
2.根据权利要求1所述的电路,其中:
3.根据权利要求2所述的电路,进一步包括:
4.根据权利要求3所述的电路,其中:
5.根据权利要求4所述的电路,其中:
6.根据权利要求5所述的电路,其中:
7.根据权利要求1所述的电路,所述矩阵单元被耦合到所述矢量处理器通道并且被配置为:
8.根据权利要求7所述的电路,其中,所述矩阵运算包括:
9.一种使用用于执行矢量计算的电路实现的方法,所述方法包括:
10.根据权利要求9所述的方法,其中:
11.根据权利要求10所述的方法,其中,所述矢量处理器通道包括:矢量存储器,所述矢量存储器被配置为存储与所接收的数据相对应的矢量元素,并且...
【专利技术属性】
技术研发人员:威廉·拉西,格雷戈里·米歇尔·索尔森,克里斯托弗·阿伦·克拉克,诺曼·保罗·约皮,托马斯·诺里,安德鲁·埃弗里特·菲尔普斯,
申请(专利权)人:谷歌有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。