一种用于执行矩阵乘运算的装置和方法制造方法及图纸

技术编号:24010160 阅读:35 留言:0更新日期:2020-05-02 01:28
本披露公开了一种用于执行矩阵乘运算的装置,其特征在于,包括:存储单元,用于存储矩阵运算指令相关的矩阵数据;寄存器单元,用于存储矩阵运算指令相关的标量数据;控制单元,用于对矩阵运算指令进行译码,并控制矩阵运算指令的运算过程;矩阵运算单元,用于根据译码后的矩阵运算指令,对输入矩阵进行矩阵乘运算操作;其中,所述矩阵运算单元为定制的硬件电路。

A device and method for matrix multiplication

【技术实现步骤摘要】
一种用于执行矩阵乘运算的装置和方法本公开为如下专利申请的分案申请:申请号CN201610266627.0;申请日2016年4月26日;专利技术名称“一种用于执行矩阵乘运算的装置和方法”。
本公开涉及计算机领域,尤其涉及一种用于执行矩阵乘运算的装置和方法。
技术介绍
当前计算机领域,伴随着大数据、机器学习等新兴技术的成熟,越来越多的任务中包含了各种各样的矩阵乘运算,尤其是大矩阵的乘运算,这些往往成为算法速度和效果提高的瓶颈。以目前火热的深度学习为例,其中就包含着大量的矩阵乘运算。在深度学习的人工神经网络全连接层中,输出神经元的运算表达式为y=f(wx+b),其中w是权值矩阵,x是输入向量,b是偏置向量,计算输出矩阵y的过程为矩阵w与向量x相乘,加上向量b,然后对得到的向量进行激活函数运算(即对矩阵中的每个元素进行激活函数运算)。在这个过程中,矩阵乘向量运算的复杂度远高于之后的加偏置和做激活的操作,高效的实现前者对于整个运算过程有着最重要的影响。由此可见,高效实现矩阵乘运算是提升许多计算机算法的有效方法。在现有技术中,一种进行矩阵运本文档来自技高网...

【技术保护点】
1.一种矩阵运算单元,其特征在于,用以识别矩阵运算指令进行乘运算,所述运算单元包括:/n主运算模块;以及/n从运算模块;/n其中,当所述矩阵运算指令为矩阵乘矩阵、矩阵乘向量或向量乘矩阵时,所述主运算模块与所述从运算模块分别进行对位相乘以完成所述乘运算;当所述矩阵运算指令为矩阵乘标量时,所述主运算模块进行对位相乘以完成所述乘运算。/n

【技术特征摘要】
1.一种矩阵运算单元,其特征在于,用以识别矩阵运算指令进行乘运算,所述运算单元包括:
主运算模块;以及
从运算模块;
其中,当所述矩阵运算指令为矩阵乘矩阵、矩阵乘向量或向量乘矩阵时,所述主运算模块与所述从运算模块分别进行对位相乘以完成所述乘运算;当所述矩阵运算指令为矩阵乘标量时,所述主运算模块进行对位相乘以完成所述乘运算。


2.根据权利要求1所述的矩阵运算单元,其中所述主运算模块存储第一矩阵,所述从运算模块包括:
第一从运算模块,存储第二矩阵多列数据的第一列数据;以及
第二从运算模块,存储所述第二矩阵多列数据的第二列数据;
其中所述第一矩阵分别与所述第一列数据,及所述第二列数据进行对位相乘。


3.根据权利要求2所述的矩阵运算单元,所述第一矩阵包括第一行数据及第二行数据,其中:
所述主运算模块将所述第一行数据广播给所述第一从运算模块及所述第二从运算模块,所述第一从运算模块将所述第一行数据及所述第一列数据进行点积运算,所述第二从运算模块将所述第一行数据及所述第二列数据进行点积运算;
所述主运算模块将所述第二行数据广播给所述第一从运算模块及所述第二从运算模块,所述第一从运算模块将所述第二行数据及所述第一列数据进行点积运算,所述第二从运算模块将所述第二行数据及所述第二列数据进行点积运算。


4.根据权利要求3所述的矩阵运算单元,其中所述主运算模块根据所述第一从运算模块和所述第二从运算模块返回的点积运算结果获得结果矩阵。


5.根据权利要求3所述的矩阵运算单元,其中所述第一从运算模块包括:
对位乘模块,用以执行所述第一行数据及所述第一列数据的对位相乘,产生对位相乘结果数据;
加法树模块,用以将所述对位相乘结果数据加成一个数;以及
累加模块,用以将所述加法树模块的所述数进行累加。


6.根据权利要求5所述的矩阵运算单元,其中所述对位乘模块每次取出特定位宽进行计算,该特定位宽等于所述对位乘模块的计算位宽。


7.根据权利要求1所述的矩阵运算单元,其中所述主运算模块包含...

【专利技术属性】
技术研发人员:张潇刘少礼陈天石陈云霁
申请(专利权)人:中科寒武纪科技股份有限公司
类型:发明
国别省市:北京;11

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

1