改良的乘法器电路制造技术

技术编号:30405518 阅读:13 留言:0更新日期:2021-10-20 11:08
本发明专利技术涉及改良的乘法器电路。一个系统通过评估向量是否包含零值来执行向量与二维矩阵的矩阵乘法。该矩阵的行从第二设备加载到第一存储设备中。零值索引对应的行不会被加载。所述矩阵的列与输入向量的点积被执行并存储。所述矩阵可以存储所述第二存储设备中,使得仅非零条目被存储。所述矩阵的行可以从存储在第一存储设备中的这些条目重建。一存储设备中的这些条目重建。一存储设备中的这些条目重建。

【技术实现步骤摘要】
改良的乘法器电路
[0001]相关申请
[0002]该申请与以下申请有关,并且这些申请的内容以引用的方式并入本文:
[0003]2016年8月11日提交的题为“零系数跳过卷积神经网络引擎”的序列号为62/373,518的美国专利申请;
[0004]2017年8月8日提交的题为“零系数跳过卷积神经网络引擎”的序列号为15/671,829的美国专利申请;以及
[0005]2017年8月8日提交的题为“零系数跳过卷积神经网络引擎”的序列号为15/671,860的美国专利申请。


[0006]本专利技术涉及一种用于执行矩阵乘法,点积,或其他乘法/累加运算的系统和方法。

技术介绍

[0007]许多图形处理应用程序都依赖某种形式的矩阵乘法。矩阵乘法也是许多数学问题的一部分,这些问题也常适合于计算解决方案。矩阵乘法的许多应用,特别是在图形处理和人工智能领域,涉及的矩阵可能非常庞大,可有成千上万的行和列。
[0008]本文公开的系统和方法提供了一种改良的方法,用于计算设备实现矩阵乘法。
附图说明
[0009]为了便于理解本专利技术的优点,本申请将通过参考附图中示出的特定实施例来对简要描述的本专利技术进行更具体的描述。这些附图仅描绘了本专利技术的典型实施例,因此不应被认为是对本专利技术范围的限制。本申请将通过使用附图以附加的特征和细节来描述和解释本专利技术。
[0010]图1示出了一种可以实现本文公开的系统和方法的计算设备;
[0011]图2示出了本文公开的方法的一个示例应用。
[0012]图3提供根据本专利技术一个实施例的用于矩阵乘法的改进方法的示意图。
[0013]图4提供根据本专利技术一个实施例的用于执行矩阵乘法的方法的流程图。
[0014]图5是根据本专利技术一个实施例的用于执行矩阵乘法的一种可选结构的示意性框图。
具体实施方式
[0015]本专利技术的组件可以以多种不同的方式来布置和设计。因此,如附图所示,以下对本专利技术的实施例的更详细的描述并非旨在限制本专利技术所要求的保护范围,而以示意方式说明本专利技术的基本构想。请参考附图以更好地理解此处描述的实施例,其中,相同的组件始终用相同的数字表示。
[0016]根据本专利技术的实施例可以体现为装置,方法或计算机程序产品。相应地,本专利技术可
以采取全硬件实施例,全软件实施例(包括固件,常驻软件,微代码等)或,结合软件和硬件的实施例的形式,在本文中这些方面可被称为“模块”或“系统”。此外,本专利技术的形式可以是在任何有形表达介质中体现的计算机程序产品,在该介质中具有计算机可用的程序代码。
[0017]本专利技术可以利用一种或多种计算机可用或计算机可读介质的任何组合,包括非暂时性介质。例如,计算机可读介质可以包括便携式计算机软盘,硬盘,随机存取存储器(RAM)设备,只读存储器(ROM)设备,可擦除可编程只读存储器(EPROM或闪存)设备,便携式光盘只读存储器(CDROM),光学存储设备和磁性存储设备。在选定的实施例中,计算机可读介质可以包括任何非暂时性介质,其可以包含、存储、通信、传播或传输由指令执行系统、装置或设备使用或与其结合使用的程序。
[0018]本专利技术可以用一种或多种编程语言的任何组合来编写用于执行本专利技术的操作的计算机程序代码,所述编程语言包括诸如Java,Smalltalk,C++等之类的面向对象的编程语言以及诸如“C”编程语言之类的常规过程编程语言。所述程序代码可以完全在计算机系统上作为独立软件包执行,在独立硬件单元上执行,部分在与计算机间隔一定距离的远程计算机上执行,或者完全在远程计算机或服务器上执行。在最后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到计算机,或者可以与外部计算机建立连接(例如,通过使用互联网服务提供商的互联网)。
[0019]下面将参考根据本专利技术实施例的方法、装置(系统)、计算机程序产品的流程图和/或框图描述本专利技术。流程图图示和框图的每个部分都可以通过计算机程序指令或代码来实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或用以生产机器的其他可编程数据处理设备的处理器,从而使计算机或其他可编程数据处理设备的处理器执行的指令可创建用于实现流程图和/或框图中指定的功能/动作。这些计算机程序指令还可以存储在非暂时性计算机可读介质中,该介质可以指导计算机或其他可编程数据处理设备以特定方式运行,从而使存储在计算机可读介质中的指令产生制品,该制品包括指令装置,该指令装置可实现流程图和/或方框图中指定的功能/动作。
[0020]计算机程序指令也可被加载到计算机或其他可编程数据处理设备上,以使一系列操作步骤在计算机或其他可编程设备上执行,以产生计算机实现的过程,从而使计算机或其他可编程数据处理设备的处理器执行的指令提供用于实现流程图和/或框图中指定的功能/动作的过程。
[0021]图1为示例计算设备100的框图。计算设备100可以用于执行各种过程,诸如本文所讨论的过程。计算设备100可以用作服务器、客户端或任何其他计算实体。计算设备可以包含执行本文所公开方法的电路,并且可以执行一个或多个应用程序,例如调用本文公开的方法以计算三角函数的应用程序。计算设备100可以是多种计算设备中的任何一种,例如台式计算机、笔记本计算机、服务器计算机、手持式计算机、平板计算机等。
[0022]计算设备100包括一个或多个处理器102,一个或多个存储设备104,一个或多个接口106,一个或多个大容量存储设备108,一个或多个输入/输出(I/O)设备110,和显示设备130,均耦合到总线112。处理器102包括一个或多个执行存储在存储设备104和/或存储器中的指令的处理器或控制器。处理器102还可以包括各种类型的计算机可读介质,例如高速缓冲存储器。
[0023]存储设备104包括各种计算机可读介质,例如易失性存储器(例如,随机存取存储
器(RAM)114)和/或非易失性存储器(例如,只读存储器(ROM)116)。存储设备104还可以包括可擦写ROM,例如闪存。
[0024]大容量存储设备108包括各种计算机可读介质,例如磁带、磁盘、光盘、固态存储器(例如,闪存)等。如图1所示,一个实例中的大容量存储设备是一个硬盘驱动器124。大容量存储设备108中还可以包括各种驱动器,以使得其能够从各种计算机可读介质读取和/或写入各种计算机可读介质。大容量存储设备108包括可移动介质126和/或不可移动介质。
[0025]I/O设备110包括各种设备,这些设备可将数据和/或其他信息输入到计算设备100或从计算设备100检索所述数据或其他信息。示例I/O设备110包括光标控制设备、键盘、小键盘、麦克风、监视器或其他显示设备、扬声器、打印机、网络接口卡、调制解调器、镜头、CCD或其他图像捕获设备等。
[0026]显示设备130包括能够向计算设备100的一个或多个用户显示信息的任何类型的设备。显示设备130可以是监视器、显示终端本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法,包括:通过一个计算机系统接收一个输入向量;通过所述计算机系统识别所述输入向量中的一个或多个零索引位置,使得在所述一个或多个零索引位置处的输入向量的值为零;由所述计算机系统将定义第一维度和第二维度的一个二维阵列的一部分从第一存储介质加载到存储器中,所述一部分不包括在第一维度中具有与所述一个或多个零索引位置匹配的第一索引的二维阵列的值;由所述计算机系统对所述输入向量和所述二维阵列的一部分执行乘法和累加运算。2.根据权利要求1所述的方法,其中,所述乘法和累加运算是所述输入向量与所述二维阵列的所述一部分的矩阵乘法。3.如权利要求2所述的方法,其特征在于,还包括由所述计算机系统对表示为M的所述二维阵列和表示为A的所述输入向量执行矩阵乘法:设置i=0并执行(a)和(b)直到i等于第二维度中的所述二维阵列的一个维度,并且对k=0到kMax,设置累加器R(k)=0,其中kMax是二维阵列的第二维度中的元素数目,其中(a)和(b)包括:(a)当A(i)不等于零时,对k=0到kMax,计算R(k)作为R(k)=R(k)+A(i)*M(i,k);以及(b)将i递增1。4.根据权利要求1所述的方法,其中,所述二维阵列的每个元素来自一个图像的像素。5.根据权利要求1所述的方法,其中,所述输入向量的每个元素是来自一个音频信号的样本。6.如权利要求1所述的方法,其特征在于,所述二维阵列以多个条目的形式存储在所述第一存储介质中,其中,每个条目包括针对所述二维阵列的一个非零值的第一索引和第二索引。7.如权利要求6所述的方法,其特征在于,所述二维阵列以压缩格式存储在所述第一存储介质中,其中,将所述二维阵列的所述一部分加载到所述存储器中的步骤包括解压缩所述二维阵列的所述一部分。8.根据权利要求1所述的方法,其中,所述存储器是一个芯片上的带有处理设备的高速缓存,其执行所述乘法和累加操作,并且所述存储介质是随机存取存储器(RAM)。9.根据权利要求8所述的方法,其中,对所述输入向量和所述二维阵列的所述一部分执行乘法和累加运算的步骤,包括并行地对所述输入向量和所述二维阵列的一列执行乘法运算。10.一种系统,包括:处理设备;第一存储器;第二存储器,...

【专利技术属性】
技术研发人员:罗文杰高伟伦杨意仲
申请(专利权)人:芯原控股有限公司
类型:发明
国别省市:

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

1