CN110764602A - 用于降低存储开销的汇流阵列 - Google Patents

用于降低存储开销的汇流阵列 Download PDF

Info

Publication number
CN110764602A
CN110764602A CN201910982582.0A CN201910982582A CN110764602A CN 110764602 A CN110764602 A CN 110764602A CN 201910982582 A CN201910982582 A CN 201910982582A CN 110764602 A CN110764602 A CN 110764602A
Authority
CN
China
Prior art keywords
array
data
port
bus
ces
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
CN201910982582.0A
Other languages
English (en)
Other versions
CN110764602B (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.)
Beihang University
Beijing University of Aeronautics and Astronautics
Original Assignee
Beijing University of Aeronautics and Astronautics
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 University of Aeronautics and Astronautics filed Critical Beijing University of Aeronautics and Astronautics
Priority to CN201910982582.0A priority Critical patent/CN110764602B/zh
Publication of CN110764602A publication Critical patent/CN110764602A/zh
Application granted granted Critical
Publication of CN110764602B publication Critical patent/CN110764602B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Multi Processors (AREA)
  • Complex Calculations (AREA)

Abstract

本发明提供一种用于降低存储开销的汇流单元(CE,collective element)阵列,包括多个CE,每个CE内部包含局部存储器,每一个CE可从阵列外或相邻CE接收数据,每一CE可将接收到的数据暂存在内部缓存或输出到阵列之外。本发明通过CE阵列内部的数据传递将一个存储器中的数据广播到多个输出端口上、从而有效地去除了不同存储器间的数据冗余。并在降低存储器容量需求的同时降低了从不同存储器中读取相同数据带来的额外功耗。

Description

用于降低存储开销的汇流阵列
技术领域
本发明涉及计算机体系结构技术领域,具体涉及一种用于降低存储开销的汇流单元(collective element)阵列。
背景技术
近年来,深度学习在诸如图像识别、语音处理等领域逐渐取得愈发显著的成绩。然而,随着网络深度的不断增加,深度神经网络训练与推理过程中所需的算力以及访存带宽等需求逐渐难以被传统计算平台所满足。因此,产业界及学术界纷纷提出了各种应用于神经网络的领域专用体系结构(domain specified architecture)以满足该需求。其中,脉动阵列架构,由于具有高并发、低带宽需求等特点,取得了产业界及学术界较大的关注。基于此,本发明的发明人设计了基于脉动阵列的神经网络处理器,并采用汇流阵列完成其数据的汇流传递。同时,在计算机领域中的其他体系的芯片设计中也往往会包含多个独立的片上存储器。计算单元在运行过程中需从多个存储器读取所需数据。在当前主流的设计之中,计算单元往往通过总线与多个存储器相连。然而,在计算单元与存储器数量均较多、带宽需求较大、访存行为较为规整性时,基于总线的连接方式在面积、周期、时序等方面均有一定的浪费。此外,由于各种原因,不同存储器中往往会包含同一数据段的多分拷贝、从而造成了容量的浪费。同时,在芯片运行过程中,由于相同的数据需被写入到多个存储器中、并由多个存储器中重复读取,因而造成了额外的功耗开销。
发明内容
为了至少部分解决上述提出的技术问题,其可将一个存储器中的数据沿汇流阵列内部传播、并输送到传播路径上的一个或多个汇流单元(Collective Element)的输出端口上。尤其在对存储器的访问较为规整之时,本设计能够有效去除不同存储器间的数据冗余、并降低所需的存储器容量。同时,通过避免同一数据段被写入到多个存储器、并于多个存储器中被重复读取,本发明提供的汇流阵列达成了访存功耗的降低。
本发明完整的技术方案包括:
一种用于降低存储开销的汇流阵列,其特征在于,该汇流阵列由多个相连的汇流单元CE组成,每个CE包括阵列外输入端口和阵列外输出端口,以及与相连的CE双向连接的第一数据端口和第二数据端口,各CE通过阵列外输入端口接收由阵列外输入的数据;并通过第一数据端口和第二数据端口与相邻CE进行数据交换;通过阵列外输出端口将数据输出到阵列外;
每一CE内部均包含局部存储器;
每一CE可将接收到的数据暂存局部存储器或输出到阵列之外;
所述CE之间传递由阵列外输入的数据,并将从一个存储器中读取到的数据块送到一个或多个输出端口。
所述CE为同步时序电路或异步时序电路。
根据上述的汇流阵列进行数据汇流的方法,所述CE之间传递由阵列外输入的数据块,所述数据块在由一个阵列外输入端口送入到CE阵列之中后沿阵列内部进行传播、并由沿途任意一个或多个CE的阵列外输出端口送到阵列之外。
其中的一种输送方法为:
设有N个需要传输的不同数据块,以xi-1表示第i个需要传递的数据块,接收的端口个数共有N个,其中li-1表示第i个端口,各端口所需的数据为:数据块x0至xi-1需被送到li-1端口上;
CE阵列中CE个数为N个,CEi-1表示第i个CE,li-1为CEi-1所对应的数据接收端口,首先将数据块x0至xN-1分别送到CE0至CEN-1的各自的阵列外数据输入端口;随后CE0至CEN-1同时分别将数据块x0至xN-1送到阵列外数据输出端口,同时,各CE均将相应数据段保留在内部存储器中;
随后CE1从CE0中接收数据块x0,将其送到自身的阵列外数据端口、同时将其保存在内部存储器中;同时,CE2至CEN-1同时分别由CE1至CEN-2中接收数据块x1至xN-2,将其送到各自的阵列外数据输出端口,同时,各CE均将其保留在内部存储器中;
随后CE2从CE1中接收数据块x0,将其送到自身的阵列外数据端口,同时将其保存在内部存储器中;同时,CE3至CEN-1同时分别由CE2至CEN-2中接收数据块x1至xN-3,将其送到各自的阵列外数据输出端口,同时,各CE均将其保留在内部存储器中;
以此类推,CEi至CEN-1同时分别由CE2至CEN-2中接收数据块x1至xN-i-1,将其送到自身的阵列外数据端口,并将其保留在内部存储器中。
CEN-1从CEN-2中接收数据块x0,并将其送到自身的阵列外数据端口。
本发明针对当前主流设计之中,计算单元与存储器基于总线的连接方式在面积、周期、时序等方面均有浪费,且易造成容量的浪费和额外的功耗开销的问题。提出了一种用于降低存储开销的汇流阵列,将一个存储器中的数据传输到一个或多个输出接口,从而去除了不同存储器间的数据冗余,降低了所需的存储器容量。同时避免相同数据被写入到多个存储器,并于多个存储器中被重复读取,从而显著降低了存储功耗。
附图说明
图1是本发明一个实施例的CE示意图。
图2是本发明一个实施例的CE阵列示意图。
图3是本发明所处理的一个典型的数据传输需求示意图。
图4是本发明一个实施例进行图3所示的数据传输过程的示意图,其中每一数据块都需被送到其传输路径上所有CE的输出端口。
图5是本发明所处理的另一个典型的数据传输需求示意图。
图6是本发明一个实施例进行图5所示的数据传输过程的示意图,其中并非所有数据块都需被送到其传输路径上所有CE的输出端口。
图7a是采用本发明架构的稀疏神经网络处理器一个实施例的结构示意图。
图7b是图7a中采用本发明架构的稀疏神经网络处理器的一个实施例中PE的结构示意图。
图8是图7a中采用本发明架构的稀疏神经网络处理器的一个实施例中CE的结构示意图。
图9是运行真实神经网络时与朴素脉动阵列的性能对比图。
图中a、b、c分别为AlexNet,VGG16,ResNet50三个不同的神经网络各自的结果对比。
图10是利用三个不同的实际神经网络对本发明汇流阵列所取得的收益进行评估的结果。
图中a、b、c分别为AlexNet,VGG16,ResNet50三个不同的神经网络各自的结果对比。
具体实施方式
为了使本发明的目的、技术方案和优势更加清楚明白,接下来通过结合具体实施例与附图对本发明进行进一步详细说明。
本发明针对多个独立存储器中保存相同数据从而带来额外存储开销的问题,提出了用于降低存储开销的汇流阵列。
图1展示了本发明一个实施例的CE示意图。其中,各CE通过C端口接收由阵列外输入的数据;通过A与B端口与相邻CE进行数据交换;通过D端口将数据输出到阵列外。图2展示了本发明一个实施例的CE阵列示意图。
图3展示了本发明用于处理的一个典型的数据传输需求示意图,其中x0、x1、x2与x3表示四个不同的数据块。l0、l1、l2与l3为四个输出端口,其各自所需的数据同样在图3中表示:数据块x0需被送到l0端口上;数据块x0与x1需被送到l1端口上;数据块x0,x1与x2需被送到l2端口上;数据块x1,x2与x3需被送到l3端口上。
图4为包含四个CE的CE阵列完成图3所示的数据传输需求的过程示意图。如图4所示,CE阵列处理图3中数据传输问题的整体思路如下所述:x0由CE0加载到CE阵列中、沿CE阵列经由CE1传输到CE2中,在该过程中分别由CE0、CE1、CE2所对应的端口l0、l1、l2输出到CE阵列之外;x1由CE1加载到CE阵列中、沿CE阵列经由CE2传输到CE3中,在该过程中分别由CE1、CE2、CE3所对应的端口l1、l2、l3输出到CE阵列之外;对x2与x3的处理流程同样类似。
值得注意的是,数据块不必被送到其在汇流阵列中传播的沿途所有CE的输出端口上、从而实现更为灵活的数据传输。图5展示了本发明用于处理的另一个典型的数据传输需求示意图,其中x0、x1、x2与x3表示四个不同的数据块。l0、l1、l2与l3为四个输出端口,其各自所需的数据同样在图5中表示:数据块x0需被送到l0端口上;数据块x0与x1需被送到l1端口上;数据块x0与x2需被送到l2端口上;数据块x1,x2与x3需被送到l3端口上。
图6为包含四个CE的CE阵列完成图5所示的数据传输需求的过程示意图。如图6所示,CE阵列处理图5中数据传输问题的整体思路如下所述:x0由CE0加载到CE阵列中,沿CE阵列经由CE1传输到CE2中;在该过程中分别由CE0、CE1、CE2所对应的端口l0、l1、l2输出到CE阵列之外。x1由CE1加载到CE阵列中,沿CE阵列经由CE2传输到CE3中,在该过程中仅由CE1、CE3所对应的端口l1、l3输出到CE阵列之外、CE2此时仅负责将桥接CE1与CE3间的数据流;对x2与x3的处理流程与图4中所示类似。
采用本发明的上述汇流阵列和汇流方法,可以应用于本发明的发明人所设计的脉动阵列架构的神经网络处理器,目前在神经网络的计算过程中,相同数据可能会被送到稀疏矩阵运算阵列的不同行。在卷积神经网络的推理过程中,为完成相应卷积运算而被送到脉动阵列不同行的特征图往往会相互重叠。当各行被分配相互独立的存储器时,由于特征图的重叠,不同存储器中需存储相同的数据的多分拷贝,从而造成存储空间的浪费。同时,在运算过程中,相同的数据需由多个存储器中多次读取以送到稀疏矩阵运算阵列的不同行、从而带来额外的访存开销。因此,应用了本发明汇流阵列的神经网络处理器以汇流阵列桥接由存储单元至稀疏矩阵运算阵列的数据流以降低存储开销。
在这里对该神经网络处理器,以及压缩方法在该处理器中的应用方式进行简要介绍:
应用本发明汇流阵列的稀疏神经网络处理器,包括存储单元、控制单元、汇流阵列、稀疏矩阵运算阵列和计算单元。其中所述存储单元用以存储神经网络权值、梯度、特征以及用于数据流调度的指令序列。所述控制单元与存储单元相连接,并依据指令序列的调度,从存储中获取所需数据,并将所述数据重整为矩阵运算的形式后经由汇流阵列桥接后送入到稀疏矩阵运算阵列以完成相应计算。所述计算单元接收稀疏矩阵运算阵列的计算结果,对其进一步完成如非线性激活函数、池化等操作以完成最终计算。该处理器能够利用多种神经网络的训练与推断过程中的稀疏性对其达成速度与功耗比的提升。
权值与神经网络各层计算的中间结果(各层的特征)在控制单元的调度之下由存储单元取出,经由汇流阵列桥接后送入稀疏矩阵运算阵列。稀疏矩阵运算阵列将结果送入到计算单元中进行所需的非线性操作以完成计算。最后,在控制单元的调度下,计算结果于计算单元中被取出并存入到存储单元之中以进行下一层的计算。
其中稀疏矩阵运算阵列中包括多个PE,以PEij的形式构成脉动阵列,每个处理单元PE由动态选择(DS)组件、乘加(MAC)组件、结果转发(RF)组件三部分组成,同时还包括两个数据输入端口A与B,两个数据输出端口A’与B’,数据输入输出端口A和A’可以负责行间数据传输,数据输入输出端口B和B’可以负责列间数据传输。反之亦可。同时还具有计算结果转发的输入端口C,将计算结果转发的输出端口C’;在将多个PE构成脉动阵列形式后,每一个PE的A端口与另一个PE的A’端口相连,同理有B与B’相连、C与C’相连。
进行处理时,两输入数据流分别从A与B进入处理单元PE,首先穿过动态选择DS组件,再分别由A’与B’端口输出到相邻的处理单元PE中。
在此过程中,桥接A-A’与B-B’两个方向的压缩后的稀疏数据流的DS组件,选取需计算的数据对(a,b)并将其输出到乘加MAC组件,乘加MAC组件内部有寄存器用以保存部分累加和c,在收到数据对(a,b)后,对其进行乘与累加操作:c←c+ab,在计算完成后,将累加和c输出到RF组件中,RF组件将计算结果由C’端口输出到相邻处理单元PE的RF组件中,从而将计算结果转发到脉动阵列之外。其他PE的计算结果同样由C端口进入,穿过RF组件后同样由C’端口发送到相邻PE中,从而将PE的计算结果转发到脉动阵列之外;
以4x4的稀疏矩阵-矩阵乘法处理过程为例,如下式所示,设A=(aij)与B=(bij)为两个稀疏矩阵,二者中的零元素均用“0”表示。C=(cij)为A与B的乘积。
矩阵A中的每一行数据经压缩后分别送入到脉动阵列的不同列之中,矩阵B中的每一列数据经压缩后分别送入到脉动阵列的不同行之中。每个PE的数据输入输出端口A、A’、B、B’负责行列间的数据传输。该过程中,DS组件选取本PE需计算的数据对(若C矩阵中c21的计算被分配到了第二行第一列的PE21,则PE21需选择a22与b21),并将其输出到乘加MAC组件进行乘与累加操作。在计算完成后,将累加和c输出到RF组件中,RF组件将计算结果由C’端口输出到相邻处理单元PE的RF组件中,从而将计算结果转发到脉动阵列之外。
同时在许多应用之中,同一矩阵或向量中的数据所需位宽有所不同。使用相同的位宽对矩阵或向量中所有数值进行统一表示会带来不必要的开销。然而,通用计算平台难以对细粒度混合精度数据的处理过程达成有效的加速。另一方面,通过在加速器中添加额外的数据通路以对混合精度数据进行计算会带来一定的开销:当高精度数据占比过低时,高精度数据通路可能会闲置从而带来浪费;另一方面,当高精度数据占比过高时,高精度数据通路满载带来的阻塞可能会拉低整个脉动阵列的性能。因此,本发明通过在加速器中使用统一的数据通路对混合精度的数据进行计算,利用数据精度的不同从而达成存储空间以及计算功耗上的优化。具体为:
对具有稀疏混合精度向量,使用统一的数据通路处理,首先,对输入的稀疏混合精度向量进行预处理,将数据划分为两个或多个精度等级。例如采用8位数据路径进行数据处理,对于向量中的16位无符号定点数,将其拆分为两个8位无符号定点数,并在数据压缩过程中采用额外的标记进行标记,随后,将两个8位无符号定点数馈入PE进行正常处理。
当两个16位数据在同一PE处相遇时,通过将数据分成四对,并送到PE中进行处理。
上面的混合精度处理方法也可以用来处理浮点数据。
上述对无符号混合精度的处理过程同样可用于处理有符号数据。且上述单个PE表示的混合精度稀疏向量-向量乘法的过程可适用于一维或二维脉动阵列、进而用于处理稀疏混合精度矩阵-向量运算或混合精度稀疏矩阵-矩阵运算。可利用数据精度的不同达成优化、同时避免额外添加高精度数据通路带来的开销。
在多层感知器(MLP)中,其训练与推断过程中绝大多数计算任务都可被分解为稀疏矩阵-向量乘法。此外,卷积神经网络的训练与推断过程中的绝大多数计算任务均可被分解为稀疏卷积运算。因此,在处理器中,整合而成的稀疏矩阵经压缩后被送入稀疏矩阵运算阵列以完成相应计算。稀疏矩阵运算阵列中每一PE独立完成结果矩阵R中一个元素的计算。由卷积操作所整合而成稀疏矩阵经压缩后被送入稀疏矩阵运算阵列以完成相应计算。同样,此时稀疏矩阵运算阵列中每一PE独立完成结果矩阵R中一个元素的计算。因此应用了本发明的压缩方法的处理器能够利用多种神经网络的训练与推断过程中的稀疏性对其达成速度与功耗比的提升。
同时上文提到,本发明中,对稀疏矩阵运算阵列进行运算前,均需要对稀疏向量或稀疏矩阵进行压缩,因为稀疏矩阵与向量中包含大量零元素,这部分零元素可被去除以降低存储过程中所需的空间开销。然而在这一过程中,对稀疏矩阵与向量不恰当的压缩方式会降低其存储与使用的效率。因此采用本脉动阵列架构的神经网络处理器对稀疏向量或稀疏矩阵进行压缩的方法分别为:
对稀疏向量的压缩方法包括:
(1)按照给定的长度对向量中的元素进行分段,
(2)标注每一数据在段内的偏移,如对于段内最后一个数据,其偏移记为0,其前方一位的数据偏移记为1,前方两位的数据偏移记为2,以此类推。得到所有数据在段内的偏移。
(3)判断段内的元素为非零元素或零元素;若段内无非零元素,则于该段中保留第一个或任意一个零元素以进行占位;若段中有非零元素,则移除段内所有的零元素;
(4)对段中的数据进行标注;具体为对剩余元素中偏移值最大的元素元素则标记为1,对其他元素标记为0。
上面偏移的标记方法也可以相反,如对于段内第一个数据,其偏移记为0,其后方一位的数据偏移记为1,后方两位的数据偏移记为2,以此类推。得到所有数据在段内的偏移。此时在步骤4对段中的数据进行标注时,具体为对剩余元素中偏移值最大的元素元素则标记为1,对其他元素标记为0。
对稀疏矩阵的压缩方法,为按照给定的长度对矩阵中的元素进行逐行分段并利用上面的方法进行压缩。
为本发明脉动阵列架构的神经网络处理器所设计的上述压缩方法,经压缩后的矩阵与向量可较为方便地送入计算单元中进行处理、从而降低解码过程带来的计算开销。
下面采用一个具体的实施例,通过将三个不同的神经网络(AlexNet,VGG16,ResNet50)的运算过程转化为稀疏矩阵运算,以对本发明所公开的向量与矩阵压缩方法,以及如图7a所示、采用了本发明压缩方法的基于脉动阵列的稀疏神经网络处理器的整体性能和技术效果进行评估和说明。
首先,如图7b所示,基于本发明压缩方法的稀疏神经网络处理器在本实施例中采用了同步时序逻辑,在DS组件中使用FIFO对输入数据流进行缓冲;MAC部件中使用了8位定点数乘加器。编译时段长度设置为16。其中,DS组件运行频率高于MAC组件,以使MAC组件尽可能满载。
如图8所示,汇流单元同样采用了同步时序逻辑,同样采用了FIFO对数据进行暂存,其中采用的FIFO深度为16。
下面对下述实施例以及附图中,采用的标识进行统一说明:
延迟(cycle):指完成给定神经网络的运算所需的周期数;
运算速度(ops):指单位时间完成的操作(指MAC,Multiply-and-ACcumulate)数,其中,对某一神经网络操作数进行统计时不去除零操作;
功耗效率(ops/w):指单位功耗提供的运算速度;
面积效率(ops/m2):指单位面积提供的运算速度;
各图图例中的“(x,y,z)”:指特征FIFO(Feature FIFO,F-FIFO)、权值FIFO(WeightFIFO,W-FIFO)、权值-特征对FIFO(Weight-Feature pair FIFO,WF-FIFO)的深度分别为x、y、z;
真实的神经网络:指根据已有的剪枝算法对神经网络进行压缩得到的稀疏神经网络。
生成的神经网络(synthetic neural network):指按给定的稀疏度、16比特数据占比等指标所逐层生成的、满足该指标的神经网络。
如图9所示,以16x16的脉动阵列为例,本发明于不同参数配置之下运行各种真实网络之时均能相对朴素脉动阵列的性能提升均较为稳定。结果显示,本发明可利用稀疏性对运算过程达成加速。尤其注意当FIFO尺寸较小时速度提升已基本收敛、从而避免了由于引入过大FIFO带来的面积以及功耗开销。同时,DS、MAC组件频率之比较小时速度提升也已基本收敛,DS部件可运行在较低的频率以避免引入硬件设计带来的开销。
图10为利用三个不同的实际神经网络对本设计中汇流阵列所取得的收益进行评估的结果。图中图例自左往右分别表示特征缓存容量、缓存容量、特征缓存访问和缓存访问。从图中可以看到,尤其在AlexNet与VGG16上,汇流阵列的引入有效地降低了所需的缓存容量以及访问量。由后续分析可以看到,片上缓存访问量的降低能有效提升基于脉动阵列的神经网络加速器的功耗效率。
以上运用具体实施例对本发明进行了进一步的阐释。需要指出的是,上述内容仅为本发明的具体实施例,而不应用于限制本发明。在本发明的思想之内的任何修改、替换、改进等都应在本发明的保护范围之内。

Claims (4)

1.一种用于降低存储开销的汇流阵列,其特征在于,该汇流阵列由多个相连的汇流单元CE组成,每个CE包括阵列外输入端口和阵列外输出端口,以及与相连的CE双向相连的第一数据端口和第二数据端口,各CE通过阵列外输入端口接收由阵列外输入的数据;并通过第一数据端口和第二数据端口与相邻CE进行数据交换;通过阵列外输出端口将数据输出到阵列外;
每一CE内部均包含局部存储器;
每一CE可将接收到的数据暂存局部存储器或输出到阵列之外;
所述CE之间传递由阵列外输入的数据,并将从一个存储器中读取到的数据块送到一个或多个输出端口。
2.根据权利要求1所述的汇流阵列,其特征在于,所述CE为同步时序电路。
3.根据权利要求1所述的汇流阵列,其特征在于,所述CE为异步时序电路。
4.根据权利要求1-3任一项所述的汇流阵列进行数据汇流的方法,其特征在于,所述CE之间传递由阵列外输入的数据块,所述数据块在由一个阵列外输入端口送入到CE阵列之中后沿阵列内部进行传播、并由沿途任意一个或多个CE的阵列外输出端口送到阵列之外。
CN201910982582.0A 2019-10-16 2019-10-16 用于降低存储开销的汇流阵列 Active CN110764602B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910982582.0A CN110764602B (zh) 2019-10-16 2019-10-16 用于降低存储开销的汇流阵列

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910982582.0A CN110764602B (zh) 2019-10-16 2019-10-16 用于降低存储开销的汇流阵列

Publications (2)

Publication Number Publication Date
CN110764602A true CN110764602A (zh) 2020-02-07
CN110764602B CN110764602B (zh) 2021-06-18

Family

ID=69331393

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910982582.0A Active CN110764602B (zh) 2019-10-16 2019-10-16 用于降低存储开销的汇流阵列

Country Status (1)

Country Link
CN (1) CN110764602B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1253696A (zh) * 1996-12-03 2000-05-17 萨帕克斯技术(以色列)有限公司 降低一个脉动阵列对存储器的带宽需求的装置与方法
US20060289942A1 (en) * 2005-06-24 2006-12-28 Sharp Kabushiki Kaisha Memory cell, semiconductor memory device, and method of manufacturing the same
CN101604012A (zh) * 2008-06-11 2009-12-16 索尼株式会社 信号处理装置、信号处理方法以及程序
CN102216914A (zh) * 2008-11-13 2011-10-12 国际商业机器公司 螺旋高速缓存电源管理、自适应大小调整和接口操作
US20140167138A1 (en) * 2008-12-22 2014-06-19 Spansion Llc Hto offset for long leffective, better device performance
CN103890857A (zh) * 2011-10-27 2014-06-25 惠普发展公司,有限责任合伙企业 采用环形寄存器的可移位的存储器
CN108182471A (zh) * 2018-01-24 2018-06-19 上海岳芯电子科技有限公司 一种卷积神经网络推理加速器及方法
CN109445447A (zh) * 2019-01-14 2019-03-08 北京航空航天大学 一种多智能体编队跟踪控制方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1253696A (zh) * 1996-12-03 2000-05-17 萨帕克斯技术(以色列)有限公司 降低一个脉动阵列对存储器的带宽需求的装置与方法
US20060289942A1 (en) * 2005-06-24 2006-12-28 Sharp Kabushiki Kaisha Memory cell, semiconductor memory device, and method of manufacturing the same
CN101604012A (zh) * 2008-06-11 2009-12-16 索尼株式会社 信号处理装置、信号处理方法以及程序
CN102216914A (zh) * 2008-11-13 2011-10-12 国际商业机器公司 螺旋高速缓存电源管理、自适应大小调整和接口操作
US20140167138A1 (en) * 2008-12-22 2014-06-19 Spansion Llc Hto offset for long leffective, better device performance
CN103890857A (zh) * 2011-10-27 2014-06-25 惠普发展公司,有限责任合伙企业 采用环形寄存器的可移位的存储器
CN108182471A (zh) * 2018-01-24 2018-06-19 上海岳芯电子科技有限公司 一种卷积神经网络推理加速器及方法
CN109445447A (zh) * 2019-01-14 2019-03-08 北京航空航天大学 一种多智能体编队跟踪控制方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
WENZHI FU;: "A Scalable Pipelined Dataflow Accelerator for Object Region Proposals on FPGA Platform", 《IEEE》 *
赵巍胜: "STT-MRAM存储器的研究进展", 《中国科学物理学》 *

Also Published As

Publication number Publication date
CN110764602B (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
CN110705703B (zh) 基于脉动阵列的稀疏神经网络处理器
CN107704916B (zh) 一种基于fpga实现rnn神经网络的硬件加速器及方法
CN111291859B (zh) 通用矩阵-矩阵乘法数据流加速器半导体电路
CN110851779B (zh) 用于稀疏矩阵运算的脉动阵列架构
CN108805266B (zh) 一种可重构cnn高并发卷积加速器
US10698657B2 (en) Hardware accelerator for compressed RNN on FPGA
CN107689948B (zh) 应用于神经网络硬件加速系统的高效数据访存管理装置
CN110738308B (zh) 一种神经网络加速器
US20180046895A1 (en) Device and method for implementing a sparse neural network
CN110321997B (zh) 高并行度计算平台、系统及计算实现方法
CN110674927A (zh) 一种用于脉动阵列结构的数据重组方法
CN113762493A (zh) 神经网络模型的压缩方法、装置、加速单元和计算系统
CN110543939A (zh) 一种基于fpga的卷积神经网络后向训练的硬件加速实现架构
CN112639839A (zh) 神经网络的运算装置及其控制方法
CN110766136B (zh) 一种稀疏矩阵与向量的压缩方法
Shu et al. High energy efficiency FPGA-based accelerator for convolutional neural networks using weight combination
CN115496190A (zh) 一种面向卷积神经网络训练的高效可重构硬件加速器
CN110764602B (zh) 用于降低存储开销的汇流阵列
CN113705794B (zh) 一种基于动态激活位稀疏的神经网络加速器设计方法
CN115713104A (zh) 用于神经网络的数据处理电路、神经网络电路和处理器
CN113392963B (zh) 基于fpga的cnn硬件加速系统设计方法
CN114265801A (zh) 一种通用、可配置的高能效池化计算多行输出方法
CN114372012A (zh) 一种通用、可配置的高能效池化计算单行输出系统和方法
CN115708090A (zh) 一种计算装置、方法、系统、电路、芯片及设备
CN112836793A (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