CN107918794A - 基于计算阵列的神经网络处理器 - Google Patents
基于计算阵列的神经网络处理器 Download PDFInfo
- Publication number
- CN107918794A CN107918794A CN201711127564.1A CN201711127564A CN107918794A CN 107918794 A CN107918794 A CN 107918794A CN 201711127564 A CN201711127564 A CN 201711127564A CN 107918794 A CN107918794 A CN 107918794A
- Authority
- CN
- China
- Prior art keywords
- unit
- computing
- weight
- weighted value
- computing array
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Multi Processors (AREA)
Abstract
本发明提供了一种神经网络处理器。该处理器包括:至少一个计算单元,由主处理器和计算阵列构成,其中,所述计算阵列由多个处理单元组织为行列二维矩阵形式,所述主处理器控制将神经元数据和权重值加载至所述计算阵列,接收到所述神经元数据和权重值的处理单元进行乘累加运算并将所述神经元数据与权重值沿不同方向传递给下一级处理单元;以及控制单元,用于控制所述计算单元执行神经网络的相关计算。利用本发明的计算装置能够加快神经网络的计算速度并降低计算过程中对带宽的需求。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种基于计算阵列的神经网络处理器。
背景技术
深度学习是机器学习领域的重要分支,在近些年来取得了重大突破。采用深度学习算法训练的神经网络模型在图像识别、语音处理、智能机器人等应用领域取得了令人瞩目的成果。
深度神经网络通过建立模型模拟人类大脑的神经连接结构,在处理图像、声音和文本等信号时,通过多个变换阶段分层对数据特征进行描述。随着神经网络复杂度的不断提高,神经网络技术在实际应用过程中存在占用资源多、运算速度慢、能量消耗大等问题,因此该技术在嵌入式设备或低开销数据中心等领域应用时存在严重的能效问题和运算速度瓶颈。采用硬件加速器替代传统软件计算的方法成为了提高神经网络计算效率的一种行之有效方式。目前主流的硬件加速方式包括通用图形处理器、专用处理器芯片和现场可编程逻辑阵列(FPGA)等。
然而,由于神经网络处理器属于计算密集型和访存密集型处理器,一方面,神经网络模型中包括大量乘法加法运算及其他非线性运算,需要神经网络处理器保持高负载运行,以保障神经网络模型的运算需求;另一方面,神经网络运算过程中存在大量的参数迭代,计算单元需要对存储器进行大量访问,这极大增加了对处理器的带宽设计需求,同时增加了访存功耗。
因此,需要对现有的神经网络处理器进行改进,以解决计算电路硬件开销高、片上访存带宽大的问题。
发明内容
本发明的目的在于克服上述现有技术的缺陷,提供一种基于计算阵列的神经网络处理器。
根据本发明的第一方面,提供了一种神经网络处理器。该处理器包括:
至少一个计算单元,由主处理器和计算阵列构成,其中,所述计算阵列由多个处理单元组织为行列二维矩阵形式,所述主处理器控制将神经元数据和权重值加载至所述计算阵列,接收到所述神经元数据和权重值的处理单元进行乘累加运算并将所述神经元数据与权重值沿不同方向传递给下一级处理单元;
控制单元,用于控制所述计算单元执行神经网络的相关计算。
在一个实施例中,所述主处理器控制所述神经元数据从所述计算阵列的列方向装载并沿列方向传播,并且控制对应的所述权重值从所述计算阵列的行方向装载并沿行方向传播。
在一个实施例中,所述计算阵列还包括多个输入缓存单元、多个权重缓存单元和多个输出缓存单元,其中,每一个输入缓存单元对应所述计算阵列的一列,相邻的输入缓存单元相连,所述神经元数据在所述输入缓存单元间沿行方向传播;每一个权重缓存单元对应所述计算阵列的一行,相邻的权重缓存单元相连,所述权重值在所述权重缓存单元间沿列方向传播;每一个输出缓存单元对应所述计算阵列的一列,相邻的输出缓存单元相连,所述计算阵列的计算结果在所述输出缓存单元间沿行方向传播。
在一个实施例中,所述计算阵列中各处理单元具有相同的内部结构。
在一个实施例中,本发明的计算阵列的各处理单元包括数据旁路单元、权重旁路单元、乘法器、累加器、缓存单元和数据选择器,其中:
数据旁路单元,其第一端用于接收入神经元数据并将其输出给所述乘法器,第二端用于将接收到的神经元数据直接输出;
权重旁路单元,其第一端用于接入接收权重值并将其输出给所述乘法器,第二端用于将接收到的权重值直接输出;
乘法器,用于从所述数据旁路单元接收神经元数据以及从所述权重旁路单元接收权重值并执行乘法运算;
累加器,用于累加来自于所述乘法器的相乘结果和来自于所述缓存单元的计算结果;
缓存单元,用于接收来自于所述累加器的累加结果以及将所述累加结果输出给所述累加器;
数据选择器,用于接收来自于上一级处理单元的计算结果和来自于本级的所述缓存单元的计算结果,并根据选通信号选择将本级的计算结果传递至下一级处理单元或将上一级处理单元的计算结果直接传递给下一级处理单元。
在一个实施例中,本发明的计算阵列的各处理单元还包括数据寄存器,其用于存储从所述数据旁路单元接收的神经元数据。
在一个实施例中,本发明的计算阵列的各处理单元还包括权重寄存器,其用于存储从所述权重旁路单元接收的权重值。
在一个实施例中,所述主处理器还用于根据相关运算的特点和计算单元的资源使用情况决定是否由所述计算阵列执行当前的运算。
根据本发明的第二方面,提供了一种用于本发明的神经网络处理器的方法。对于一个卷积核对应的神经元数据和权重值,本发明的方法包括以下步骤:
每个时钟周期向计算阵列加载所述卷积核对应的一个神经元数据和一个权重值;
所述一个神经元数据与所述一个权重值在所述计算阵列的相应处理单元进行乘法操作;
将所述卷积核对应的所有神经元数据和权重值的乘法操作结果在所述计算阵列的相应处理单元进行累加。
在一个实施例中,本发明的方法还包括:在向所述计算阵列加载所述卷积核对应的神经元数据和权重值之前,将所述卷积核对应的神经元数据载入至输入缓存中,将所述权重值载入至权重缓存中;每个时钟周期,从所述输入缓存中向所述计算阵列加载所述卷积核对应的一个神经元数据,从所述权重缓存向所述计算阵列加载所述一个权重值。
与现有技术相比,本发明的优点在于:通过在神经网络处理器中采用计算阵列的计算单元结构,提升了神经网络处理器的运算效率,降低了对处理器的带宽需求。
附图说明
以下附图仅对本发明作示意性的说明和解释,并不用于限定本发明的范围,其中:
图1示出了现有技术中神经网络的拓扑示意图;
图2示出了利用本发明的一个实施例的计算阵列的结构图;
图3示出了根据本发明一个实施例的计算阵列中每个处理单元的结构框图;
图4示出了根据本发明另一实施例的计算阵列的结构图;
图5示出了图4的计算阵列的数据载入过程示意图;
图6示出了根据本发明一个实施例的神经网络处理器的示意框图。
具体实施方式
为了使本发明的目的、技术方案、设计方法及优点更加清楚明了,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1所示的现有技术中神经网络的通用拓扑图,神经网络是对人脑结构和行为活动进行建模形成的数学模型,通常分为输入层、隐藏层和输出层等结构,每一层均由多个神经元节点构成,本层的神经元节点的输出值(在本文中称为神经元数据或节点值),会作为输入传递给下一层的神经元节点,逐层连接。神经网络本身具有仿生学特征,其多层抽象迭代的过程与人脑及其他感知器官有着类似的信息处理方式。
典型地,对于神经网络的每一层,可通过对该层的神经元数据和其对应的权重值进行计算来得到下一层的神经元数据。例如,假设表示神经网络中某一层的几个神经元节点,它们与下一层的节点y相连,表示对应连接的权重,则y的取值定义:y=x×w。因此,对于神经网络的各层都存在大量的乘法和加法操作。例如,对于卷积神经网络,其处理数据的过程由卷积层、池化层、归一化层、非线性层和全连接层等多层结构组成,其中,卷积层的操作过程是:将一个K*K大小的二维权重卷积核对输入特征图进行扫描,在扫描过程中权重与特征图内对应的卷积域的神经元求内积,并将所有内积值求和,然后通过非线性激活函数(如ReLU)处理之后,获得卷积层的输出特征图或称输出神经元并把该输出特征图传递到下一层(例如池化层),当每个卷积层具有N个输入特征图时,会有N个K*K大小的卷积核与该卷积层内的特征图进行卷积操作。
为了提高神经网络的计算效率,本发明提供了一种基于计算阵列的计算单元,图2示出了根据本发明一个实施例的包含计算阵列的计算单元的示意图。该计算单元由主处理器210和计算阵列220组成,其中,计算阵列220由多个处理单元构成,并组织为包括行阵列和列阵列的二维矩阵形式,图2示出的计算阵列220的规模为5(行)*4(列)。
在计算阵列220中,每个处理单元(计算节点)采用相同的内部结构,每个处理单元只与相邻的处理单元相连,即处理单元只与相邻的处理单元进行通信,在计算过程中,待计算的元素(例如神经元数据和权重值)可从计算阵列220的输入端加载并将最终的计算结果从输出端传递出去。例如,在该实施例中,处理单元1、2、3、4、5、6、11、16可作为输入端接收计算元素,处理单元5、10、15、16、17、18、19、20可作为输出端向外传送计算结果,而对于计算阵列220中的每个处理单元可以向其下一级相连的处理单元传递中间计算结果或参与计算的元素等。
在图2的实施例中,可由主处理器210控制计算元素向计算阵列220的加载以及计算元素或计算结果在计算阵列220的传递或输出等。例如,主处理器210可根据计算元素的类型控制从计算阵列220的不同方向加载,在一个实施例中,神经元数据从计算阵列220的左侧输入并沿行方向传播,权重从计算阵列220的上方输入并沿列方向传播。
在另一个实施例中,当主处理器210判断当前的计算适合于利用本发明的计算阵列220执行时决定开始向计算阵列220加载计算元素,以提高计算效率。
需要说明的是,本发明不对计算元素的输入方向和传播方向进行限制。此外,本文的“左”、“右”、“上”、“下”等是指本发明的各个部分,这些术语指的是图中所示出的相应方向,不应解释为对本发明的物理实现的限制。
进一步地,本发明提供了计算阵列220中单个处理单元的电路结构图,参见图3所示,利用该处理单元构成的计算阵列适用于完成神经网络中神经元数据和权重的乘累加操作。
在图3所示的实施例中,处理单元包括数据旁路单元310、数据寄存器320、权重旁路单元330、权重寄存器340、乘法器350、累加器360、缓存单元370和数据选择器380。
权重旁路单元330包括三个端口,其中,一端用于接收权重值,该权重值可以来自于计算阵列中相邻的处理单元或来自于计算阵列外部,例如,当作为输入端处理单元时接收来自于主处理器或其他存储单元的计算元素;另一端连接至权重寄存器340和乘法器350,用于将权重值传送到权重寄存器340暂存或传送至乘法器350进行相关的乘法运算;权重旁路单元330的第三端直接接入到权重输出,用于当权重值不需要参与本处理单元的运算,仅需要进行脉动传播时,直接输出到下一个相邻的处理单元。权重旁路单元可采用通用的数据选择器芯片实现,通过选通信号控制权重的输出路径。
与权重旁路单元330类似,数据旁路单元310也包括三个端口,分别用于接收输入数据(即此实施例中的神经元数据);将神经元数据传送到数据寄存器320和乘法器350;将接收的神经元数据直接输出给下一级处理单元。
乘法器350用于接收来自于数据旁路单元310的神经元数据和来自于权重旁路单元330的权重值,以执行乘法运算,并将相乘结果输出至累加器360。
累加器360用于将来自于乘法器350的相乘结果和来自于缓存单元370的中间结果进行累加,并将累加结果输出至缓存单元370进行缓存。
缓存单元370用于缓存来自于累加器360的累加结果,并根据需要在后续周期再次输出至累加器进行累加操作。
数据选择器380接收来自于上一级相邻处理单元的计算结果(在此实施例中称为部分和)和来自于本级的计算结果(即来自于缓存单元370),并根据选通信号(未示出)选择将本级的计算结果输出至下一级处理单元或将上一级的计算结果直接传递给下一级处理单元。
综上所述,图3示出的处理单元能够实现的功能包括但不限于:将神经元数据或权重值传递至下一级处理单元;对接收的神经元数据或权重值执行乘法操作;对多次的乘法结果进行累加并将累加结果输出至下一级处理单元;以及接收上一级处理单元的累加结果并直接传播至下一级处理单元。因此,当采用图3所示的处理单元构成计算阵列时,能够通过中间结果或神经元数据和权重值在阵列中传播达到快速计算的效果。
图4是根据本发明另一个实施例的计算阵列,其中示出的是4*4的计算阵列,神经元数据沿计算阵列的列方向传播,权重值沿计算阵列的行方向传播。与图2的计算阵列不同的是,在该实施例中,还包括缓存结构,例如,用于暂存输入神经元数据的输入缓存、用于暂存权重值的权重缓存以及用于暂存计算结果的输出缓存等。每一个输入缓存对应计算阵列的一列,可接收来自于数据存储单元的神经元数据,相邻的输入缓存相连,神经元数据可在输入缓存间从左至右传播。每一个权重缓存对应计算阵列的一行,可接收来自于权重存储单元的权重值,相邻的权重缓存相邻,权重值可在权重缓存间从上至下传播。每一个输出缓存对应计算阵列的一列,相邻的输出缓存相连,计算阵列的计算结果可在输出缓存间从左至右传播。通过加入缓存结构,可根据计算阵列的处理速度和计算规模,将适当数量的神经元数据和权重值首先加载到缓存中,以保证计算阵列每个周期均有计算元素输入,并且将计算结果及时传递给输出缓存,以使处理单元快速准备执行下一周期的计算。通过增加缓存结构,使计算阵列的计算元素的加载和传播,以及中间计算结果的传播和输出更加流畅,从而提高了计算阵列的资源利用率。
图5示出了基于图4的计算阵列对神经元数据和权重值执行卷积操作的过程,以一个特征图的3*3卷积核(即对应3*3的权重值矩阵)对6*6(即对应6*6的神经元矩阵)图层进行卷积操作为例。
如图5所示,6*6图层分割为4个不同的数据块,分别载入至计算阵列的不同列中,大小为3*3的四个不同权重矩阵分别载入至计算阵列的不同行中。例如,6*6图层分割的4个数据块分别是 四个不同权重矩阵分别是 其中,每个数据块是神经网络层一个卷积核对应的神经元数据,每个权重矩阵表示一个卷积核包含的权重值。
结合图3和图4,神经元数据和权重值的加载、计算过程包括(以一个数据块和一个权重矩阵为单位进行介绍):
步骤S510,将输入神经元数据依次载入至输入缓存中,权重值依次载入至权重缓存中;
例如,每个输入缓存中保存一个数据块中的所有神经元数据,一个权重缓存中保存与数据块对应的一个权重矩阵中的所有权重值。
步骤S520:在输入缓存和权重缓存装载完毕后,每个时钟周期向计算阵列载入一个神经元数据和权重值;
例如,神经元数据依次从输入缓存装载至计算阵列中,每个时钟周期向计算阵列载入一个神经元数据,多个输入缓存之间相隔一个周期将神经元数据载入至计算阵列中;权重值从权重缓存装载至计算阵列中,每个时钟周期载入一个权重值,多个权重缓存之间相隔一个周期将权重值载入至计算阵列。
步骤S530,神经元数据与权重值在计算阵列的相应处理单元进行乘法操作,并将乘法结果输入至图3处理单元的累加器进行累加,累加器的计算结果保存至图3处理单元的缓存单元中;
步骤S540,当输入缓存和权重缓存中的神经元数据和权重值全部载入至计算阵列并且计算完毕后,清空输入缓存和权重缓存;
步骤S550,类似地,重复步骤S510至S540,将下一个数据块包含的神经元数据和权重值载入至计算阵列并完成计算;
步骤S560,当对一个特征图计算完毕后,载入下一特征图中的各数据块和权重值,重复步骤S510至S530;
步骤S570,将当前特征图的每个数据块的乘法计算结果与图3处理单元的缓存单元中保存的上一个特征图中的对应数据块的计算结果进行累加,直到待计算的多个特征图处理完毕;
步骤S580,当待计算的多个特征图均计算完成后,将图3处理单元的缓存单元中的计算结果输出至图4的输出缓存中,并清空处理单元的缓存单元。
下面进一步结合图4,介绍本发明的计算阵列进行卷积的过程。对于数据块和权重的卷积操作,其计算结果应为:12*w0,0+9*w0,1+6*w0,2+4*w0,3+2*w0,4+7*w0,5+9*w0,6+5*w0,7+8*w0,8,对于数据块0和权重1的卷积操作计算结果应为12*w1,0+9*w1,1+6*w1,2+4*w1,3+2*w1,4+7*w1,5+9*w1,6+5*w1,7+8*w1,8,采用本发明的计算阵列时,神经元数据和权重加载和卷积计算过程为:
在第一个周期,数据块0的数据12和权重w0,0同时进入处理单元PE00,其中,数据12从PE00的上方载入并从上向至下流动,权重w0,0从PE00的左方载入并从左至右流动,即,在第一个周期结束时,处理单元PE00的计算结果为12*w0,0;
在第二个周期,数据12向下流动进入处理单元PE10,权重w1,0载入至处理单元PE10,同时数据9载入至处理单元PE00,权重w0,0向右流动至处理单元PE01,权重w0,1载入至处理单元PE00,此时对于数据块0和权重0,处理单元PE00的计算结果为12*w0,0+9*w0,1,处理单元PE01的计算结果为4*w0,0,处理单元PE10中的计算结果是12*w1,0;
在第三个周期,数据12、9、4向下流动进入至处理单元PE20、PE10和PE11,权重w0,0、w0,1和w1,0向右流动至处理单元PE02、PE01和PE11中,权重w0,2、w1,1和w2,0载入至处理单元PE00、PE01和PE02中,数据6、2、9载入至处理单元PE00、PE01和PE02中;
在第四个周期,数据12、9、4、6、2和9向下流动至处理单元PE30、PE20、PE21、PE10、PE11和PE12中,权重w0,0、w0,1、w1,0、w0,2、w1,1和w2,0向右流动至处理单元PE03、PE02、PE12、PE01、PE11和PE21中,数据4、7、5和3载入至处理单元PE00、PE01、PE02和PE03中,权重w0,3、w1,2、w2,1、w3,0载入至处理单元PE00、PE10、PE20和PE30中;
在第五个周期,数据9、4、6、2、9、4、7、5和3向下流动至PE30、PE31、PE20、PE21、PE22、PE10、PE11、PE12和PE13中,权重w0,1、w1,0、w0,2、w1,1、w2,0、w0,3、w1,2、w2,1和w3,0向下流动至处理单元PE30、PE31、PE20、PE21、PE22、PE10、PE11、PE12和PE13中,数据2、2、7和7载入至处理单元PE00、PE10、PE20和PE30中,权重w0,4、w1,3、w2,2和w3,1载入至处理单元PE00、PE10、PE20和PE30中。
依次类推,至第九个周期,处理单元PE00中将得到权重0和数据块0进行卷积的结果,在第十个周期,处理单元PE01中将得到权重0和数据块1的计算结果,相应地,在后续周期中,处理单元PE10中将得到权重1和数据块0的计算结果,类似地,处理单元PE32中将得到权重3和数据块2的计算结果,处理单元PE33中将得到数据块3和权重3的计算结果。这种流水线式的神经元数据和权重值的载入方式和计算方式能够有效的提高运算效率。上述每个时钟周期的数据以及权重的载入和流动可通过主处理器来控制。
为了进一步提高处理速度,可采用定制的处理器来实现神经网络中运算,图6是根据本发明一个实施例的适用于神经网络模型的处理器。概括而言,该神经网络处理器600基于存储-控制-计算的结构。
存储结构用于存储神经网络处理***外部传来的数据(例如,原始特征图数据)或用于存储处理过程中产生的数据,包括处理过程中产生的处理结果或中间结果,这些结果可以来自于神经网络处理器内部的核心运算部件或其他外部运算部件。存储结构还可用于存储参与计算的指令信息(例如,载入数据至计算单元、计算开始、计算结束、或将计算结果存储至存储单元等)。存储结构可以是静态随机存储器(SRAM)、动态随机存储器(DRAM)、寄存器堆等常见存储介质,也可以是3D存储器件等新型的存储类型。
具体地,图6的存储结构根据存储数据的类型不同,划分成多个存储单元,即输入数据存储单元611、权重存储单元612、指令存储单元613和输出数据存储单元614,其中,输入数据存储单元611用于存储参与计算的数据,该数据包括原始特征图数据和参与中间层计算的数据;权重存储单元612用于存储已经训练好的神经网络权重;指令存储单元613用于存储参与计算的指令信息,指令可被控制单元620解析为控制流来调度神经网络的计算;输出数据存储单元614用于存储计算得到的神经元响应值。通过将存储单元进行细分,可将数据类型基本一致的数据集中存储,以便于选择合适的存储介质并可以简化数据寻址等操作。
控制结构(即控制单元620)用于获取保存在存储单元的指令并进行解析,进而根据解析得到的控制信号来控制神经网络的相关运算。控制结构完成指令译码、数据调度、过程控制等工作。
计算结构包括至少一个计算单元630,用于参与该处理器中的神经网络计算,保证神经元数据在计算单元630中能够正确地与相应权重进行计算,其中,计算单元630包括基于本发明的计算阵列和主处理器,主处理器用于完成神经网络中的大部分计算,并将适合于计算阵列处理的计算任务分配给计算阵列执行。
基于计算阵列的计算单元630可专用于以向量乘加为主的计算过程,例如,卷积运算,以提高神经网络运算速度。在一个实施例中,主处理器可预先设定规则,确定哪些类型的运算由计算阵列完成,哪些运算由主处理器自身或其它的加速装置来完成。在另一个实施例中,即使当前运算适合由计算阵列执行,主处理器也可以根据计算单元630中的资源使用情况,动态地决策是由计算阵列执行或由其它的加速装置执行。例如,当计算阵列处于高负荷时,可由主处理器本身完成当前的计算,以降低等待时间或避免降低处理速度。
本领域的技术人员应理解的是,尽管图6未示出,该神经网络处理器还包括地址寻址功能,用于将输入的索引映射到正确的存储地址,以从存储单元中获得需要的数据或指令,地址寻址功能可以实现在控制单元620中或以独立单元的形式实现。
需要说明的是,图6所示的计算单元630,除了能够完成本发明的卷积计算之外,还可实现神经网络中的大部分计算,例如激活处理、池化操作、归一化操作等,这些属于现有技术,在此不再赘述。
结合图6,本发明基于计算阵列的神经网络处理器的计算过程包括:
步骤S610,控制单元对存储单元寻址,读取并解析下一步需要执行的指令;
步骤S620,根据解析指令得到的存储地址从存储单元中获取输入数据;
步骤S630,将数据和权重分别从输入数据存储单元和权重存储单元载入至基于计算阵列的计算单元;
步骤S640,计算阵列的各处理单元完成各自的相关运算并将结果进行脉动传播;
步骤S650,计算阵列从输出端处理单元将计算结果输出给主处理器以进一步存储到输出存储单元中。
本发明基于计算阵列的处理器可应用了各种电子设备,例如、移动电话、嵌入式电子设备,用于神经网络模型的训练等。
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种神经网络处理器,包括:
至少一个计算单元,由主处理器和计算阵列构成,其中,所述计算阵列由多个处理单元组织为行列二维矩阵形式,所述主处理器控制将神经元数据和权重值加载至所述计算阵列,接收到所述神经元数据和权重值的处理单元进行乘累加运算并将所述神经元数据与权重值沿不同方向传递给下一级处理单元;
控制单元,用于控制所述计算单元执行神经网络的相关计算。
2.根据权利要求1所述的神经网络处理器,其特征在于,所述主处理器控制所述神经元数据从所述计算阵列的列方向装载并沿列方向传播,并且控制对应的所述权重值从所述计算阵列的行方向装载并沿行方向传播。
3.根据权利要求2所述的神经网络处理器,其特征在于,所述计算阵列还包括多个输入缓存单元、多个权重缓存单元和多个输出缓存单元,其中,每一个输入缓存单元对应所述计算阵列的一列,相邻的输入缓存单元相连,所述神经元数据在所述输入缓存单元间沿行方向传播;每一个权重缓存单元对应所述计算阵列的一行,相邻的权重缓存单元相连,所述权重值在所述权重缓存单元间沿列方向传播;每一个输出缓存单元对应所述计算阵列的一列,相邻的输出缓存单元相连,所述计算阵列的计算结果在所述输出缓存单元间沿行方向传播。
4.根据权利要求1至3任一项所述的神经网络处理器,其特征在于,所述计算阵列中各处理单元具有相同的内部结构。
5.根据权利要求4所述的神经网络处理器,其特征在于,各处理单元包括数据旁路单元、权重旁路单元、乘法器、累加器、缓存单元和数据选择器,其中:
数据旁路单元,其第一端用于接收入神经元数据并将其输出给所述乘法器,第二端用于将接收到的神经元数据直接输出;
权重旁路单元,其第一端用于接入接收权重值并将其输出给所述乘法器,第二端用于将接收到的权重值直接输出;
乘法器,用于从所述数据旁路单元接收神经元数据以及从所述权重旁路单元接收权重值并执行乘法运算;
累加器,用于累加来自于所述乘法器的相乘结果和来自于所述缓存单元的计算结果;
缓存单元,用于接收来自于所述累加器的累加结果以及将所述累加结果输出给所述累加器;
数据选择器,用于接收来自于上一级处理单元的计算结果和来自于本级的所述缓存单元的计算结果,并根据选通信号选择将本级的计算结果传递至下一级处理单元或将上一级处理单元的计算结果直接传递给下一级处理单元。
6.根据权利要求5所述的神经网络处理器,其特征在于,还包括数据寄存器,其用于存储从所述数据旁路单元接收的神经元数据。
7.根据权利要求5所述的神经网络处理器,其特征在于,还包括权重寄存器,其用于存储从所述权重旁路单元接收的权重值。
8.根据权利要求1所述的神经网络处理器,其特征在于,所述主处理器还用于根据相关运算的特点和计算单元的资源使用情况决定是否由所述计算阵列执行当前的运算。
9.一种用于神经网络处理器的方法,对于一个卷积核对应的神经元数据和权重值执行以下步骤:
每个时钟周期向计算阵列加载所述卷积核对应的一个神经元数据和一个权重值;
所述一个神经元数据与所述一个权重值在所述计算阵列的相应处理单元进行乘法操作;
将所述卷积核对应的所有神经元数据和权重值的乘法操作结果在所述计算阵列的相应处理单元进行累加。
10.根据权利要求9所述的方法,还包括:
在向所述计算阵列加载所述卷积核对应的神经元数据和权重值之前,将所述卷积核对应的神经元数据载入至输入缓存中,将所述权重值载入至权重缓存中;每个时钟周期,从所述输入缓存中向所述计算阵列加载所述卷积核对应的一个神经元数据,从所述权重缓存向所述计算阵列加载所述一个权重值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711127564.1A CN107918794A (zh) | 2017-11-15 | 2017-11-15 | 基于计算阵列的神经网络处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711127564.1A CN107918794A (zh) | 2017-11-15 | 2017-11-15 | 基于计算阵列的神经网络处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107918794A true CN107918794A (zh) | 2018-04-17 |
Family
ID=61896359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711127564.1A Pending CN107918794A (zh) | 2017-11-15 | 2017-11-15 | 基于计算阵列的神经网络处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107918794A (zh) |
Cited By (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108537334A (zh) * | 2018-04-26 | 2018-09-14 | 济南浪潮高新科技投资发展有限公司 | 一种针对cnn卷积层运算的加速阵列设计方法 |
CN108647773A (zh) * | 2018-04-20 | 2018-10-12 | 复旦大学 | 一种可重构卷积神经网络的硬件互连架构 |
CN108647777A (zh) * | 2018-05-08 | 2018-10-12 | 济南浪潮高新科技投资发展有限公司 | 一种实现并行卷积计算的数据映射***及方法 |
CN108717571A (zh) * | 2018-06-01 | 2018-10-30 | 阿依瓦(北京)技术有限公司 | 一种用于人工智能的加速方法和装置 |
CN108764470A (zh) * | 2018-05-18 | 2018-11-06 | 中国科学院计算技术研究所 | 一种人工神经网络运算的处理方法 |
CN108764182A (zh) * | 2018-06-01 | 2018-11-06 | 阿依瓦(北京)技术有限公司 | 一种优化的用于人工智能的加速方法和装置 |
CN108875925A (zh) * | 2018-06-28 | 2018-11-23 | 中国科学院计算技术研究所 | 一种针对卷积神经网络处理器的控制方法及装置 |
CN109190756A (zh) * | 2018-09-10 | 2019-01-11 | 中国科学院计算技术研究所 | 基于Winograd卷积的运算装置及包含该装置的神经网络处理器 |
CN109409512A (zh) * | 2018-09-27 | 2019-03-01 | 西安交通大学 | 一种可灵活配置的神经网络计算单元、计算阵列及其构建方法 |
CN109543816A (zh) * | 2018-09-20 | 2019-03-29 | 中国科学院计算技术研究所 | 一种基于权重捏合的卷积神经网络计算方法和*** |
CN109739802A (zh) * | 2019-04-01 | 2019-05-10 | 上海燧原智能科技有限公司 | 计算集群及计算集群配置方法 |
CN109740732A (zh) * | 2018-12-27 | 2019-05-10 | 深圳云天励飞技术有限公司 | 神经网络处理器、卷积神经网络数据复用方法及相关设备 |
CN109871950A (zh) * | 2019-02-01 | 2019-06-11 | 京微齐力(北京)科技有限公司 | 单元具有旁路功能的人工智能模块的芯片电路和***芯片 |
CN109884499A (zh) * | 2019-02-01 | 2019-06-14 | 京微齐力(北京)科技有限公司 | 一种测试***芯片上的人工智能模块的方法和***芯片 |
CN109885512A (zh) * | 2019-02-01 | 2019-06-14 | 京微齐力(北京)科技有限公司 | 集成fpga和人工智能模块的***芯片及设计方法 |
CN109886393A (zh) * | 2019-02-26 | 2019-06-14 | 杭州闪亿半导体有限公司 | 一种存算一体化电路及神经网络的计算方法 |
CN109902040A (zh) * | 2019-02-01 | 2019-06-18 | 京微齐力(北京)科技有限公司 | 一种集成fpga和人工智能模块的***芯片 |
CN109902836A (zh) * | 2019-02-01 | 2019-06-18 | 京微齐力(北京)科技有限公司 | 人工智能模块的故障容错方法及***芯片 |
CN109919321A (zh) * | 2019-02-01 | 2019-06-21 | 京微齐力(北京)科技有限公司 | 单元具有本地累加功能的人工智能模块及***芯片 |
CN109948775A (zh) * | 2019-02-21 | 2019-06-28 | 山东师范大学 | 一种可配置神经卷积网络芯片***及其配置方法 |
CN109948774A (zh) * | 2019-01-25 | 2019-06-28 | 中山大学 | 基于网络层捆绑运算的神经网络加速器及其实现方法 |
CN110348564A (zh) * | 2019-06-11 | 2019-10-18 | 中国人民解放军国防科技大学 | 基于systolic阵列的SCNN推理加速装置、处理器及计算机设备 |
WO2019218900A1 (zh) * | 2018-05-15 | 2019-11-21 | 华为技术有限公司 | 一种神经网络模型、数据处理方法及处理装置 |
WO2019227322A1 (zh) * | 2018-05-30 | 2019-12-05 | 深圳市大疆创新科技有限公司 | 池化装置和池化方法 |
CN110543934A (zh) * | 2019-08-14 | 2019-12-06 | 北京航空航天大学 | 一种用于卷积神经网络的脉动阵列计算结构及方法 |
CN110738316A (zh) * | 2018-07-20 | 2020-01-31 | 北京三星通信技术研究有限公司 | 基于神经网络的操作方法、装置及电子设备 |
CN110796244A (zh) * | 2018-08-01 | 2020-02-14 | 南京天数智芯科技有限公司 | 用于人工智能设备的核心计算单元处理器及加速处理方法 |
CN111199275A (zh) * | 2018-11-20 | 2020-05-26 | 上海登临科技有限公司 | 用于神经网络的片上*** |
CN111222090A (zh) * | 2019-12-30 | 2020-06-02 | Oppo广东移动通信有限公司 | 卷积计算模块、神经网络处理器、芯片和电子设备 |
CN111279364A (zh) * | 2019-01-31 | 2020-06-12 | 深圳市大疆创新科技有限公司 | 卷积计算的装置、方法、处理器和可移动设备 |
CN111381882A (zh) * | 2018-12-28 | 2020-07-07 | 上海寒武纪信息科技有限公司 | 数据处理装置及相关产品 |
CN111695683A (zh) * | 2019-03-15 | 2020-09-22 | 华邦电子股份有限公司 | 可执行人工智能运算的存储器芯片及其运算方法 |
CN111985628A (zh) * | 2019-05-24 | 2020-11-24 | 澜起科技股份有限公司 | 计算装置及包括所述计算装置的神经网络处理器 |
CN111738432B (zh) * | 2020-08-10 | 2020-12-29 | 电子科技大学 | 一种支持自适应并行计算的神经网络处理电路 |
CN112204579A (zh) * | 2018-06-19 | 2021-01-08 | 国际商业机器公司 | 运行时可重新配置的神经网络处理器核 |
WO2021031351A1 (zh) * | 2019-08-16 | 2021-02-25 | 浪潮电子信息产业股份有限公司 | 一种数据处理***、方法及介质 |
CN112912837A (zh) * | 2018-11-08 | 2021-06-04 | 北京比特大陆科技有限公司 | 神经网络编译方法、装置、设备、存储介质及程序产品 |
CN113076521A (zh) * | 2021-06-03 | 2021-07-06 | 沐曦集成电路(上海)有限公司 | 一种基于gpgpu可重构架构的方法及计算*** |
CN113344193A (zh) * | 2020-02-18 | 2021-09-03 | 爱思开海力士有限公司 | 计算电路和包括计算电路的深度学习*** |
CN114026554A (zh) * | 2019-07-31 | 2022-02-08 | 三星电子株式会社 | 处理器及其控制方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106447034A (zh) * | 2016-10-27 | 2017-02-22 | 中国科学院计算技术研究所 | 一种基于数据压缩的神经网络处理器、设计方法、芯片 |
CN106529670A (zh) * | 2016-10-27 | 2017-03-22 | 中国科学院计算技术研究所 | 一种基于权重压缩的神经网络处理器、设计方法、芯片 |
CN106650924A (zh) * | 2016-10-27 | 2017-05-10 | 中国科学院计算技术研究所 | 一种基于时间维和空间维数据流压缩的处理器、设计方法 |
CN107016175A (zh) * | 2017-03-23 | 2017-08-04 | 中国科学院计算技术研究所 | 适用神经网络处理器的自动化设计方法、装置及优化方法 |
CN107085562A (zh) * | 2017-03-23 | 2017-08-22 | 中国科学院计算技术研究所 | 一种基于高效复用数据流的神经网络处理器及设计方法 |
CN107578095A (zh) * | 2017-09-01 | 2018-01-12 | 中国科学院计算技术研究所 | 神经网络计算装置及包含该计算装置的处理器 |
-
2017
- 2017-11-15 CN CN201711127564.1A patent/CN107918794A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106447034A (zh) * | 2016-10-27 | 2017-02-22 | 中国科学院计算技术研究所 | 一种基于数据压缩的神经网络处理器、设计方法、芯片 |
CN106529670A (zh) * | 2016-10-27 | 2017-03-22 | 中国科学院计算技术研究所 | 一种基于权重压缩的神经网络处理器、设计方法、芯片 |
CN106650924A (zh) * | 2016-10-27 | 2017-05-10 | 中国科学院计算技术研究所 | 一种基于时间维和空间维数据流压缩的处理器、设计方法 |
CN107016175A (zh) * | 2017-03-23 | 2017-08-04 | 中国科学院计算技术研究所 | 适用神经网络处理器的自动化设计方法、装置及优化方法 |
CN107085562A (zh) * | 2017-03-23 | 2017-08-22 | 中国科学院计算技术研究所 | 一种基于高效复用数据流的神经网络处理器及设计方法 |
CN107578095A (zh) * | 2017-09-01 | 2018-01-12 | 中国科学院计算技术研究所 | 神经网络计算装置及包含该计算装置的处理器 |
Non-Patent Citations (3)
Title |
---|
CHEN ZHANG 等: "Optimizing FPGA-based Accelerator Design for Deep Convolutional Neural Networks", 《FPGA"15》 * |
WENYAN LU 等: "FlexFlow: A Flexible Dataflow Accelerator Architecture for Convolutional Neural Networks", 《2017 IEEE INTERNATIONAL SYMPOSIUM ON HIGH PERFORMANCE COMPUTER ARCHITECTURE》 * |
XUECHAO WEI 等: "Automated Systolic Array Architecture Synthesis for High Throughput CNN Inference on FPGAs", 《DAC’17》 * |
Cited By (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108647773A (zh) * | 2018-04-20 | 2018-10-12 | 复旦大学 | 一种可重构卷积神经网络的硬件互连架构 |
CN108647773B (zh) * | 2018-04-20 | 2021-07-23 | 复旦大学 | 一种可重构卷积神经网络的硬件互连*** |
CN108537334A (zh) * | 2018-04-26 | 2018-09-14 | 济南浪潮高新科技投资发展有限公司 | 一种针对cnn卷积层运算的加速阵列设计方法 |
CN108647777A (zh) * | 2018-05-08 | 2018-10-12 | 济南浪潮高新科技投资发展有限公司 | 一种实现并行卷积计算的数据映射***及方法 |
WO2019218900A1 (zh) * | 2018-05-15 | 2019-11-21 | 华为技术有限公司 | 一种神经网络模型、数据处理方法及处理装置 |
CN108764470A (zh) * | 2018-05-18 | 2018-11-06 | 中国科学院计算技术研究所 | 一种人工神经网络运算的处理方法 |
WO2019227322A1 (zh) * | 2018-05-30 | 2019-12-05 | 深圳市大疆创新科技有限公司 | 池化装置和池化方法 |
CN108717571A (zh) * | 2018-06-01 | 2018-10-30 | 阿依瓦(北京)技术有限公司 | 一种用于人工智能的加速方法和装置 |
CN108764182B (zh) * | 2018-06-01 | 2020-12-08 | 阿依瓦(北京)技术有限公司 | 一种优化的用于人工智能的加速方法和装置 |
CN108764182A (zh) * | 2018-06-01 | 2018-11-06 | 阿依瓦(北京)技术有限公司 | 一种优化的用于人工智能的加速方法和装置 |
CN108717571B (zh) * | 2018-06-01 | 2020-09-15 | 阿依瓦(北京)技术有限公司 | 一种用于人工智能的加速方法和装置 |
CN112204579A (zh) * | 2018-06-19 | 2021-01-08 | 国际商业机器公司 | 运行时可重新配置的神经网络处理器核 |
CN108875925A (zh) * | 2018-06-28 | 2018-11-23 | 中国科学院计算技术研究所 | 一种针对卷积神经网络处理器的控制方法及装置 |
CN110738316B (zh) * | 2018-07-20 | 2024-05-14 | 北京三星通信技术研究有限公司 | 基于神经网络的操作方法、装置及电子设备 |
CN110738316A (zh) * | 2018-07-20 | 2020-01-31 | 北京三星通信技术研究有限公司 | 基于神经网络的操作方法、装置及电子设备 |
CN110796244A (zh) * | 2018-08-01 | 2020-02-14 | 南京天数智芯科技有限公司 | 用于人工智能设备的核心计算单元处理器及加速处理方法 |
CN110796244B (zh) * | 2018-08-01 | 2022-11-08 | 上海天数智芯半导体有限公司 | 用于人工智能设备的核心计算单元处理器及加速处理方法 |
CN109190756B (zh) * | 2018-09-10 | 2022-02-18 | 中国科学院计算技术研究所 | 基于Winograd卷积的运算装置及包含该装置的神经网络处理器 |
CN109190756A (zh) * | 2018-09-10 | 2019-01-11 | 中国科学院计算技术研究所 | 基于Winograd卷积的运算装置及包含该装置的神经网络处理器 |
CN109543816B (zh) * | 2018-09-20 | 2022-12-06 | 中国科学院计算技术研究所 | 一种基于权重捏合的卷积神经网络计算方法和*** |
CN109543816A (zh) * | 2018-09-20 | 2019-03-29 | 中国科学院计算技术研究所 | 一种基于权重捏合的卷积神经网络计算方法和*** |
CN109409512A (zh) * | 2018-09-27 | 2019-03-01 | 西安交通大学 | 一种可灵活配置的神经网络计算单元、计算阵列及其构建方法 |
CN109409512B (zh) * | 2018-09-27 | 2021-02-19 | 西安交通大学 | 一种可灵活配置的神经网络计算单元、计算阵列及其构建方法 |
CN112912837A (zh) * | 2018-11-08 | 2021-06-04 | 北京比特大陆科技有限公司 | 神经网络编译方法、装置、设备、存储介质及程序产品 |
CN112912837B (zh) * | 2018-11-08 | 2024-02-13 | 北京比特大陆科技有限公司 | 神经网络编译方法、装置、设备、存储介质及程序产品 |
CN111199275B (zh) * | 2018-11-20 | 2023-04-28 | 上海登临科技有限公司 | 用于神经网络的片上*** |
CN111199275A (zh) * | 2018-11-20 | 2020-05-26 | 上海登临科技有限公司 | 用于神经网络的片上*** |
CN109740732A (zh) * | 2018-12-27 | 2019-05-10 | 深圳云天励飞技术有限公司 | 神经网络处理器、卷积神经网络数据复用方法及相关设备 |
CN111381882B (zh) * | 2018-12-28 | 2022-12-02 | 上海寒武纪信息科技有限公司 | 数据处理装置及相关产品 |
CN111381882A (zh) * | 2018-12-28 | 2020-07-07 | 上海寒武纪信息科技有限公司 | 数据处理装置及相关产品 |
CN109948774A (zh) * | 2019-01-25 | 2019-06-28 | 中山大学 | 基于网络层捆绑运算的神经网络加速器及其实现方法 |
CN109948774B (zh) * | 2019-01-25 | 2022-12-13 | 中山大学 | 基于网络层捆绑运算的神经网络加速器及其实现方法 |
CN111279364A (zh) * | 2019-01-31 | 2020-06-12 | 深圳市大疆创新科技有限公司 | 卷积计算的装置、方法、处理器和可移动设备 |
WO2020155044A1 (zh) * | 2019-01-31 | 2020-08-06 | 深圳市大疆创新科技有限公司 | 卷积计算的装置、方法、处理器和可移动设备 |
CN109902040A (zh) * | 2019-02-01 | 2019-06-18 | 京微齐力(北京)科技有限公司 | 一种集成fpga和人工智能模块的***芯片 |
CN109884499A (zh) * | 2019-02-01 | 2019-06-14 | 京微齐力(北京)科技有限公司 | 一种测试***芯片上的人工智能模块的方法和***芯片 |
CN109902836A (zh) * | 2019-02-01 | 2019-06-18 | 京微齐力(北京)科技有限公司 | 人工智能模块的故障容错方法及***芯片 |
CN109919321A (zh) * | 2019-02-01 | 2019-06-21 | 京微齐力(北京)科技有限公司 | 单元具有本地累加功能的人工智能模块及***芯片 |
CN109885512B (zh) * | 2019-02-01 | 2021-01-12 | 京微齐力(北京)科技有限公司 | 集成fpga和人工智能模块的***芯片及设计方法 |
CN109885512A (zh) * | 2019-02-01 | 2019-06-14 | 京微齐力(北京)科技有限公司 | 集成fpga和人工智能模块的***芯片及设计方法 |
CN109871950A (zh) * | 2019-02-01 | 2019-06-11 | 京微齐力(北京)科技有限公司 | 单元具有旁路功能的人工智能模块的芯片电路和***芯片 |
CN109948775A (zh) * | 2019-02-21 | 2019-06-28 | 山东师范大学 | 一种可配置神经卷积网络芯片***及其配置方法 |
CN109886393B (zh) * | 2019-02-26 | 2021-02-09 | 上海闪易半导体有限公司 | 一种存算一体化电路及神经网络的计算方法 |
CN109886393A (zh) * | 2019-02-26 | 2019-06-14 | 杭州闪亿半导体有限公司 | 一种存算一体化电路及神经网络的计算方法 |
CN111695683B (zh) * | 2019-03-15 | 2023-09-01 | 华邦电子股份有限公司 | 可执行人工智能运算的存储器芯片及其运算方法 |
CN111695683A (zh) * | 2019-03-15 | 2020-09-22 | 华邦电子股份有限公司 | 可执行人工智能运算的存储器芯片及其运算方法 |
CN109739802A (zh) * | 2019-04-01 | 2019-05-10 | 上海燧原智能科技有限公司 | 计算集群及计算集群配置方法 |
CN111985628B (zh) * | 2019-05-24 | 2024-04-30 | 澜起科技股份有限公司 | 计算装置及包括所述计算装置的神经网络处理器 |
CN111985628A (zh) * | 2019-05-24 | 2020-11-24 | 澜起科技股份有限公司 | 计算装置及包括所述计算装置的神经网络处理器 |
CN110348564A (zh) * | 2019-06-11 | 2019-10-18 | 中国人民解放军国防科技大学 | 基于systolic阵列的SCNN推理加速装置、处理器及计算机设备 |
CN114026554A (zh) * | 2019-07-31 | 2022-02-08 | 三星电子株式会社 | 处理器及其控制方法 |
CN114026554B (zh) * | 2019-07-31 | 2024-05-24 | 三星电子株式会社 | 处理器及其控制方法 |
CN110543934B (zh) * | 2019-08-14 | 2022-02-01 | 北京航空航天大学 | 一种用于卷积神经网络的脉动阵列计算结构及方法 |
CN110543934A (zh) * | 2019-08-14 | 2019-12-06 | 北京航空航天大学 | 一种用于卷积神经网络的脉动阵列计算结构及方法 |
WO2021031351A1 (zh) * | 2019-08-16 | 2021-02-25 | 浪潮电子信息产业股份有限公司 | 一种数据处理***、方法及介质 |
CN111222090A (zh) * | 2019-12-30 | 2020-06-02 | Oppo广东移动通信有限公司 | 卷积计算模块、神经网络处理器、芯片和电子设备 |
CN113344193A (zh) * | 2020-02-18 | 2021-09-03 | 爱思开海力士有限公司 | 计算电路和包括计算电路的深度学习*** |
CN113344193B (zh) * | 2020-02-18 | 2024-05-31 | 爱思开海力士有限公司 | 计算电路和包括计算电路的深度学习*** |
CN111738432B (zh) * | 2020-08-10 | 2020-12-29 | 电子科技大学 | 一种支持自适应并行计算的神经网络处理电路 |
CN113076521B (zh) * | 2021-06-03 | 2021-09-21 | 沐曦集成电路(上海)有限公司 | 一种基于gpgpu可重构架构的方法及计算*** |
CN113076521A (zh) * | 2021-06-03 | 2021-07-06 | 沐曦集成电路(上海)有限公司 | 一种基于gpgpu可重构架构的方法及计算*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107918794A (zh) | 基于计算阵列的神经网络处理器 | |
CN107578095B (zh) | 神经网络计算装置及包含该计算装置的处理器 | |
CN107169563B (zh) | 应用于二值权重卷积网络的处理***及方法 | |
CN106447034B (zh) | 一种基于数据压缩的神经网络处理器、设计方法、芯片 | |
CN107239824A (zh) | 用于实现稀疏卷积神经网络加速器的装置和方法 | |
CN106951395A (zh) | 面向压缩卷积神经网络的并行卷积运算方法及装置 | |
CN109190756A (zh) | 基于Winograd卷积的运算装置及包含该装置的神经网络处理器 | |
CN107862374A (zh) | 基于流水线的神经网络处理***和处理方法 | |
CN107533667A (zh) | 神经网络处理器中的向量计算单元 | |
CN108665059A (zh) | 基于现场可编程门阵列的卷积神经网络加速*** | |
CN106875011A (zh) | 二值权重卷积神经网络加速器的硬件架构及其计算流程 | |
CN108510064A (zh) | 包括多个核心处理模块的人工神经网络的处理***及方法 | |
CN109472356A (zh) | 一种可重构神经网络算法的加速装置及方法 | |
CN107423816A (zh) | 一种多计算精度神经网络处理方法和*** | |
CN111176758B (zh) | 配置参数的推荐方法、装置、终端及存储介质 | |
CN107818367A (zh) | 用于神经网络的处理***和处理方法 | |
CN107766935B (zh) | 多层人造神经网络 | |
CN110321997A (zh) | 高并行度计算平台、***及计算实现方法 | |
CN110163354A (zh) | 一种计算装置及方法 | |
CN108446761A (zh) | 一种神经网络加速器及数据处理方法 | |
CN107944545A (zh) | 应用于神经网络的计算方法及计算装置 | |
CN107527090A (zh) | 应用于稀疏神经网络的处理器和处理方法 | |
CN107622305A (zh) | 用于神经网络的处理器和处理方法 | |
CN108629411A (zh) | 一种卷积运算硬件实现装置及方法 | |
CN108629406A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180417 |
|
RJ01 | Rejection of invention patent application after publication |