用于定点矩阵乘法的内存减少方法技术

技术编号:19396865 阅读:57 留言:0更新日期:2018-11-10 05:04
实施例包括计算设备、装置、以及由该装置实现的用于计算设备上的定点矩阵乘法的存储减少的方法。计算设备可以采用全精度、使用第一矩阵的定点数据的第一块和第二矩阵的定点数据的第二块来实现部分矩阵乘法,产生第一中间结果。计算设备可以通过将第一中间结果的定点数据转换成采用低精度的定点数据,来对第一中间结果进行下变换,产生第一下变换的中间结果。

【技术实现步骤摘要】
【国外来华专利技术】用于定点矩阵乘法的内存减少方法
技术介绍
在移动设备上大量地使用深度神经网络来实现各种各样的任务,其包括场景检测、人脸识别、图像分类与标注。深度神经网络为了完成这些任务,频繁地使用卷积,卷积运算通常使用矩阵乘法来实现。深度神经网络模型被训练用于浮点运算。在移动设备上,诸如预测模型之类的深度神经网络模型现在也使用定点计算。但是,使用定点计算的深度神经网络模型的很多实现,需要使用额外存储量,其减少了移动设备的执行速度。
技术实现思路
各个实施例包括用于计算设备上的定点矩阵乘法的存储减少的电路和方法。各个实施例可以使用电路和/或执行处理器可执行指令的处理器来实现,其中处理器可执行指令执行包括以下各项的操作:采用全精度、使用第一矩阵的定点数据的第一块和第二矩阵的定点数据的第二块来实现部分矩阵乘法,其产生第一中间结果。随后,可以通过将第一中间结果的定点数据转换成采用低精度的定点数据,对第一中间结果进行下变换,其产生第一下变换的中间结果。一些实施例可以包括:存储第一下变换的中间结果;采用全精度、使用第一矩阵的定点数据的第三块和第二矩阵的定点数据的第四块来实现部分矩阵乘法,其产生第二中间结果,其中第一块和第本文档来自技高网...

【技术保护点】
1.一种用于计算设备上的定点矩阵乘法的存储减少的方法,包括:采用全精度、使用第一矩阵的定点数据的第一块和第二矩阵的定点数据的第二块来实现部分矩阵乘法,产生第一中间结果;以及通过将所述第一中间结果的定点数据转换成采用较低精度的定点数据,来对所述第一中间结果进行下变换,产生第一下变换的中间结果。

【技术特征摘要】
【国外来华专利技术】2016.03.18 US 15/074,4131.一种用于计算设备上的定点矩阵乘法的存储减少的方法,包括:采用全精度、使用第一矩阵的定点数据的第一块和第二矩阵的定点数据的第二块来实现部分矩阵乘法,产生第一中间结果;以及通过将所述第一中间结果的定点数据转换成采用较低精度的定点数据,来对所述第一中间结果进行下变换,产生第一下变换的中间结果。2.根据权利要求1所述的方法,还包括:存储所述第一下变换的中间结果;采用全精度、使用所述第一矩阵的定点数据的第三块和所述第二矩阵的定点数据的第四块来实现部分矩阵乘法,产生第二中间结果,其中,所述第一块和所述第三块表示所述第一矩阵的至少一个完整行,并且所述第二块和所述第四块表示所述第二矩阵的至少一个完整列;通过将所述第二中间结果的定点数据转换成采用较低精度的定点数据,来对所述第二中间结果进行下变换,产生第二下变换的中间结果;以及使用饱和加法,将所述第一下变换的中间结果和所述第二下变换的中间结果进行相加,其中所述饱和加法将作为结果的矩阵的结果输出部分的大小限制于输出精度。3.根据权利要求2所述的方法,还包括:在第一时间段期间,接收所述定点数据的第一块和所述定点数据的第二块;以及在第二时间段期间,接收所述定点数据的第三块和所述定点数据的第四块。4.根据权利要求1所述的方法,其中,对所述第一中间结果进行下变换包括:确定所述第一下变换的中间结果的最大可表示大小;保留在大小上等于或者小于所述第一下变换的中间结果的所述最大可表示大小的所述第一中间结果的保留部分;以及移除所述第一中间结果的丢弃部分,所述第一中间结果的所述丢弃部分包括所述第一中间结果中不能容纳于所述第一下变换的中间结果的所述最大可表示大小的部分。5.根据权利要求4所述的方法,其中,确定所述第一下变换的中间结果的所述最大可表示大小包括:确定能够用于存储所述第一下变换的中间结果的存储器的量。6.根据权利要求4所述的方法,还包括:执行1与所述第一中间结果的所述丢弃部分的最左位的二进制加法;判断1与所述第一中间结果的所述丢弃部分的最左位的二进制加法的结果是否导致进位;以及响应于确定1与所述第一中间结果的所述丢弃部分的最左位的二进制加法导致进位,将所述进位加到所述第一中间结果的所述保留部分的最右位上。7.根据权利要求1所述的方法,其中,对所述第一中间结果进行下变换包括:使用等于输出精度的所述较低精度,对所述第一中间结果进行下变换。8.一种被配置用于定点矩阵乘法的存储减少的矩阵乘法组件,所述矩阵乘法组件被配置为执行包括以下各项的操作:采用全精度、使用第一矩阵的定点数据的第一块和第二矩阵的定点数据的第二块来实现部分矩阵乘法,产生第一中间结果;以及通过将所述第一中间结果的定点数据转换成采用较低精度的定点数据,来对所述第一中间结果进行下变换,产生第一下变换的中间结果。9.根据权利要求8所述的矩阵乘法组件,其中,所述矩阵乘法组件被配置为执行还包括以下各项的操作:存储所述第一下变换的中间结果;采用全精度、使用所述第一矩阵的定点数据的第三块和所述第二矩阵的定点数据的第四块来实现部分矩阵乘法,产生第二中间结果,其中,所述第一块和所述第三块表示所述第一矩阵的至少一个完整行,并且所述第二块和所述第四块表示所述第二矩阵的至少一个完整列;通过将所述第二中间结果的定点数据转换成采用较低精度的定点数据,来对所述第二中间结果进行下变换,产生第二下变换的中间结果;以及使用饱和加法,将所述第一下变换的中间结果和所述第二下变换的中间结果进行相加,其中,所述饱和加法将作为结果的矩阵的结果输出部分的大小限制于输出精度。10.根据权利要求9所述的矩阵乘法组件,其中,所述矩阵乘法组件被配置为执行还包括以下各项的操作:在第一时间段期间,接收所述定点数据的第一块和所述定点数据的第二块;以及在第二时间段期间,接收所述定点数据的第三块和所述定点数据的第四块。11.根据权利要求8所述的矩阵乘法组件,其中,所述矩阵乘法组件被配置为执行操作,使得对所述第一中间结果进行下变换包括:确定所述第一下变换的中间结果的最大可表示大小;保留在大小上等于或者小于所述第一下变换的中间结果的所述最大可表示大小的所述第一中间结果的保留部分;以及移除所述第一中间结果的丢弃部分,所述第一中间结果的所述丢弃部分包括所述第一中间结果中不能容纳于所述第一下变换的中间结果的所述最大可表示大小的部分。12.根据权利要求11所述的矩阵乘法组件,其中,所述矩阵乘法组件被配置为执行操作,使得确定所述第一下变换的中间结果的所述最大可表示大小包括:确定能够用于存储所述第一下变换的中间结果的存储器的量。13.根据权利要求11所述的矩阵乘法组件,其中,所述矩阵乘法组件被配置为执行还包括以下各项的操作:执行1与所述第一中间结果的所述丢弃部分的最左位的二进制加法;判断1与所述第一中间结果的所述丢弃部分的最左位的二进制加法的结果是否导致进位;以及响应于确定1与所述第一中间结果的所述丢弃部分的最左位的二进制加法导致进位,将所述进位加到所述第一中间结果的所述保留部分的最右位上。14.根据权利要求8所述的矩阵乘法组件,其中,所述矩阵乘法组件被配置为执行操作,使得对所述第一中间结果进行下变换包括:使用等于输出精度的所述较低精度,对所述第一中间结果进行下变换。15.根据权利要求8所述的矩阵乘法组件,其中,所述矩阵乘法组件包括被配置有处理器可执行指令,以执行以下各项的操作的处理器:采用全精度、使用所述第一矩阵的所述定点数据的第一块和所述第二矩阵的所述定点数据的第二块来实现所述部分矩阵乘法,产生所述第一中间结果;以及通过将所述第一中间结果的定点数据转换成采用较低精度的定点数据,来对所述第一中间结果进行下变换,产生所述第一下变换的中间结果。16.根据权利要求8所述的矩阵乘法组件,其中,所述矩阵乘法组件包括:全精度矩阵乘法器,其被配置为执行以下的操作:采用全精度、使用所述第一矩阵的所述定点数据的第一块和所述第二矩阵的所述定点数据的第二块来实现所述部分矩阵乘法,产...

【专利技术属性】
技术研发人员:M·L·巴丁N·怀特黑德
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国,US

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

1