当前位置: 首页 > 专利查询>脸谱公司专利>正文

使用处理器指令的硬件加速矩阵操纵运算制造技术

技术编号:29038963 阅读:24 留言:0更新日期:2021-06-26 05:48
公开了使用处理器指令的硬件加速矩阵操纵运算。一种处理器系统包括共享存储器和处理元件。处理元件包括矩阵处理器单元,并与共享存储器通信。处理元件被配置成接收指定数据矩阵和矩阵操纵运算的处理器指令。识别基于处理器指令的操纵矩阵。数据矩阵和操纵矩阵被加载到矩阵处理器单元中,并且执行矩阵运算以确定结果矩阵。结果矩阵被输出到目的地位置。结果矩阵被输出到目的地位置。结果矩阵被输出到目的地位置。

【技术实现步骤摘要】
使用处理器指令的硬件加速矩阵操纵运算
[0001]专利技术背景
[0002]使用神经网络可以解决一整类复杂的人工智能问题。神经网络解决方案的实现通常取决于输入源或中间数据如何格式化以及神经网络运算的要求。神经网络运算可能会预期特定的格式的数据。通常将数据从一种矩阵格式转换成另一种矩阵格式,以改善实现神经网络运算的精度和计算成本。传统上,使转换适应硬件解决方案是具有挑战性的,并且转换是在软件中执行的。创建一个既灵活又能显著提高性能和效率的硬件解决方案是一项挑战。因此,需要一种灵活高效的硬件解决方案来执行矩阵操纵(matrix manipulation)运算,矩阵操纵运算包括用于上采样和下采样矩阵的转换运算。
[0003]附图简述
[0004]在以下详细描述和附图中公开了本专利技术的各种实施例。
[0005]图1是示出用于执行矩阵操纵运算的系统的实施例的框图。
[0006]图2是示出用于执行矩阵操纵运算的处理元件的实施例的框图。
[0007]图3是示出了使用到具有矩阵处理器单元的处理元件的处理器指令执行矩阵操纵运算的过程的实施例的流程图。
[0008]图4是示出使用到具有矩阵处理器单元的处理元件的处理器指令执行矩阵操纵运算的过程的实施例的流程图。
[0009]图5是示出使用到具有矩阵处理器单元的处理元件的处理器指令执行矩阵操纵运算的过程的实施例的流程图。
[0010]图6是示出使用到具有矩阵处理器单元的处理元件的处理器指令执行矩阵操纵运算的过程的实施例的流程图。
[0011]图7是示出用于执行矩阵操纵运算的示例操纵矩阵和对应的向量操作数的图。
[0012]图8是示出用于执行矩阵操纵运算的示例输入数据矩阵和对应的矩阵切片(slice)的图。
[0013]图9是示出来自执行矩阵操纵运算的示例结果矩阵的图。
[0014]图10是示出用于执行矩阵操纵运算的示例操纵矩阵和对应的向量操作数的图。
[0015]图11是示出用于执行矩阵操纵运算的示例操纵矩阵和对应的向量操作数的图。
[0016]详细描述
[0017]本专利技术可以以多种方式实现,包括作为过程;装置;系统;物质的组成;体现在计算机可读存储介质上的计算机程序产品;和/或处理器,例如被配置为执行存储在耦合到处理器的存储器上和/或由该存储器提供的指令的处理器。在本说明书中,这些实现或者本专利技术可以采取的任何其他形式可以被称为技术。通常,在本专利技术的范围内,可以改变所公开的过程的步骤顺序。除非另有说明,否则被描述为被配置为执行任务的诸如处理器或存储器的组件可以被实现为在给定时间被临时配置为执行任务的通用组件或者被制造为执行任务的特定组件。如本文所使用的,术语“处理器”指的是被配置成处理数据(例如计算机程序指令)的一个或更多个设备、电路和/或处理核心。
[0018]下面提供了本专利技术的一个或更多个实施例的详细描述连同说明本专利技术原理的附
图。结合这些实施例描述了本专利技术,但是本专利技术不限于任何实施例。本专利技术的范围仅由权利要求限定,并且本专利技术包括许多替代、修改和等同物。为了提供对本专利技术的全面理解,在以下描述中阐述了许多具体细节。这些细节是出于示例的目的而提供的,并且本专利技术可以根据权利要求来被实施,而不需要这些具体细节中的一些或全部。为了清楚起见,没有详细描述与本专利技术相关的
中已知的技术材料,以便不会不必要地模糊本专利技术。
[0019]公开了一种使用处理器指令执行硬件加速矩阵操纵运算的处理器系统。处理器系统支持的矩阵操纵运算至少包括不同的上采样和下采样运算。在所公开的处理器系统中,处理器系统包括硬件矩阵处理器单元,其执行矩阵运算,例如矩阵乘法。处理器系统支持一个或更多个矩阵操纵运算处理器指令。例如,处理器指令指示处理器系统通过沿行复制每个元素来对输入数据矩阵进行上采样。作为另一个示例,沿着输入数据矩阵的列的元素也可以被复制,这有效地使二维矩阵沿着两个维度加倍。在一些实施例中,处理器系统支持通过线性插值对矩阵进行上采样。每个上采样、下采样或另一个矩阵操纵运算可以由指定的操纵矩阵来执行和描述。在各种实施例中,对应于不同支持的矩阵操纵运算的指定操纵矩阵存储在存储器中。例如,支持的矩阵操纵运算的每个操纵矩阵可以作为预定义矩阵存储在存储器中。在一些实施例中,操纵矩阵可以被动态编程并存储在存储器中。响应于指定的矩阵操纵处理器指令,将适当的操纵矩阵从存储器加载到处理器系统的矩阵处理器单元中。使用矩阵处理器单元将相应的输入数据矩阵乘以操纵矩阵。输出结果可以写入存储器和/或由处理器系统用于后续运算,例如神经网络推理或训练所需的矩阵运算。在一些实施例中,使用跨步写入(strided write)和/或存储器布局单元将输出写入存储器,以在第二维向上采样矩阵处理器单元的结果矩阵。例如,上采样操纵矩阵在第一维上对输入数据矩阵进行上采样,例如将每行的长度加倍。然后,使用存储器布局单元将每个上采样的行写入存储器两次,以沿着高度维度对输入数据矩阵进行上采样,这有效地将每一列的长度加倍。通过加倍行数,重复写入有效地使最终矩阵的大小加倍。在一些实施例中,使用存储器布局或分散单元(scatter unit),矩阵处理器单元的结果矩阵在两遍运行(pass)中被写入到存储器的偶数存储器行地址,接着写入到奇数存储器行地址,反之亦然。存储器布局单元可用于快速有效地向存储器输出上采样的输入数据矩阵。
[0020]在一些实施例中,处理器系统包括共享存储器和与共享存储器通信的处理元件。例如,处理元件可以是单个处理元件或处理元件矩阵之一,每个处理元件都可以通过通信总线访问共享存储器。处理元件的矩阵可以是32
×
32、64
×
64或另一种大小的处理元件矩阵。处理器系统的处理元件包括矩阵处理器单元。例如,矩阵处理器单元被配置为对两个矩阵操作数至少执行矩阵乘法,以确定结果矩阵。在一些实施例中,矩阵处理器单元包括被配置为存储数据矩阵的单行的所有值的第一类型寄存器和一组第二类型寄存器,其中每个第二类型寄存器被配置为存储操纵矩阵的不同列的所有值。矩阵处理器单元还包括多个(a plurality of)向量计算单元,其中多个向量计算单元中的每一个对应于第二类型寄存器之一。每个向量计算单元被配置为将存储在第一类型寄存器中的每个值与存储在第二类型寄存器中的相应一个中的相应值相乘。将相应向量计算单元的相乘结果求和,以至少部分地确定将数据矩阵与操纵矩阵相乘的结果矩阵中的相应元素。
[0021]在一些实施例中,处理元件被配置成接收指定数据矩阵和矩阵操纵运算的处理器指令。例如,专用处理器指令包括数据矩阵操作数,并指定矩阵操纵运算,如上采样或下采
样运算。处理元件还被配置成基于处理器指令识别操纵矩阵。例如,处理器指令被解码以识别对应于矩阵操纵运算的操纵矩阵。在一些实施例中,操纵矩阵是存储在存储器或另一存储器位置中的硬编码矩阵。处理元件被配置成将数据矩阵和操纵矩阵加载到矩阵处理器单元中,并执行矩阵运算以确定结果矩阵。例如,在一些实施例中,操本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理器系统,包括:共享存储器;和与所述共享存储器通信的处理元件,其中所述处理元件包括矩阵处理器单元,并且所述处理元件被配置为:接收指定数据矩阵和矩阵操纵运算的处理器指令;基于所述处理器指令识别操纵矩阵;将所述数据矩阵和所述操纵矩阵加载到所述矩阵处理器单元中;执行矩阵运算以确定结果矩阵;和将所述结果矩阵输出到目的地位置。2.根据权利要求1所述的系统,其中所述数据矩阵是从所述共享存储器中检索的。3.根据权利要求1所述的系统,其中所述操纵矩阵是从所述共享存储器中检索的。4.根据权利要求1所述的系统,其中所述操纵矩阵是从所述处理元件的本地存储器中检索的。5.根据权利要求1所述的系统,其中所执行的矩阵运算是矩阵乘法运算。6.根据权利要求1所述的系统,其中所述目的地位置是所述共享存储器。7.根据权利要求1所述的系统,其中所述目的地位置是矩阵寄存器。8.根据权利要求1所述的系统,其中所述处理元件是被配置为并行操作的多个处理元件之一。9.根据权利要求1所述的系统,其中使用输出单元将所述结果矩阵输出到所述目的地位置。10.根据权利要求9所述的系统,其中所述输出单元被配置为执行多次重复写入,以输出上采样结果矩阵。11.根据权利要求1所述的系统,其中所述操纵矩阵是上采样矩阵。12.根据权利要求11所述的系统,其中所述上采样矩阵被配置为在行元素之间执行线性插值。13.根据权利要求1所述的系统,其中所述操纵矩阵是下采样矩阵。14.根据权利要求1所述的系统,其中所述矩阵处理器单元包括:第一类型寄存器,其被配置为存储所述数据矩阵的单行的值;一组第二类型寄存器,其中每个所述第二类型寄存器被配置成存储所述操纵矩阵的不同列的值;和多个向量计算单元,其中所述多个向量计算单元中的每一个对应于所述第二类型寄存器中的一个,并且所述向量计算单元中的每一个被配置为将存储在所述第一类型寄存器中的每个值与存储在所述第二类型寄存器中的相应一个第二类型寄存器中的相应值相乘,并且将相应向量计算单元的相乘结果相加在一起,以至少部分地确定将所述数据矩阵与所述操纵矩阵相乘的结果矩阵中的相应元素。15.根据权...

【专利技术属性】
技术研发人员:托马斯
申请(专利权)人:脸谱公司
类型:发明
国别省市:

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

1