[发明专利]一种矩阵运算指令及其方法在审
| 申请号: | 201710907069.6 | 申请日: | 2016-01-20 |
| 公开(公告)号: | CN107704433A | 公开(公告)日: | 2018-02-16 |
| 发明(设计)人: | 陈云霁;张潇;刘少礼;陈天石 | 申请(专利权)人: | 南京艾溪信息科技有限公司 |
| 主分类号: | G06F17/16 | 分类号: | G06F17/16 |
| 代理公司: | 广州三环专利商标代理有限公司44202 | 代理人: | 郝传鑫,熊永强 |
| 地址: | 210000 江苏省*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 矩阵 运算 指令 及其 方法 | ||
技术领域
本披露涉及一种矩阵运算指令及其方法,用于根据矩阵运算指令执行矩阵运算,能够很好地解决当前计算机领域越来越多的算法包含大量矩阵运算的问题。
背景技术
当前计算机领域有越来越多的算法涉及到矩阵运算,以人工神经网络算法为例,多种神经网络算法中都含有大量的矩阵运算。在神经网络中,输出神经元的运算表达式为y=f(wx+b),其中w是矩阵,x、b是矩阵,计算输出矩阵y的过程为矩阵w与矩阵x相乘,加上矩阵b,然后对得到的矩阵进行激活函数运算(即对矩阵中的每个元素进行激活函数运算)。因此,矩阵运算成为目前各种计算装置在设计之初都需要考虑的一个重要问题。
在现有技术中,一种进行矩阵运算的已知方案是使用通用处理器,该方法通过通用寄存器堆和通用功能部件来执行通用指令,从而执行矩阵运算。然而,该方法的缺点之一是单个通用处理器多用于标量计算,在进行矩阵运算时运算性能较低。而使用多个通用处理器并行执行时,通用处理器之间的相互通讯又有可能成为性能瓶颈。
在另一种现有技术中,使用图形处理器(GPU)来进行矩阵计算,其中,通过使用通用寄存器堆和通用流处理单元执行通用SIMD指令来进行矩阵运算。然而,上述方案中,GPU片上缓存太小,在进行大规模矩阵运算时需要不断进行片外数据搬运,片外带宽成为了主要性能瓶颈。
在另一种现有技术中,使用专门定制的矩阵运算装置来进行矩阵计算,其中,使用定制的寄存器堆和定制的处理单元进行矩阵运算。然而,目前已有的专用矩阵运算装置受限于寄存器堆,不能够灵活地支持不同长度的矩阵运算。
综上所述,现有的不管是片上多核通用处理器、片间互联通用处理器(单核或多核)、还是片间互联图形处理器都无法进行高效的矩阵运算,并且这些现有技术在处理矩阵运算问题时存在着代码量大,受限于片间通讯,片上缓存不够,支持的矩阵规模不够灵活等问题。
发明内容
(一)要解决的技术问题
本披露的目的在于,提供一种矩阵运算装置,解决现有技术中存在的受限于片间通讯、片上缓存不够、支持的矩阵长度不够灵活等问题。
(二)技术方案
本披露提供一种矩阵运算指令,所述矩阵运算指令包括:操作码和操作域;
所述操作码,用于识别不同的矩阵运算指令;
所述操作域,用于指示所述矩阵运算指令的数据信息,所述数据信息为指定大小的立即数或指定大小的数据对应的寄存器号。
可选的,所述矩阵运算指令为:矩阵乘向量指令MMV;所述操作域存储所述MMV的矩阵数据和向量数据的立即数或寄存器号;
所述MMV,用于从存储器的指定地址取出指定大小的矩阵数据和向量数据,并将该矩阵数据和向量数据执行矩阵乘向量计算,将该计算结果写回至所述存储器。
可选的,所述矩阵运算指令为:向量乘矩阵指令VMM,所述操作域存储所述MMV的矩阵数据和向量数据;
所述VMM,用于从存储器的指定地址取出指定长度的向量数据和矩阵数据,进行向量乘矩阵的乘法运算,将该计算结果写回至存储器。
可选的,所述矩阵运算指令为:矩阵乘标量指令VMS;所述操作域存储所述VMS的矩阵数据;
所述VMS,用于从存储器的指定地址取出指定长度的矩阵数据,从标量寄存器堆的指定地址中取出标量数据,进行标量乘矩阵数据的乘法运算,将计算结果写回存储器。
可选的,所述矩阵运算指令为:张量运算指令TENS,所述操作域存储所述TENS的两块矩阵数据,
所述TENS,用于从存储器的两个指定地址分别取出指定大小的两块矩阵数据,对两矩阵数据进行张量运算,并将计算结果写回至存储器。
可选的,所述矩阵运算指令为:矩阵加法指令MA,所述操作域存储两块矩阵数据;
所述MA,用于从存储器的两个指定地址取出分别取出指定大小的两块矩阵数据,对两矩阵进行加法运算,并将计算结果写回至存储器。
可选的,所述矩阵运算指令为:矩阵减法指令MS,所述操作域存储两块矩阵数据;
所述MS,用于从存储器的两个指定地址取出分别取出指定大小的两块矩阵数据,对两矩阵进行减法运算,并将计算结果写回至存储器。
可选的,所述矩阵运算指令为:矩阵检索指令MR,所述操作域包括:向量数据以及矩阵数据;
所述MR,用于从存储器的指定地址取出指定大小的向量数据以及指定大小的矩阵数据,所述向量数据是索引向量,输出的向量中的第i个元素是以索引向量的第i个元素作为索引,在矩阵数据的第i列中找到的数,将所述输出向量写回至存储器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京艾溪信息科技有限公司,未经南京艾溪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710907069.6/2.html,转载请声明来源钻瓜专利网。





