CN111340198B - 基于fpga的数据高度复用的神经网络加速器 - Google Patents
基于fpga的数据高度复用的神经网络加速器 Download PDFInfo
- Publication number
- CN111340198B CN111340198B CN202010224137.0A CN202010224137A CN111340198B CN 111340198 B CN111340198 B CN 111340198B CN 202010224137 A CN202010224137 A CN 202010224137A CN 111340198 B CN111340198 B CN 111340198B
- Authority
- CN
- China
- Prior art keywords
- input
- data
- module
- feature map
- buffer
- 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.)
- Active
Links
Images
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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
一种基于FPGA的数据高度复用的神经网络加速器,包括:用于控制片上与片外存储的通信和数据传递的DDR控制模块、用于排列输入的特征图与权重的输入数据匹配模块、密集计算单元模块、用于将计算后的输出数据按照下一层输入所需要的顺序排列的数据整理模块和全连接层模块,以及与数据整理模块相连的输出特征图缓存器、与输入数据匹配模块相连的权重缓存器和输入特征图缓存器,本发明利用FPGA实现深度神经神经网络,考虑网络的并行性,高度复用数据,减少数据搬移,提高运算性能。
Description
技术领域
本发明涉及的是一种人工智能领域的技术,具体是一种基于FPGA的数据高度复用的神经网络加速器。
背景技术
当前神经网络的模型越来越大,对运算性能和访存带宽需求越来越大,同时神经网络的应用会对其延时,能耗等提出不同的要求。已有的神经网络运算平台(CPU,GPU,传统神经网络加速器)已无法满足用户要求,其中FPGA(现场可编程门阵列)可作为一种配置灵活,设计灵活,研发成本低,并行度高,低功耗并且性价比高的深度卷积神经网络硬件加速器。但如何在FPGA上很好地利用有限的资源结合深度卷积神经网络的并行性与流水性是一个仍待解决的问题。
现有技术通过流水化加速系统在FPGA上高效并行流水化实现,在一定程度上降低系统功耗并提高运算处理速度。但针对参数量更大更深的网络模型采用已有的流水化加速系统很难进一步提升处理性能,尤其在对输入特征图数据的多次读入,会增加功耗和延时,在特征图尺寸大于32×32×32时影响尤其明显。
发明内容
本发明针对现有技术存在的上述不足,提出一种基于FPGA的数据高度复用的神经网络加速器,利用FPGA实现深度神经神经网络,考虑网络的并行性,高度复用数据,减少数据搬移,提高运算性能。
本发明是通过以下技术方案实现的:
本发明涉及一种基于FPGA的数据高度复用的神经网络加速器,包括:用于控制片上与片外存储的通信和数据传递的DDR控制模块、用于排列输入的特征图与权重的输入数据匹配模块、密集计算单元模块、用于将计算后的输出数据按照下一层输入所需要的顺序排列的数据整理模块和全连接层模块,以及与数据整理模块相连的输出特征图缓存器、与输入数据匹配模块相连的权重缓存器和输入特征图缓存器,其中:DDR控制模块从片外存储接收权重数据并在本神经网络加速器进行第一层卷积计算时接收原始图片、进行其他层卷积计算时接收处理后的特征图数据,将权重数据和特征图数据输出至输入数据匹配模块,或将权重数据输出至全连接模块;输入数据匹配模块将权重数据存储至权重缓存器、将原始图片或特征图数据存储至输入特征图缓存器,同时通过控制该两个缓存器取出重新排序后的权重数据和特征图数据并输出至密集计算单元模块,密集计算单元模块进行卷积计算并输出卷积中间计算结果至数据整理模块,数据整理模块将卷积中间计算结果储存并累加至输出特征图缓存器或从输出特征图缓存器取出卷积中间计算结果并进行重新排序、池化和激活处理,并输出计算结果数据至DDR控制模块和全连接模块,全连接模块根据计算结果数据和权重数据进行三层全连接计算并输出特征图数据。
技术效果
本发明通过重新设计网络计算顺序和模块设计,整体解决了传统卷积计算过程中重复数据多次读入问题,降低能耗和片上存储需求的同时大大提高了计算效率;
与现有技术相比,本发明从硬件实现角度考虑了如何最小化中间结果和延时,改变了卷积运算的顺序并考虑了分块并行运算,同时本发明使用了相当一部分片上存储去存储输入特征图,这使得这部分的数据得到最大化的复用,大量减少了由于片上片外通信造成的延时与能耗问题,这使得在同种情况时(同样网络模型和同样硬件)本发明的延时相对更短,本发明使用的FPGA片上存储资源相对更少。
可以使用较大的神经网络模型,很好的对数据进行了复用,做到每个数据只读取一遍就将其参与的所有运算做完。是一个速度较快且能耗较低的实现方案。模块化的设计与并行参数的设计方便针对不同网络模型和硬件进行重新配置。
附图说明
图1为本发明系统结构示意图;
图2为计算过程并行度示意图;
图3为本发明流程图。
具体实施方式
如图1所示,为本实施例涉及一种基于FPGA的数据高度复用的神经网络加速器,包括:用于控制片上与片外存储的通信和数据传递的DDR控制模块、用于排列输入的特征图与权重的输入数据匹配模块、密集计算单元模块、用于将计算后的输出数据按照下一层输入所需要的顺序排列的数据整理模块和全连接层模块,以及与数据整理模块相连的输出特征图缓存器、与输入数据匹配模块相连的权重缓存器和输入特征图缓存器。
所述的DDR控制模块为双倍数据率同步动态随机存取存储器控制模块。
所述的权重缓存器和输入特征图缓存器均采用双端口随机存取存储器实现。
所述的数据整理模块包括池化子模块和激活子模块,其中:当当前加速器中正在计算的网络层中需要池化和激活操作时则数据通过相应子模块处理。
所述的密集计算单元模块由若干阵列的计算单元子模块(PE)组成,每个计算单元子模块处理的数据由输入数据匹配模块控制;计算单元子模块的个数为输入特征图通道并行计算数,该输入特征图通道并行计算数为每个时刻同时在运算的输入通道数。每个计算单元阵列的长度等于输出特征图像素点并行计算数,由于二维卷积会有特征图左右两边的填充,所以进入计算单元阵列计算的输入长度应比输出的长度多二,计算单元阵列的长度即计算单元阵列输出计算果的长度。
所述的计算单元子模块的数量,即输出特征图像素点并行计算数,表示在输入特征图通道方向并行计算个数,它的个数即输出特征图上每个通道同时计算的像素点数目;输入特征图通道并行计算数为具体的实现方案设计中会影响计算单元阵列的数量,输入特征图通道并行计算数的大小即同时在计算的输入特征图通道数;输出特征图通道并行计算数影响计算单元阵列的数量,代表着同时在计算的输出特征图通道数。
所述的计算单元阵列的数量等于输出特征图通道并行计算数与输入特征图通道并行计算数的乘积。
所述的计算单元的总数量等于计算单元阵列的数量乘以输出特征图像素点并行计算数。
所述的计算单元内有若干乘法器,该乘法器的数目与所采用网络模型的卷积核大小一致。如:卷积核大小当为3×3,则每个计算单元内乘法器数目为9
所述的权重缓存器包括:若干个随机存取存储器(RAM),其个数为输入特征图通道并行计算数,即为每个时刻同时在运算的输入通道数,该权重缓存器的大小即网络卷积层的最大单层权重大小,单位为bit。
所述的输入特征图缓存器包括:若干个随机存取存储器(RAM),其个数为三倍的输出特征图像素点并行计算数,输出特征图像素点并行计算数为每个时刻同时在运算的同一个输入通道的特征图上的滑窗大小,该输入特征图缓存器的大小为32×256×64,单位为bit。
所述的输出特征图缓存器包括:若干个随机存取存储器(RAM),其个数为两倍的输出特征图像素点并行计算数,该输出特征图缓存器为32×224×网络最大通道数,单位为bit。
在当前加速器中正在计算的卷积层每层的开始时双倍数据率同步动态随机存取存储器控制模块发出指令将训练好的该层的权重数据从片外存储读入,输入数据匹配模块就将这些权重数据存储在提前预设好的权重缓存器中。为了同时得到在同一时刻运算所需要的所有权重,该。
当一层所需要的全部权重都存在权重缓存器中后,DDR控制模块开始从片外存储读取特征图,特征图通过双倍速率同步动态随机存储器读取后由输入数据匹配模块存入输入特征图缓存器中,为了同时得到在同一时刻运算所需要的所有特征值。
当DDR控制模块控制DDR从片外存储读入的新数据与输入特征图缓存器中存储的特征图信息满足一次并行计算条件时,便将新来到的一组数据和输入特征图缓存器中存储的数据与权重缓存器中对应的权重信息同时传递给密集计算单元模块进行计算,并用新来的这组数据存入输入特征图缓存器,替换掉输入特征图缓存器中最先进来的那组数据。同时,输入数据匹配模块通过数据匹配模块中的计数器指明当前计算位置掌握着卷积计算的进行情况,数据匹配模块内的几个计数器指示用于说明当前数据是否可以进行一次并行运算的当前并行像素点装载数和当前并行输入通道装载数,以及用于对运算进行控制的当前全局输入通道、当前全局输出通道、当前全局所在行、当前全局所在列组(每张特征图由于并行计算像素点计算所以把列分成了几组)。
所述的全连接层模块内设有与片上片下通信数据带宽大小相匹配的乘法器,即运算速度与读取数据速度相匹配以节省运算资源,全部全连接层的操作均在全连接层进行且每层全连接层的计算结果全部置于片上,只需从片外读入权重。
所述的全连接层模块内设有与全连接层所有层的特征图相加结果大小相同的存储器。
本实施例利用FPGA实现深度神经神经网络,具有16层卷积层,其中:前13层为卷积层,后3层为全连接层,每层都需要激活处理,具体如下表所示:
输入图像大小 | 输入通道 | 卷积核大小 | 卷积核数目 | 是否池化 | 步长 | |
卷积层第一层 | 224×224 | 3 | 3×3 | 3×64 | 否 | 1 |
卷积层第二层 | 224×224 | 64 | 3×3 | 64×64 | 是 | 1 |
卷积层第三层 | 112×112 | 64 | 3×3 | 64×128 | 否 | 1 |
卷积层第四层 | 112×112 | 128 | 3×3 | 128×128 | 是 | 1 |
卷积层第五层 | 56×56 | 128 | 3×3 | 128×256 | 否 | 1 |
卷积层第六层 | 56×56 | 256 | 3×3 | 256×256 | 否 | 1 |
卷积层第七层 | 56×56 | 256 | 3×3 | 256×256 | 是 | 1 |
卷积层第八层 | 28×28 | 256 | 3×3 | 256×512 | 否 | 1 |
卷积层第九层 | 28×28 | 512 | 3×3 | 512×512 | 否 | 1 |
卷积层第十层 | 28×28 | 512 | 3×3 | 512×512 | 是 | 1 |
卷积层第十一层 | 14×14 | 512 | 3×3 | 512×512 | 否 | 1 |
卷积层第十二层 | 14×14 | 512 | 3×3 | 512×512 | 否 | 1 |
卷积层第十三层 | 14×14 | 512 | 3×3 | 512×512 | 是 | 1 |
全连接层第一层 | 7×7 | 512 | 7×7 | 512×4096 | 否 | 1 |
全连接层第二层 | 1×1 | 4096 | 1×1 | 4096×4096 | 否 | 1 |
全连接层第三层 | 1×1 | 4096 | 1×1 | 4096×1000 | 否 | 1 |
本实施例涉及上述加速器的工作过程,具体如下:
步骤1)预先将网络模型中的全部权重参数训练完成,按层的顺序排列在片外存储中。
步骤2)片外存储通过DDR将权重参数传至DDR控制模块中。然后将需要输入的图片像素点也按照特定次序保存至DDR控制模块中,此顺序为:先在一个输入通道上存入输出特征图像素点并行计算数个特征图像素点,再换下一个输入通道,重复此过程至遍历完所有输入通道。然后再换同一行向右边输出特征图像素点并行计算数个像素点,重复上述过程至一行结束换一列至整个特征图完成。
步骤3)神经网络的每层计算开始时,先由DDR控制模块从片外存储中读取权重送入输入数据匹配模块中,输入数据匹配模块将权重依次存入到权重缓存器中。当一层的权重全部输入完后,DDR控制模块从DDR中读取特征图数据至输入数据匹配模块中,输入数据匹配模块将特征图数据存入输入特征图缓存器中。当存入的输入特征图像素点数量足够一次并行计算的量后,将输入特征图缓存器和权重缓存器输出的值一起送入密集计算单元模块中进行卷积运算。
卷积运算在本加速器所采用的神经网络的卷积层中都为3×3个乘法运算。每个运算单元运算的9个乘法结果先相加,再将每个阵列的运算结果相加。再将相加后的结果送到数据整理模块。
数据收集模块将密集计算单元模块中计算结果存入输出特征图缓存器中,等待所有出入通道相加完成,当结果相加完成时,此时数据是按照特征图顺序从左至右排列,并没有考虑步长问题,将结果按照下一层读入顺序重新排列经过激活子模块后输出。当当前操作层需要池化则再通过池化子模块。当后一层为全连接层则输出至全连接层模块,当不是则输出至DDR控制模块再由DDR控制模块输出至片外存储。
当当前操作层为全连接层,全连接层模块将数据收集模块的传来的特征图数据与此时DDR控制模块传来的权重数据进行卷积,全连接第一层时进行7×7卷积,将结果保存至本模块中,直至三层全连接层做完,将1×1000的分类结果输出至DDR控制模块,再由DDR控制模块输出至片外存储。
经过具体实际实验,本实施例以200Mhz的时钟频率,能够得到的实验数据是:共使用了48000Kb的存储(M20K),1135块dsp,系统延时为86ms。权重缓存器大小:16384×144bit,输入特征图缓存器大小:32×256×64bit,输出特征图缓存器大小:32×224×512bit。计算单元子模块的数量:14。输入特征图通道并行计算数:16。输出特征图通道并行计算数:1。计算单元阵列的数量:16。计算单元的总数量:14×16。
与现有技术相比,本发明尽最大可能提高了读入数据的复用次数,将卷积层计算效率提高,降低延时。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。
Claims (10)
1.一种基于FPGA的数据高度复用的神经网络加速器,其特征在于,包括:用于控制片上与片外存储的通信和数据传递的DDR控制模块、用于排列输入的特征图与权重的输入数据匹配模块、密集计算单元模块、用于将计算后的输出数据按照下一层输入所需要的顺序排列的数据整理模块和全连接层模块,以及与数据整理模块相连的输出特征图缓存器、与输入数据匹配模块相连的权重缓存器和输入特征图缓存器,其中:DDR控制模块从片外存储接收权重数据并在本神经网络加速器进行第一层卷积计算时接收原始图片、进行其他层卷积计算时接收处理后的特征图数据,将权重数据和特征图数据输出至输入数据匹配模块,或将权重数据输出至全连接模块;输入数据匹配模块将权重数据存储至权重缓存器、将原始图片或特征图数据存储至输入特征图缓存器,同时通过控制该两个缓存器取出重新排序后的权重数据和特征图数据并输出至密集计算单元模块,密集计算单元模块进行卷积计算并输出卷积中间计算结果至数据整理模块,数据整理模块将卷积中间计算结果储存并累加至输出特征图缓存器或从输出特征图缓存器取出卷积中间计算结果并进行重新排序、池化和激活处理,并输出计算结果数据至DDR控制模块和全连接模块,全连接模块根据计算结果数据和权重数据进行三层全连接计算并输出特征图数据。
2.根据权利要求1所述的神经网络加速器,其特征是,所述的DDR控制模块为双倍数据率同步动态随机存取存储器控制模块。
3.根据权利要求1所述的神经网络加速器,其特征是,所述的权重缓存器包括:若干个随机存取存储器,其个数为输入特征图通道并行计算数,即为每个时刻同时在运算的输入通道数,该权重缓存器的大小即网络卷积层的最大单层权重大小,单位为bit;
所述的输入特征图缓存器包括:若干个随机存取存储器,其个数为三倍的输出特征图像素点并行计算数,输出特征图像素点并行计算数为每个时刻同时在运算的同一个输入通道的特征图上的滑窗大小,该输入特征图缓存器的大小为32×256×64,单位为bit;
所述的输出特征图缓存器包括:若干个随机存取存储器,其个数为两倍的输出特征图像素点并行计算数,该输出特征图缓存器为32×224×网络最大通道数,单位为bit。
4.根据权利要求1或3所述的神经网络加速器,其特征是,所述的权重缓存器和输入特征图缓存器均采用双端口随机存取存储器实现。
5.根据权利要求1所述的神经网络加速器,其特征是,所述的数据整理模块包括池化子模块和激活子模块。
6.根据权利要求1所述的神经网络加速器,其特征是,所述的密集计算单元模块由若干阵列的计算单元子模块组成,每个计算单元子模块处理的数据由输入数据匹配模块控制;计算单元子模块的个数为输入特征图通道并行计算数,该输入特征图通道并行计算数为每个时刻同时在运算的输入通道数;每个计算单元阵列的长度等于输出特征图像素点并行计算数,由于二维卷积会有特征图左右两边的填充,所以进入计算单元阵列计算的输入长度应比输出的长度多二,计算单元阵列的长度即计算单元阵列输出计算果的长度。
7.根据权利要求6所述的神经网络加速器,其特征是,所述的计算单元子模块的数量,即输出特征图像素点并行计算数,表示在输入特征图通道方向并行计算个数,它的个数即输出特征图上每个通道同时计算的像素点数目;输入特征图通道并行计算数为具体的实现方案设计中会影响计算单元阵列的数量,输入特征图通道并行计算数的大小即同时在计算的输入特征图通道数;输出特征图通道并行计算数影响计算单元阵列的数量,代表着同时在计算的输出特征图通道数。
8.根据权利要求1所述的神经网络加速器,其特征是,所述的全连接层模块内设有与片上片下通信数据带宽大小相匹配的乘法器,即运算速度与读取数据速度相匹配以节省运算资源,全部全连接层的操作均在全连接层进行且每层全连接层的计算结果全部置于片上,只需从片外读入权重。
9.根据权利要求1或8所述的神经网络加速器,其特征是,所述的全连接层模块内设有与全连接层所有层的特征图相加结果大小相同的存储器。
10.根据权利要求1-9中任一所述神经网络加速器的实现方法,其特征在于,包括以下步骤:
步骤1)预先将网络模型中的全部权重参数训练完成,按层的顺序排列在片外存储中;
步骤2)片外存储通过DDR将权重参数传至DDR控制模块中;然后将需要输入的图片像素点也按照特定次序保存至DDR控制模块中,此顺序为:先在一个输入通道上存入输出特征图像素点并行计算数个特征图像素点,再换下一个输入通道,重复此过程至遍历完所有输入通道;然后再换同一行向右边输出特征图像素点并行计算数个像素点,重复上述过程至一行结束换一列至整个特征图完成;
步骤3)神经网络的每层计算开始时,先由DDR控制模块从片外存储中读取权重送入输入数据匹配模块中,输入数据匹配模块将权重依次存入到权重缓存器中;当一层的权重全部输入完后,DDR控制模块从DDR中读取特征图数据至输入数据匹配模块中,输入数据匹配模块将特征图数据存入输入特征图缓存器中;当存入的输入特征图像素点数量足够一次并行计算的量后,将输入特征图缓存器和权重缓存器输出的值一起送入密集计算单元模块中进行卷积运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010224137.0A CN111340198B (zh) | 2020-03-26 | 2020-03-26 | 基于fpga的数据高度复用的神经网络加速器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010224137.0A CN111340198B (zh) | 2020-03-26 | 2020-03-26 | 基于fpga的数据高度复用的神经网络加速器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111340198A CN111340198A (zh) | 2020-06-26 |
CN111340198B true CN111340198B (zh) | 2023-05-05 |
Family
ID=71180463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010224137.0A Active CN111340198B (zh) | 2020-03-26 | 2020-03-26 | 基于fpga的数据高度复用的神经网络加速器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111340198B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112001492B (zh) * | 2020-08-07 | 2023-06-23 | 中山大学 | 关于二值权重DenseNet模型的混合流水式加速架构及加速方法 |
CN112070217B (zh) * | 2020-10-15 | 2023-06-06 | 天津大学 | 一种卷积神经网络加速器的内部存储带宽优化方法 |
CN112905530B (zh) * | 2021-03-29 | 2023-05-26 | 上海西井信息科技有限公司 | 片上架构、池化计算加速器阵列、单元以及控制方法 |
CN113657587B (zh) * | 2021-08-17 | 2023-09-26 | 上海大学 | 基于fpga的可变形卷积加速方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108280514A (zh) * | 2018-01-05 | 2018-07-13 | 中国科学技术大学 | 基于fpga的稀疏神经网络加速系统和设计方法 |
CN109086867A (zh) * | 2018-07-02 | 2018-12-25 | 武汉魅瞳科技有限公司 | 一种基于fpga的卷积神经网络加速系统 |
CN109598338A (zh) * | 2018-12-07 | 2019-04-09 | 东南大学 | 一种基于fpga的计算优化的卷积神经网络加速器 |
CN109635944A (zh) * | 2018-12-24 | 2019-04-16 | 西安交通大学 | 一种稀疏卷积神经网络加速器及实现方法 |
CN109948774A (zh) * | 2019-01-25 | 2019-06-28 | 中山大学 | 基于网络层捆绑运算的神经网络加速器及其实现方法 |
CN110852428A (zh) * | 2019-09-08 | 2020-02-28 | 天津大学 | 基于fpga的神经网络加速方法和加速器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239824A (zh) * | 2016-12-05 | 2017-10-10 | 北京深鉴智能科技有限公司 | 用于实现稀疏卷积神经网络加速器的装置和方法 |
-
2020
- 2020-03-26 CN CN202010224137.0A patent/CN111340198B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108280514A (zh) * | 2018-01-05 | 2018-07-13 | 中国科学技术大学 | 基于fpga的稀疏神经网络加速系统和设计方法 |
CN109086867A (zh) * | 2018-07-02 | 2018-12-25 | 武汉魅瞳科技有限公司 | 一种基于fpga的卷积神经网络加速系统 |
CN109598338A (zh) * | 2018-12-07 | 2019-04-09 | 东南大学 | 一种基于fpga的计算优化的卷积神经网络加速器 |
CN109635944A (zh) * | 2018-12-24 | 2019-04-16 | 西安交通大学 | 一种稀疏卷积神经网络加速器及实现方法 |
CN109948774A (zh) * | 2019-01-25 | 2019-06-28 | 中山大学 | 基于网络层捆绑运算的神经网络加速器及其实现方法 |
CN110852428A (zh) * | 2019-09-08 | 2020-02-28 | 天津大学 | 基于fpga的神经网络加速方法和加速器 |
Non-Patent Citations (2)
Title |
---|
A CNN Accelerator on FPGA Using Depthwise Separable Convolution;Lin Bai 等;IEEE Transactions on Circuits and Systems II: Express Briefs;第65卷(第10期);1415-1419 * |
基于PCC的神经网络PID控制器设计;郝连钢;齐蓉;《微电机》(第3期);76-78 * |
Also Published As
Publication number | Publication date |
---|---|
CN111340198A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111340198B (zh) | 基于fpga的数据高度复用的神经网络加速器 | |
CN110458279B (zh) | 一种基于fpga的二值神经网络加速方法及系统 | |
CN110516801B (zh) | 一种高吞吐率的动态可重构卷积神经网络加速器 | |
CN109409511B (zh) | 一种用于动态可重构阵列的卷积运算数据流调度方法 | |
CN111445012B (zh) | 一种基于fpga的分组卷积硬件加速器及其方法 | |
CN109948774B (zh) | 基于网络层捆绑运算的神经网络加速器及其实现方法 | |
US11462003B2 (en) | Flexible accelerator for sparse tensors in convolutional neural networks | |
CN109447241B (zh) | 一种面向物联网领域的动态可重构卷积神经网络加速器架构 | |
CN113033794B (zh) | 基于深度可分离卷积的轻量级神经网络硬件加速器 | |
US11531868B1 (en) | Input value cache for temporarily storing input values | |
CN107633297A (zh) | 一种基于并行快速fir滤波器算法的卷积神经网络硬件加速器 | |
US11797830B2 (en) | Flexible accelerator for sparse tensors in convolutional neural networks | |
CN109992541A (zh) | 一种数据搬运方法、相关产品及计算机存储介质 | |
CN110688616B (zh) | 一种基于乒乓ram的条带阵列的卷积模块及其运算方法 | |
Kala et al. | UniWiG: Unified winograd-GEMM architecture for accelerating CNN on FPGAs | |
CN209231976U (zh) | 一种可重构神经网络算法的加速装置 | |
JP7171883B2 (ja) | 効率的な畳み込みエンジン | |
CN111767994A (zh) | 一种神经元计算模块 | |
CN111310115B (zh) | 数据处理方法、装置及芯片、电子设备、存储介质 | |
CN110377874A (zh) | 卷积运算方法及系统 | |
CN112395549B (zh) | 一种用于矩阵乘法密集型算法的可重构矩阵乘法加速系统 | |
CN110555512A (zh) | 一种二值卷积神经网络数据重用方法及装置 | |
CN109324984A (zh) | 在卷积运算中使用循环寻址的方法和装置 | |
CN107783935A (zh) | 基于动态精度可配运算的近似计算可重构阵列 | |
JP2023531070A (ja) | 膨張畳み込み加速演算方法及び装置 |
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 |