CN112286864A - 加速可重构处理器运行的稀疏化数据处理方法及系统 - Google Patents

加速可重构处理器运行的稀疏化数据处理方法及系统 Download PDF

Info

Publication number
CN112286864A
CN112286864A CN202011552162.8A CN202011552162A CN112286864A CN 112286864 A CN112286864 A CN 112286864A CN 202011552162 A CN202011552162 A CN 202011552162A CN 112286864 A CN112286864 A CN 112286864A
Authority
CN
China
Prior art keywords
weight
group
calculation
unit
calculated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011552162.8A
Other languages
English (en)
Other versions
CN112286864B (zh
Inventor
唐士斌
欧阳鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qingwei Intelligent Technology Co ltd
Original Assignee
Beijing Qingwei Intelligent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qingwei Intelligent Technology Co ltd filed Critical Beijing Qingwei Intelligent Technology Co ltd
Priority to CN202011552162.8A priority Critical patent/CN112286864B/zh
Publication of CN112286864A publication Critical patent/CN112286864A/zh
Priority to PCT/CN2021/096490 priority patent/WO2022134465A1/zh
Priority to US17/904,360 priority patent/US20230068450A1/en
Application granted granted Critical
Publication of CN112286864B publication Critical patent/CN112286864B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • G06F17/153Multidimensional correlation or convolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Abstract

本发明提供加速可重构处理器运行的稀疏化数据处理方法,包括:沿待计算稀疏化权重矩阵的行列方向以P×Q为一个划分单元,将权重矩阵划分为多个单元块。将待计算权重矩阵中的列向单元块组成为一组。根据分组划分数量沿待计算权重矩阵的列向将待计算权重矩阵划分为多个计算组。PE阵列依次读取计算组中各单元块的向量值,将当前单元的非零权重值和距离上一非零权重的零权重单元间隔数作为当前单元的有效权重地址存入与计算组能对应的存储地址中。从而本发明采用的分组规则稀疏化策略更有利算法精度收敛,在同样的算法精度下,可以提供更高的稀疏率。同时,本发明提供了加速可重构处理器运行的稀疏化数据处理系统。

Description

加速可重构处理器运行的稀疏化数据处理方法及系统
技术领域
本发明涉及可重构处理器领域,具体应用于可重构处理器在度学习的神经网络计算在图像检测、图像识别、语音识别等领域的计算。本发明具体涉及加速可重构处理器运行的稀疏化数据处理方法及系统。
背景技术
基于深度学习的神经网络计算在图像检测、图像识别、语音识别等领域被广泛的应用,而神经网络中的卷积运算与全连接运算消耗大量的存储资源、计算资源与带宽资源,成为神经网络在智能摄像头、智能耳机、智能音箱等智能设备上实施的瓶颈。稀疏化技术是一种通过训练的方式约束卷积计算与全连接运算中用到权重中非零权重的比例,以此降低存储权重的存储开销。同时研究发现,稀疏化同样可以用于减少卷积计算与全连接计算的乘加次数,并减少数据传输的带宽。然而,训练过程中随机的稀疏化权重不利于充分挖掘硬件的计算资源与带宽资源。
发明内容
本发明的目的是提供加速可重构处理器运行的稀疏化数据处理方法,采用的分组规则稀疏化策略更有利算法精度收敛,在同样的算法精度下,可以提供更高的稀疏率。
本发明的另一个目的是提供加速可重构处理器运行的稀疏化数据处理系统,在同样的算法精度下,可以提供更高的稀疏率。
本发明的第一个方面,提供了加速可重构处理器运行的稀疏化数据处理方法,可重构处理器包括PE阵列。PE阵列具有P×Q个PE单元。稀疏化数据处理方法包括:
步骤S101,沿待计算稀疏化权重矩阵的行列方向以P×Q为一个划分单元,将权重矩阵划分为多个单元块。单元块中包括多个有效权重。
步骤S102,将待计算权重矩阵中的列向单元块组成为一组。判断一组中单元块中有效权重总数是否多于P*Q/2,若是,则将一组平均拆分为两组单元块。获取待计算权重矩阵中不超过P*Q/2的一组单元块数量为分组划分数量。根据分组划分数量沿待计算权重矩阵的列向将待计算权重矩阵划分为多个计算组。
步骤S103,PE阵列依次读取所述计算组中各单元块的向量值,若当前单元块的向量值为非零权重,则将当前单元块的非零权重值和距离上一非零权重的零权重单元块间隔数作为当前单元块的有效权重地址存入与所述计算组能对应的存储地址中。
在本发明提供了加速可重构处理器运行的稀疏化数据处理方法的另一种实施方式中,步骤S103后还包括:
步骤S104,通过PE中的P*Q个PE单元,根据待处理阵列的每个计算组的有效权重地址获取有效权重地址所对应的非零权重值及其对应的存储地址。根据非零权重值对应的存储地址读取其对应的卷积计算值。
步骤S105,根据每个计算组中的非零权重值其对应的卷积计算值实现深度学习的神经网络模型中的卷积或全连接层计算。
在本发明提供了加速可重构处理器运行的稀疏化数据处理方法的又一种实施方式中,步骤S105后还包括:步骤S106,输出神经网络模型中的卷积或全连接层计算结果。
在本发明提供了加速可重构处理器运行的稀疏化数据处理方法的又一种实施方式中,PE阵列中的P×Q个PE单元为8×8的PE单元。
本发明的第二个方面,提供了加速可重构处理器运行的稀疏化数据处理系统,可重构处理器包括PE阵列。PE阵列具有P×Q个PE单元。稀疏化数据处理系统包括:
一个权重划分单元,其配置为沿待计算稀疏化权重矩阵的行列方向以P×Q为一个划分单元,将权重矩阵划分为多个单元块。单元块中包括多个有效权重。
一个分组单元,其配置为将待计算权重矩阵中的列向单元块组成为一组。判断一组中单元块中有效权重总数是否多于P*Q/2,若是,则将一组平均拆分为两组单元块。获取待计算权重矩阵中不超过P*Q/2的一组单元块数量为分组划分数量。根据分组划分数量沿待计算权重矩阵的列向将待计算权重矩阵划分为多个计算组。和
一个存储单元,其配置为PE阵列依次读取所述计算组中各单元块的向量值,若当前单元块的向量值为非零权重,则将当前单元块的非零权重值和距离上一非零权重的零权重单元块间隔数作为当前单元块的有效权重地址存入与所述计算组能对应的存储地址中。
在本发明提供了加速可重构处理器运行的稀疏化数据处理系统的另一种实施方式中,该系统还包括:
一个提取单元,其配置为通过PE中的P×Q个PE单元,根据待处理阵列的每个计算组的有效权重地址获取有效权重地址所对应的非零权重值及其对应的存储地址。根据非零权重值对应的存储地址读取其对应的卷积计算值。和
一个计算单元,其配置为根据每个计算组中的非零权重值其对应的卷积计算值实现深度学习的神经网络模型中的卷积或全连接层计算。
在本发明提供了加速可重构处理器运行的稀疏化数据处理系统的再一种实施方式中,该系统还包括:一个输出单元,其配置为输出神经网络模型中的卷积或全连接层计算结果。
在本发明提供了加速可重构处理器运行的稀疏化数据处理系统的再一种实施方式中,PE阵列中的P×Q个PE单元为8×8的PE单元。
下文将以明确易懂的方式,结合附图对加速可重构处理器运行的稀疏化数据处理方法及系统的特性、技术特征、优点及其实现方式予以进一步说明。
附图说明
图1是用于说明在本发明一种实施方式中,加速可重构处理器运行的稀疏化数据处理方法的流程示意图。
图2是用于说明在本发明另一种实施方式中,加速可重构处理器运行的稀疏化数据处理方法的流程示意图。
图3是用于说明在本发明再一种实施方式中,加速可重构处理器运行的稀疏化数据处理方法的流程示意图。
图4是用于说明在本发明一种实施方式中,加速可重构处理器运行的稀疏化数据处理系统的组成示意图。
图5是用于说明在本发明一种实施方式中,权重矩阵的一种划分示意图。
图6是用于说明在本发明一种实施方式中,权重矩阵的另一种划分示意图。
图7是用于说明在本发明一种实施方式中,一种稀疏化矩阵存储格式的示意图。
图8是用于说明在本发明一种实施方式中,另一种稀疏化矩阵存储格式的示意图。
图9是用于说明在本发明一种实施方式中,再一种稀疏化矩阵存储格式的示意图。
具体实施方式
为了对发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式,在各图中相同的标号表示结构相同或结构相似但功能相同的部件。
在本文中,“示意性”表示“充当实例、例子或说明”,不应将在本文中被描述为“示意性”的任何图示、实施方式解释为一种更优选的或更具优点的技术方案。为使图面简洁,各图中只示意性地表示出了与本示例性实施例相关的部分,它们并不代表其作为产品的实际结构及真实比例。
本发明的第一个方面,提供了加速可重构处理器运行的稀疏化数据处理方法,可重构处理器包括PE阵列。PE阵列具有P×Q个PE单元。如图1所示,稀疏化数据处理方法包括:
步骤S101,划分多个单元块。
本步骤中,沿待计算稀疏化权重矩阵的行列方向以P×Q为一个划分单元,将权重矩阵划分为多个单元块。单元块中包括多个有效权重。
本发明提出了一种硬件友好的规则稀疏方法与加速硬件设计。规则稀疏化,是一种分组稀疏化结构。
如,将一个权重矩阵MxN以Q x P为粒度分成(M/Q)x(N/P)个小块,其中约束矩阵Kx Q中的权重数量不超过P*Q/2(其中P和Q表示了卷积阵列的尺寸)。即PE阵列中P×Q个PE单元的尺寸。
以具体实例来讲,图5所示,给出了一个64x64的权重矩阵,其中P=8,Q=8(即PE阵列为8×8个PE单元),即对权重矩阵的划分单元为PE阵列中PE单元的数量,从而便于通过PE阵列对权重矩阵计算。
图5所示,划分单元块1.......64(对应划分区域1、2.....64)每一个中所包括的8×8个单元,从而将整个64x64的权重矩阵分成了8x8个矩阵。
步骤S102,获取多个计算组。
本步骤中,将待计算权重矩阵中的列向单元块组成为一组。判断一组中单元块中有效权重总数是否多于P×Q/2,若是,则将一组平均拆分为两组单元块。获取待计算权重矩阵中不超过P×Q/2的一组单元块数量为分组划分数量。根据分组划分数量沿待计算权重矩阵的列向将待计算权重矩阵划分为多个计算组。
例如,图5所示,将计算权重矩阵中的列向单元块1~8组成一组。其组成一组的原则是,其组内的有效权重(即非零权重)数量不超过(8×8)/2(PE单元数量的1/2),即32个,原因在于,其64个PE单元中要预留1/2,作为上述有效权重的地址存储位置。
例如:当一组中单元块1~8的有效权重数量小于32时,如1~8个单元块中有效权重数量为20、9~16个单元块中有效权重数量为15、17~24个单元块中有效权重数量为10、25~32个单元块中有效权重数量为31、33~40个单元块中有效权重数量为30、41~48个单元块中有效权重数量为28、49~56个单元块中有效权重数量为8、57~64个单元块中有效权重数量为11。
从上述单元块的有效权重数量可知,其有效权重数量最多的一组为,25~32个单元块中有效权重数量为31。因没有超过32,因此其可以将列向的8个单元块划分为一组,权重矩阵将被划分为8组,分别为1~8个单元块的第一组、9~16个单元块的第二组......57~64个单元块的第八组。
如图6所示,当一组中单元块1~8的有效权重数量超过32时,如1~8个单元块中有效权重数量为56时,则将1~8拆分为:1~4单元块为一组5~8单元块一组,以此类推。直到其一个计算组中单元块的有效权重数量小于32为止。因此,其可以将列向的4个单元块划分为一组,权重矩阵将被划分为8组,分别为1~4个单元块的第一组G1、5~16个单元块的第二组......61~64个单元块的第128组。因此,在一个权重矩阵中,计算组的划分依据为列向单元块组合后能小于32的组合。
图5以64x64的权重矩阵为例,其中K=32,P=8,约束K x Q中的权重数量不超过32=8^2/2。按照对工程应用需求的不同,可以灵活选取不同的分组策略,如:八个矩阵划分为一个组(group),记为G8,如图6所示,每个G8的区域包含8个8x8矩阵(一个方格表示一个8x8矩阵),不超过P*Q/2个非零权重,即非零权重少于32。如:四个矩阵划分为一个组(group),
对于全连接计算的权重矩阵,M=fo,N=fi;其中,fo为:输出特征通道数;fi为:输入特征通道数。
对于卷积计算的卷积权重模板,M=fo,N=kx*ky*fi;其中,fo为:输出特征通道数;fi为:输入特征通道数; kx、ky为:卷积模板的尺寸。
因此,本发明采用的分组稀疏化方式同时适用于卷积、全连接计算的权重稀疏化。此外,相比于现有技术提出的聚集规则稀疏化,本发明采用的分组规则稀疏化策略更有利算法精度收敛,在同样的算法精度下,可以提供更高的稀疏率。
步骤S103,获取有效权重地址。
本步骤中,PE阵列依次读取所述计算组中各单元块的向量值,若当前单元块的向量值为非零权重,则将当前单元块的非零权重值和距离上一非零权重的零权重单元块间隔数作为当前单元块的有效权重地址存入与所述计算组能对应的存储地址中。
如图7所示,稀疏化矩阵存储格式,本发明采用稀疏化编码的方式对稀疏化后的权重矩阵进行存储,用非零权重值与非零权重值之间的间隔位数,轮流排列,实现了对权重矩阵的压缩,如在G8情况下,可以达到压缩4倍的效果。具体存储格式如下图所示,图6展示了对于一个16位向量,如何采用本发明的存储格式进行压缩,黄色部分为非零部分,白色部分全为零,按照本发明的存储方式,该向量记为(A,0)(B,3)(C,7)(D,2),数字表示两个非零权重之间零的个数,相较于原存储向量A000B0000000C00D,有效的降低了存储的容量,减少了数据传输的带宽。
硬件加速设计,本发明采用一个P*Q的MAC阵列加速卷积与稀疏化操作。P*Q的MAC阵列,每次读入一个P维的输入特征向量与P*Q个权重,计算得到Q维的输出特征向量。
在稀疏化模式下,每次读入K维的特征向量与稀疏化后的P*Q/2个非零权重,计算时通过对存储格式中的间隔长度数值的提取,将约束矩阵还原,获得每个非零权重对应相乘的输入特征向量的位置,计算得到Q维的输出特征向量。
稀疏化解码:根据稀疏化编码,从矩阵的左上角开始,从上到下,从左到右补全K xQ矩阵。例如以6x4的矩阵为例,他的稀疏化编码(1,0)(2,3)(4,5)(3,6)(5,5),括号中,第一个数表示非零权重值,第二个数表示这个非零数和上一个非零数或者起点的间隔。这个矩阵是如图8所示。
此时将稀疏化编码解码成为数据和地址的形式(value,address),因为约束矩阵一共有64*8(29)个数,故地址长度为9bit。
在约束后的K x Q矩阵中,每一列只允许最多8个非零数值,通过逻辑电路将这些非零数值取出并且读出非零权重以及所在列的序号,以图7所示矩阵为例,就有第一个非零数1的权重值为1,他的序号是1;第二个非零数的数值是2,他的序号是5。如图7所示。
根据这一列读出的序号,取出所给K维输入特征向量对应序号下的数值,然后将相同序号下列向量中的数值和矩阵第一列序号下的数值进行乘加操作,并借此得到输出数值,在图9的情况下,就是1x2+2x9=20。并行展开,同时把每一行非零权重与输入特征向量进行乘加操作,总共得到Q个这样加乘的结果数值,输出一个Q维的结果向量output。
比如在第二列中,只有一个非零数4,序号是5,那么应该从特征向量中取出第五个数值也就是9,得到4x9=36;再到第三列,取出非零数3,序号是6,然后与特征向量中第6个数值相乘,也就是3x8 =24;再到第四列,取出非零数5,序号是6,然后与特征向量中第6个数值相乘,也就是5x8=40。这样我们得到了这样操作下的四个数:20,36,24,40。则output为(20,36,24,40)。如果是一个Q列矩阵,那么会这样子得到Q个数值,将这Q个数构成一个向量,也就是output向量。
如图2所示,在本发明提供了加速可重构处理器运行的稀疏化数据处理方法的另一种实施方式中,步骤S103后还包括:
步骤S104,读取卷积计算值。
本步骤中,通过PE中的P×Q个PE单元,根据待处理阵列的每个计算组的有效权重地址获取有效权重地址所对应的非零权重值及其对应的存储地址。根据非零权重值对应的存储地址读取其对应的卷积计算值。
步骤S105,实现卷积或全连接层计算。
本步骤中,根据每个计算组中的非零权重值其对应的卷积计算值实现深度学习的神经网络模型中的卷积或全连接层计算。
在本发明提供了加速可重构处理器运行的稀疏化数据处理方法的又一种实施方式中,如图3所示,在步骤S105后还包括:
步骤S106,输出结果。
在本步骤中,输出神经网络模型中的卷积或全连接层计算结果。
在本发明提供了加速可重构处理器运行的稀疏化数据处理方法的又一种实施方式中,PE阵列中的P×Q个PE单元为8×8的PE单元。
本发明的第二个方面,提供了加速可重构处理器运行的稀疏化数据处理系统,如图4所示,可重构处理器包括PE阵列。PE阵列具有P×Q个PE单元。稀疏化数据处理系统包括:
一个权重划分单元101,其配置为沿待计算稀疏化权重矩阵的行列方向以P×Q为一个划分单元,将权重矩阵划分为多个单元块。单元块中包括多个有效权重。
一个分组单元201,其配置为将待计算权重矩阵中的列向单元块组成为一组。判断一组中单元块中有效权重总数是否多于P*Q/2,若是,则将一组平均拆分为两组单元块。获取待计算权重矩阵中不超过P*Q/2的一组单元块数量为分组划分数量。根据分组划分数量沿待计算权重矩阵的列向将待计算权重矩阵划分为多个计算组。和
一个存储单元301,其配置为PE阵列依次读取所述计算组中各单元块的向量值,若当前单元块的向量值为非零权重,则将当前单元块的非零权重值和距离上一非零权重的零权重单元块间隔数作为当前单元块的有效权重地址存入与所述计算组能对应的存储地址中。
如图4所示,在本发明提供了加速可重构处理器运行的稀疏化数据处理系统的另一种实施方式中,该系统还包括:
一个提取单元401,其配置为通过PE中的P*Q个PE单元,根据待处理阵列的每个计算组的有效权重地址获取有效权重地址所对应的非零权重值及其对应的存储地址。根据非零权重值对应的存储地址读取其对应的卷积计算值。和
一个计算单元501,其配置为根据每个计算组中的非零权重值其对应的卷积计算值实现深度学习的神经网络模型中的卷积或全连接层计算。
在本发明提供了加速可重构处理器运行的稀疏化数据处理系统的再一种实施方式中,该系统还包括:一个输出单元,其配置为输出神经网络模型中的卷积或全连接层计算结果。
在本发明提供了加速可重构处理器运行的稀疏化数据处理系统的再一种实施方式中,PE阵列中的P*Q个PE单元为8×8的PE单元。
应当理解,虽然本说明书是按照各个实施方式中描述的,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。

Claims (8)

1.加速可重构处理器运行的稀疏化数据处理方法,其特征在于,所述可重构处理器包括PE阵列;所述PE阵列具有P×Q个PE单元;所述稀疏化数据处理方法包括:
步骤S101,沿待计算稀疏化权重矩阵的行列方向以P×Q为一个划分单元,将所述权重矩阵划分为多个单元块;所述单元块中包括多个有效权重;
步骤S102,将所述待计算权重矩阵中的列向单元块组成为一组;判断所述一组中单元块中有效权重总数是否多于P×Q/2,若是,则将所述一组平均拆分为两组单元块;获取待计算权重矩阵中不超过P×Q/2的一组单元块数量为分组划分数量;根据所述分组划分数量沿所述待计算权重矩阵的列向将所述待计算权重矩阵划分为多个计算组;
步骤S103,所述PE阵列依次读取所述计算组中各单元块的向量值,若当前单元块的向量值为非零权重,则将当前单元块的非零权重值和距离上一非零权重的零权重单元块间隔数作为当前单元块的有效权重地址存入与所述计算组能对应的存储地址中。
2.根据权利要求1所述的稀疏化数据处理方法,其特征在于,所述步骤S103后还包括:
步骤S104,通过所述PE中的P×Q个PE单元,根据待处理阵列的每个计算组的有效权重地址获取所述有效权重地址所对应的非零权重值及其对应的存储地址;根据所述非零权重值对应的存储地址读取其对应的卷积或全连接的特征输入值;
步骤S105,根据每个计算组中的非零权重值其对应的特征输入值实现深度学习的神经网络模型中的卷积或全连接层计算。
3.根据权利要求2所述的稀疏化数据处理方法,其特征在于,所述步骤S105后还包括:
步骤S106,输出所述神经网络模型中的卷积或全连接层计算结果。
4.根据权利要求1所述的稀疏化数据处理方法,其特征在于,所述PE阵列中的P×Q个PE单元为8×8的PE单元。
5.加速可重构处理器运行的稀疏化数据处理系统,其特征在于,所述可重构处理器包括PE阵列;所述PE阵列具有P×Q个PE单元;所述稀疏化数据处理系统包括:
一个权重划分单元,其配置为沿待计算稀疏化权重矩阵的行列方向以P×Q为一个划分单元,将所述权重矩阵划分为多个单元块;所述单元块中包括多个有效权重;
一个分组单元,其配置为将所述待计算权重矩阵中的列向单元块组成为一组;判断所述一组中单元块中有效权重总数是否多于P×Q/2,若是,则将所述一组平均拆分为两组单元块;获取待计算权重矩阵中不超过P×Q/2的一组单元块数量为分组划分数量;根据所述分组划分数量沿所述待计算权重矩阵的列向将所述待计算权重矩阵划分为多个计算组;和
一个存储单元,其配置为所述PE阵列依次读取所述计算组中各单元块的向量值,若当前单元块的向量值为非零权重,则将当前单元块的非零权重值和距离上一非零权重的零权重单元块间隔数作为当前单元块的有效权重地址存入与所述计算组能对应的存储地址中。
6.根据权利要求5所述的稀疏化数据处理系统,其特征在于,所述系统还包括:
一个提取单元,其配置为通过所述PE中的P×Q个PE单元,根据待处理阵列的每个计算组的有效权重地址获取所述有效权重地址所对应的非零权重值及其对应的存储地址;根据所述非零权重值对应的存储地址读取其对应的卷积或全连接的特征输入值;和
一个计算单元,其配置为根据每个计算组中的非零权重值其对应的卷积或全连接的特征输入值实现深度学习的神经网络模型中的卷积或全连接层计算。
7.根据权利要求6所述的稀疏化数据处理系统,其特征在于,所述系统还包括:
一个输出单元,其配置为输出所述神经网络模型中的卷积或全连接层计算结果。
8.根据权利要求5所述的稀疏化数据处理系统,其特征在于,所述PE阵列中的P×Q个PE单元为8×8的PE单元。
CN202011552162.8A 2020-12-24 2020-12-24 加速可重构处理器运行的稀疏化数据处理方法及系统 Active CN112286864B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202011552162.8A CN112286864B (zh) 2020-12-24 2020-12-24 加速可重构处理器运行的稀疏化数据处理方法及系统
PCT/CN2021/096490 WO2022134465A1 (zh) 2020-12-24 2021-05-27 加速可重构处理器运行的稀疏化数据处理方法和装置
US17/904,360 US20230068450A1 (en) 2020-12-24 2021-05-27 Method and apparatus for processing sparse data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011552162.8A CN112286864B (zh) 2020-12-24 2020-12-24 加速可重构处理器运行的稀疏化数据处理方法及系统

Publications (2)

Publication Number Publication Date
CN112286864A true CN112286864A (zh) 2021-01-29
CN112286864B CN112286864B (zh) 2021-06-04

Family

ID=74426070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011552162.8A Active CN112286864B (zh) 2020-12-24 2020-12-24 加速可重构处理器运行的稀疏化数据处理方法及系统

Country Status (3)

Country Link
US (1) US20230068450A1 (zh)
CN (1) CN112286864B (zh)
WO (1) WO2022134465A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076083A (zh) * 2021-06-04 2021-07-06 南京后摩智能科技有限公司 数据乘加运算电路
WO2022134465A1 (zh) * 2020-12-24 2022-06-30 北京清微智能科技有限公司 加速可重构处理器运行的稀疏化数据处理方法和装置
CN115309349A (zh) * 2022-10-12 2022-11-08 深圳鲲云信息科技有限公司 深度学习的稀疏数据存储方法、计算机设备和存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116306811B (zh) * 2023-02-28 2023-10-27 苏州亿铸智能科技有限公司 一种针对ReRAM部署神经网络的权重分配方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009035185A1 (en) * 2007-09-11 2009-03-19 Core Logic Inc. Reconfigurable array processor for floating-point operations
US20100211747A1 (en) * 2009-02-13 2010-08-19 Shim Heejun Processor with reconfigurable architecture
CN102572415A (zh) * 2010-12-17 2012-07-11 清华大学 在可重构处理器上映射和实现的运动补偿算法的方法
CN102638659A (zh) * 2012-03-28 2012-08-15 西安电子科技大学 基于cmos-tdi模式的高分辨率成像系统及方法
US8972958B1 (en) * 2012-10-23 2015-03-03 Convey Computer Multistage development workflow for generating a custom instruction set reconfigurable processor
CN104679670A (zh) * 2015-03-10 2015-06-03 东南大学 一种面向fft和fir的共享数据缓存结构及管理方法
US20160162294A1 (en) * 2014-12-07 2016-06-09 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Reconfigurable processors and methods for collecting computer program instruction execution statistics
CN110737628A (zh) * 2019-10-17 2020-01-31 辰芯科技有限公司 一种可重构处理器和可重构处理器系统
CN110888832A (zh) * 2018-09-10 2020-03-17 东京计器株式会社 可重构处理器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109993297A (zh) * 2019-04-02 2019-07-09 南京吉相传感成像技术研究院有限公司 一种负载均衡的稀疏卷积神经网络加速器及其加速方法
CN114341825A (zh) * 2019-08-29 2022-04-12 阿里巴巴集团控股有限公司 用于在神经网络中提供向量稀疏化的方法及系统
CN112116084A (zh) * 2020-09-15 2020-12-22 中国科学技术大学 可重构平台上固化全网络层的卷积神经网络硬件加速器
CN112286864B (zh) * 2020-12-24 2021-06-04 北京清微智能科技有限公司 加速可重构处理器运行的稀疏化数据处理方法及系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009035185A1 (en) * 2007-09-11 2009-03-19 Core Logic Inc. Reconfigurable array processor for floating-point operations
US20100211747A1 (en) * 2009-02-13 2010-08-19 Shim Heejun Processor with reconfigurable architecture
CN102572415A (zh) * 2010-12-17 2012-07-11 清华大学 在可重构处理器上映射和实现的运动补偿算法的方法
CN102638659A (zh) * 2012-03-28 2012-08-15 西安电子科技大学 基于cmos-tdi模式的高分辨率成像系统及方法
US8972958B1 (en) * 2012-10-23 2015-03-03 Convey Computer Multistage development workflow for generating a custom instruction set reconfigurable processor
US20160162294A1 (en) * 2014-12-07 2016-06-09 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Reconfigurable processors and methods for collecting computer program instruction execution statistics
CN104679670A (zh) * 2015-03-10 2015-06-03 东南大学 一种面向fft和fir的共享数据缓存结构及管理方法
CN110888832A (zh) * 2018-09-10 2020-03-17 东京计器株式会社 可重构处理器
CN110737628A (zh) * 2019-10-17 2020-01-31 辰芯科技有限公司 一种可重构处理器和可重构处理器系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LIU LEIBO 等: "Row-based configuration mechanism for a 2-D processing element array in coarse-grained reconfigurable architecture", 《SCIENCE CHINA INFORMATION SCIENCES》 *
李小泉: "面向分组加密算法的可重构阵列处理单元优化与设计", 《中国优秀硕士学位论文全文数据库》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022134465A1 (zh) * 2020-12-24 2022-06-30 北京清微智能科技有限公司 加速可重构处理器运行的稀疏化数据处理方法和装置
CN113076083A (zh) * 2021-06-04 2021-07-06 南京后摩智能科技有限公司 数据乘加运算电路
CN113076083B (zh) * 2021-06-04 2021-08-31 南京后摩智能科技有限公司 数据乘加运算电路
CN115309349A (zh) * 2022-10-12 2022-11-08 深圳鲲云信息科技有限公司 深度学习的稀疏数据存储方法、计算机设备和存储介质

Also Published As

Publication number Publication date
US20230068450A1 (en) 2023-03-02
CN112286864B (zh) 2021-06-04
WO2022134465A1 (zh) 2022-06-30

Similar Documents

Publication Publication Date Title
CN112286864B (zh) 加速可重构处理器运行的稀疏化数据处理方法及系统
US10534839B2 (en) Method for matrix by vector multiplication for use in artificial neural network
CN111445012B (zh) 一种基于fpga的分组卷积硬件加速器及其方法
CN111062472B (zh) 一种基于结构化剪枝的稀疏神经网络加速器及其加速方法
KR20200037748A (ko) 칩 장치 및 관련 제품
CN112668708B (zh) 一种提高数据利用率的卷积运算装置
WO2022037257A1 (zh) 卷积计算引擎、人工智能芯片以及数据处理方法
CN109284824B (zh) 一种基于可重构技术的用于加速卷积和池化运算的装置
CN112257844B (zh) 一种基于混合精度配置的卷积神经网络加速器及其实现方法
CN110705703A (zh) 基于脉动阵列的稀疏神经网络处理器
CN111008691B (zh) 一种权值和激活值都二值化的卷积神经网络加速器架构
CN114781629B (zh) 基于并行复用的卷积神经网络的硬件加速器及并行复用方法
CN114138231B (zh) 执行矩阵乘法运算的方法、电路及soc
CN111353591A (zh) 一种计算装置及相关产品
CN112862091B (zh) 一种基于快速卷积的资源复用型神经网络硬件加速电路
CN110766136B (zh) 一种稀疏矩阵与向量的压缩方法
CN113158132A (zh) 一种基于非结构化稀疏的卷积神经网络加速系统
CN112395549A (zh) 一种用于矩阵乘法密集型算法的可重构矩阵乘法加速系统
CN107220702B (zh) 一种低计算能力处理设备的计算机视觉处理方法及装置
CN112765540A (zh) 数据处理方法、装置及相关产品
CN214586992U (zh) 神经网络加速电路、图像处理器及三维成像电子设备
CN113705784A (zh) 一种基于矩阵共享的神经网络权重编码方法及硬件系统
CN114237548A (zh) 基于非易失性存储器阵列的复数点乘运算的方法及系统
CN111078189A (zh) 用于循环神经网络自然语言处理的稀疏矩阵乘法加速器
CN113094648B (zh) 外积累加求解三角矩阵与矩阵内积的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant