The embodiments detailed herein relate to matrix operations. In particular, support for matrix (block) addition, subtraction and multiplication is described. For example, circuits supporting instructions for adding, subtracting, and multiplying element by element matrices (block chips) are detailed. In some embodiments, for matrix (block) addition, the decoding circuit decodes instructions having fields for the opcode, the first source matrix operand identifier, the second source matrix operand identifier, and the target matrix operand identifier; and the execution circuit executes decoded instructions for each data element location of the identified first source matrix operand The following operations are performed: the first data value at the data element position is added to the second data value at the corresponding data element position of the identified second source matrix operand, and the added result is stored in the corresponding data element position of the identified target matrix operand.
【技术实现步骤摘要】
【国外来华专利技术】用于矩阵加法、减法和乘法的系统、方法和装置
专利
总地涉及计算机处理器架构,并且更具体地涉及矩阵操作。
技术介绍
矩阵在诸如机器学习和其他批量数据处理之类的许多计算任务中日益重要。附图说明通过示例而非限制的方式在附图的各图中图示本专利技术,在附图中相似的标记指示类似的元素,并且在附图中:图1图示配置的块片(tile)的实施例;图2图示矩阵存储的若干示例;图3图示利用矩阵(块片)运算加速器的系统的实施例;图4和图5示出使用矩阵运算加速器如何共享存储器的不同实施例;图6图示使用块片(“TMMA”)的矩阵乘法累加运算的实施例;图7图示链式融合乘法累加指令的迭代的执行的子集的实施例;图8图示链式融合乘法累加指令的迭代的执行的子集的实施例;图9图示链式融合乘法累加指令的迭代的执行的子集的实施例;图10图示链式融合乘法累加指令的迭代的执行的子集的实施例;图11图示根据实施例的二次幂大小的SIMD实施方式,其中累加器使用大于乘法器的输入的输入大小;图12图示利用矩阵运算电路的系统的实施例;图13图示使用块片来支持矩阵运算的处理器核流水线的实施例;图14图示使用块片来支持矩阵运算的处理器核流水线的实施例;图15图示以行主要格式和列主要格式表达的矩阵的示例;图16图示矩阵(块片)的使用的示例;图17图示矩阵(块片)的使用的方法的实施例;图18图示TILECONFI ...
【技术保护点】
1.一种处理器,包括:/n解码电路,所述解码电路用于对具有用于操作码、第一源矩阵操作数标识符、第二源矩阵操作数标识符和目标矩阵操作数标识符的字段的指令进行解码;以及/n执行电路,所述执行电路用于执行经解码的指令以针对所标识的第一源矩阵操作数的每个数据元素位置进行如下操作:/n将该数据元素位置处的第一数据值与所标识的第二源矩阵操作数的对应数据元素位置处的第二数据值相加,并且/n将所述相加的结果存储到所标识的目标矩阵操作数的对应数据元素位置中。/n
【技术特征摘要】
【国外来华专利技术】20170320 US 62/473,7321.一种处理器,包括:
解码电路,所述解码电路用于对具有用于操作码、第一源矩阵操作数标识符、第二源矩阵操作数标识符和目标矩阵操作数标识符的字段的指令进行解码;以及
执行电路,所述执行电路用于执行经解码的指令以针对所标识的第一源矩阵操作数的每个数据元素位置进行如下操作:
将该数据元素位置处的第一数据值与所标识的第二源矩阵操作数的对应数据元素位置处的第二数据值相加,并且
将所述相加的结果存储到所标识的目标矩阵操作数的对应数据元素位置中。
2.根据权利要求1所述的处理器,其中,所述第一源矩阵操作数是压缩数据寄存器并且所述第二源矩阵操作数是存储器位置。
3.根据权利要求1所述的处理器,其中,所述第一源矩阵操作数是压缩数据寄存器并且所述第二源矩阵操作数是压缩数据寄存器。
4.根据权利要求1所述的处理器,其中,所述执行电路包括多个融合乘法加法器。
5.根据权利要求1所述的处理器,其中,所述操作码指示所述第一源矩阵操作数、所述第二源矩阵操作数和所述目标矩阵操作数中的每一个均包括半精度浮点值。
6.根据权利要求1所述的处理器,其中,所述操作码指示所述第一源矩阵操作数、所述第二源矩阵操作数和所述目标矩阵操作数中的每一个均包括单精度浮点值。
7.根据权利要求1所述的处理器,其中,当所述第一源矩阵操作数具有与所述第二源矩阵操作数不同数量的数据元素时生成故障。
8.根据权利要求1所述的处理器,其中,当与所述第一源矩阵操作数相关联的行数不同于与所述第二源矩阵操作数相关联的行数时生成故障。
9.根据权利要求1所述的处理器,其中,当与所述第一源矩阵操作数相关联的列数不同于与所述第二源矩阵操作数相关联的列数时生成故障。
10.根据权利要求1所述的处理器,其中,所述执行电路进一步检查指示矩阵运算模式是否激活的状态变量,并且其中,当确定了所述矩阵运算模式未激活时生成故障。
11.一种方法,包括:
对具有用于操作码、第一源矩阵操作数标识符、第二源矩阵操作数标识符和目标矩阵操作数标识符的字段的指令进行解码;以及
执行经解码的指令以针对所标识的第一源矩阵操作数的每个数据元素位置进行如下操作:
将该数据元素位置处的第一数据值与所标识的第二源矩阵操作数的对应数据元素位置处的第二数据值相加,并且
将所述相加的结果存储到所标识的目标矩阵操作数的对应数据元素位置中。
12.根据权利要求11所述的方法,其中,所述第一源矩阵操作...
【专利技术属性】
技术研发人员:罗伯特·瓦伦泰恩,丹·鲍姆,泽夫·斯帕博,耶稣·科巴尔,埃尔莫斯塔法·乌尔德艾哈迈德瓦尔,布雷特·L·托尔,马克·J·查尼,巴鲁赫·齐弗,亚力山大·海内克,米林德·吉尔卡,西蒙·鲁巴诺维奇,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。