CN108280514A - 基于fpga的稀疏神经网络加速系统和设计方法 - Google Patents
基于fpga的稀疏神经网络加速系统和设计方法 Download PDFInfo
- Publication number
- CN108280514A CN108280514A CN201810013467.8A CN201810013467A CN108280514A CN 108280514 A CN108280514 A CN 108280514A CN 201810013467 A CN201810013467 A CN 201810013467A CN 108280514 A CN108280514 A CN 108280514A
- Authority
- CN
- China
- Prior art keywords
- neural network
- data
- fpga
- sparse
- sparse neural
- 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
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
Abstract
本发明公开了基于FPGA的稀疏神经网络加速系统和设计方法,包括稀疏神经网络参数处理结构和预测阶段硬件加速结构,所述的稀疏神经网络参数处理结构,用于稀疏神经网络各层参数的获取和存储;所述的预测阶段硬件加速结构,用于稀疏神经网络预测阶段的计算加速。分析稀疏神经网络的关键计算,对系统平台做出软硬件划分,形成系统整体框架;利用通用深度学习框架提取和存储稀疏神经网络结构的参数;根据预测阶段关键计算的特征和访存特征,设计硬件加速器整体框架,实现计算逻辑IP核;根据平台硬件资源情况,确定固化IP核数量,均衡计算负载;移植操作系统完成软硬件的协同工作。本发明在有限的计算资源和存储资源的条件下,达到高性能和低功耗的要求。
Description
技术领域
本发明涉及算法的硬件加速器领域,具体地涉及一种针对稀疏神经网络的FPGA加速系统设计和方法。
背景技术
近年来,随着神经网络(NN)算法广泛应用于图像处理,语音识别,自然语言处理等多个领域,对神经网络进行硬件加速,相比CPU和GPU有更好的能效。由于对准确度要求的提升,神经网络的层数和参数规模增大,产生大量冗余计算。在保证准确度的同时,使用剔除小权值参数,重新训练等多种方法的稀疏化的神经网络,减少神经网络结构对存储空间与计算资源的要求,有更加广泛的应用前景。
稀疏型神经网络与传统神经网络相比,其计算形式由规则的密集型矩阵的操作,变为对不规则的稀疏型矩阵进行操作,处理稀疏矩阵的两类方法,一是对稀疏矩阵填充零值元素,转换为规则矩阵进行操作,增加了额外的存储空间和无效计算;二是对稀疏矩阵进行压缩存储,并对由此对后续计算引起的访存数量增加等影响进行优化。
针对稀疏神经网络参数存储和计算特点实现稀疏神经网络硬件加速器,对于硬件加速平台的选择,常用有GPU,FPGA和ASIC三种。对比三种实现方式,FPGA相比GPU与ASIC,硬件结构能够针对专门的设计需求配置调整,开发周期短,单次开发成本低,难度较小,是对稀疏神经网络硬件加速结构进行研究的理想平台。
发明内容
有鉴于此,本发明目的是:提供了一种基于FPGA的稀疏神经网络加速系统及其设计方法,能够针对稀疏型的神经网络预测阶段的计算加速,对比通用处理器和传统基于FPGA的硬件加速器达到更好性能和更低功耗的要求。
本发明的技术方案是:
一种基于FPGA的稀疏神经网络加速系统设计方法,包括以下步骤:
S01:通过分析稀疏神经网络的关键计算,对系统平台做出软硬件划分,形成系统软硬件协同工作的整体框架;
S02:利用通用深度学习框架提取和存储稀疏神经网络结构的各层参数;
S03:根据预测阶段关键计算的特征和访存特征,设计硬件加速器整体框架,实现处理单元IP核;
S04:根据硬件资源和带宽情况,确定处理单元数量,均衡划分计算任务;
S05:将操作系统烧写到控制端,编写硬件加速器设备驱动及调用接口。
优选技术方案中,所述S01分析稀疏神经网络训练阶段和预测阶段,其中训练阶段关键计算为求导操作,采用通用深度学习框架处理,以达到快速准确的效果,预测阶段关键计算为卷积操作和矩阵乘法操作,用于硬件加速。
优选技术方案中,所述S02包括以下步骤:
针对常用的稀疏神经网络中计算密集型结构卷积层和存储密集型结构全连接层,比较二者的计算方式,基于提高数据复用,减少访存次数的原则,确定统一的计算参数表示方式;通过统计每层中权值矩阵的稀疏度,比较稀疏矩阵常用压缩存储格式的数据量大小和稳定程度,选取参数压缩存储使用格式,所述的稀疏度=非零权值数量/全部权值数量。
优选技术方案中,为增大数据的复用程度,减少数据的复制,降低访存次数,选择将全连接层的输入向量和权值向量分别映射为全连接层的输入特征图和卷积核矩阵。
优选技术方案中,稀疏矩阵压缩存储格式采用压缩稀疏行/列方式,即 CSR/CSC。
优选技术方案中,所述S03分为以下步骤:
针对预测阶段的计算流程设计硬件加速器整体架构,多层复用处理单元迭代计算,包括数据传输模块,计算处理模块,数据缓存模块;数据传输模块使用DMA流式读入和写回;计算处理模块包括多个处理单元,多个矩阵定点乘法器和二叉树累加器;缓存模块包括三个缓存结构,分别暂存计算所需输入,权值和输出中间结果。
优选技术方案中,所述S04分为以下步骤:
充分利用FPGA硬件资源DSP,BRAM和LUT数量,以及带宽情况,确定处理单元数量和缓存大小;根据输入特征图矩阵与卷积矩阵稀疏度,在每一次迭代计算时均衡处理单元间计算任务。
优选技术方案中,处理单元的计算任务划分方案采取在每一次迭代计算前,静态划分的方式;所述的静态划分方式,统计卷积核矩阵中非零值数量,按照计算单元缓存卷积核稀疏度近似的原则,整合并划分多个卷积核矩阵;统计输入特征图矩阵中非零值数量,按照计算单元中输入特征图矩阵稀疏度近似的原则,对特征图矩阵进行行列划分;整合并划分多个卷积核,保证每个硬件处理单元计算量近似;在神经网络算法图像处理应用中,在每层输出结果,引入新的零值,在每次复用计算单元迭代计算前,重新进行计算任务划分。
优选技术方案中,所述S05包括以下步骤:
在CPU控制端运行Linux系统,采用字符设备框架为硬件加速器模块编写设备驱动程序,同时方便后续使用,完成调用接口函数;其中,在DMA 驱动程序中采用内存映射的方式进行数据的填充,将虚拟地址空间中的内核空间某段地址映射到用户空间中,减少数据的搬运操作。
本发明又公开了一种基于FPGA的用于稀疏神经网络的加速系统,其特征在于,系统包括通用处理器、现场可编程门阵列以及存储器,包括:
CPU通用处理器,运行操作系统,对计算参数进行压缩处理,控制硬件加速器的运行。
DDR存储器,分别存储稀疏神经网络参数,输入特征图数据以及加速器回传结果。
FPGA硬件加速器包括,数据传输模块,通过DMA进行数据的流式传输,进行数据读取与写回;计算处理模块,采用与划分计算量相等的矩阵定点乘法器,通过二叉树累加器累加中间结果;数据缓存模块,存储计算所需的输入特征图矩阵,卷积核矩阵与输出结果数据。
优选技术方案中,所述处理硬件加速结构的控制器为通用处理器,通过控制总线控制计算处理单元的数据读取和写回,同时通过任务划分策略均衡计算任务的分配。
优选技术方案中,所述计算所需卷积核数据与输入特征图数据压缩存储 DDR中,通过DMA与硬件加速器进行数据传输,同时存储硬件加速器计算的回传结果。
优选技术方案中,所述预测阶段计算模块通过将DMA读入的权值数据和输入数据在片上进行缓存,其中输入缓存与输出缓存交替使用的方式,在计算的同时读入下一次迭代所需的数据,形成流水化操作。设计乘法器的大小与任务分配量相等,使用二叉树累加器进行中间结果的归约操作降低算法时间复杂度,将输出数据进行缓存,缓存区满后一次性写回,降低访存的数量和数据传输延迟。
与现有技术相比,本发明的优点是:
本发明可以有效的加速稀疏神经网络的预测过程,针对稀疏神经网络的权值参数不规则计算和访存特点,采用软硬件协同工作方式,相对通用处理器和原有的FPGA神经网络加速器有更高的性能和更低的功耗。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1为本发明实施例的基于FPGA的稀疏神经网络算法加速系统设计方法100的流程图;
图2是稀疏神经网络模型的算法阶段示意图,对输入数据集的处理分为训练阶段和预测阶段;
图3是本发明实例稀疏神经网络加速系统软硬件协同框架图;
图4是基于FPGA的稀疏神经网络加速系统总体架构图;
图5(a)是卷积层的计算示意图,(b)是全连接层的计算示意图;
图6是全连接层参数到卷积层参数的映射;
图7是稀疏矩阵的压缩稀疏矩阵行/列格式示意图;
图8是本发明实例稀疏神经网络FPGA加速器计算处理单元结构图;
图9是本发明实例稀疏神经网络加速FPGA加速器数据缓存结构图,使用 BRAM缓存计算硬件加速器计算所需数据;
图10是本发明实例稀疏神经网络FPGA加速器DMA数据传输示意图;
图11为本发明实例稀疏神经网络预测阶段计算FPGA加速的计算流程图;
图12是稀疏神经网络模型以4个2*2尺寸的卷积为例的卷积核稀疏矩阵划分示意图;
图13是稀疏神经网络模型以2个16*16尺寸的输入特征图稀疏矩阵划分示意图;
图14位本发明实例基于FPGA稀疏神经网络加速系统的一个可能应用场景及框架示。
实施例:
本发明实施例中的FPGA平台是指同时集成通用处理器(General PurposeProcessor,简称为“GPP”)和现场可编程门阵列(Field Programmable Gate Arrays,简称为“FPGA”)芯片的系统,其中,FPGA 和GPP之间的数据通路可以采用PCI-E总线协议、AXI总线协议等进行连接。本发明实施例附图数据通路采用AXI总线协议为例说明,但本发明并不限于此。
图1为本发明实施例的基于FPGA的稀疏神经网络算法加速系统设计方法100的流程图。该设计方法100包括:
S110:分析稀疏神经网络关键计算,对系统做出软硬件划分,形成整体框架;
S120:获取稀疏神经网络各层的权值参数,重新排列参数矩阵元素,压缩存储参数矩阵;
S130:根据预测阶段关键计算特征和访存特征,设计硬件加速器结构,实现计算逻辑单元;
S140:根据硬件资源和带宽情况,确定固化计算单元数量,均衡分配处理单元件的计算任务;
S150:将操作系统烧通用处理器,编写硬件加速器模块的设备驱动和调用接口函数。
下文中将结合图2,对本发明实例稀疏神经网络加速器系统整体框架的设计进行详细描述。
图2是稀疏神经网络模型算法阶段示意图,对输入数据集的处理分为训练阶段和预测阶段。训练阶段常用的通用处理器与图形处理器,采用反向传播算法等训练方法,通过求导计算迭代更新权值参数,最终得到具有高准确度的神经网络模型。预测阶段在训练后的神经网络基础上,进行前向计算,使用训练后的权值对输入数据求加权和,最终得到输出预测结果。
开源的深度学习框架支持神经网络算法,通过调用相应接口函数生成神经网络模型,获取训练阶段后的权值参数矩阵。因此,结合图2,本发明实例将经过开源深度学习框架训练后的稀疏神经网络权值参数,即稀疏矩阵使用软件函数进行进一步处理,包括重新排列每层权值稀疏矩阵元素,压缩存储稀疏矩阵,达到不同层的计算复用同构处理单元,降低权值参数的存储空间的目的。
图3是本发明实例稀疏神经网络加速系统软硬件协同框架图。该框架包括:
处理系统(Processing System)210,是系统的控制部件,包括通用处理器(Processor)与存储器(DDR Memory)。通用处理器作为控制端运行软件任务,用于控制可编程逻辑块上加速结构的执行,将加速任务加载到可编程逻辑上进行加速工作,同时传输计算数据,控制加速任务的运行,获取工作模块的状态等;
可编程逻辑(Programmabe Logic)220,是系统的硬件加速部件,能够根据特定的计算任务设计并实现专用的加速IP核,构建自定义的硬件加速器对算法的加速,与处理系统在数据交互完成后独立的并行执行任务。
控制总线(Control Bus)230,用于系统控制部件到加速部件的控制信号传输。
数据总线(Data Bus)240,用于系统控制部件与加速部件间的数据传输。
对稀疏神经网络预测阶段进行加速的硬件加速器。
现有的深度学习框架能够快速得到高准确性的稀疏神经网络模型,即得到训练后的神经网络模型每层的权值参数稀疏矩阵。通过编写处理软件处理函数,对提取的权值参数稀疏矩阵进行处理,因此,本发明实例将主要
图4是基于FPGA的稀疏神经网络加速系统总体架构图,包括
通用处理器,用于控制硬件加速器的执行,计算数据的传输与计算任务的分配。同时,用于处理稀疏神经网络模型权值参数矩阵的提取与处理。系统控制器运行操作系统,通过接口函数调用硬件加速设备,通过控制总线和数据总线分别控制硬件DMA的开启与关闭,将数据从存储模块传输至硬件加速器;
内存模块,用于存储稀疏神经网络模型参数数据,模型输入数据,并设置预测阶段结果数据存储区,由处理器控制数据的读取和写回;
控制协议,使用AXI-Lite协议,用于单个,低吞吐量的内存映射通信,控制和状态的通信;
数据协议,使用AXI-Stream协议,传数据需无需地址,从关注设备直接连续传输数据。
FPGA硬件加速器,用于对稀疏神经网络的预测阶段计算进行加速。通过DMA 模块进行计算数据的传输,计算处理模块通过多个计算处理单元完成预测阶段的关键计算,读取的计算数据和处理的结果数据用BRAM缓存进行存储。
下文中将结合图5与图7,对本发明实例权值参数稀疏矩阵与输入数据稀疏矩阵的处理进行详细描述。
图5(a)是卷积层的计算示意图,(b)是全连接层的计算示意图。卷积层采用多个卷积核对输入特征图进行卷积操作,得到输出特征图,其计算数据包括特征图矩阵与卷积核矩阵;全连接层采用权值矩阵与对应输入向量进行加权和操作,得到输出向量,其计算数据包括输入向量与权值矩阵。
卷积层使用卷积矩阵乘法的计算,全连接层使用常规的矩阵乘法计算。在卷积层中,一个卷积核矩阵作为一个滑动窗口,在输入特征矩阵上按照行列以一定的步长间隔滑动,因此,将卷积矩阵操作转换为常规矩阵操作时,会产生大量的数据复制,反之,则不然;
图6是全连接层参数到卷积层参数的映射。全连接层的常规矩阵,转化为卷积矩阵,可以将每输入矩阵映射为一个输入特征矩阵,每个输出向量元素对应的相关权值映射为一个卷积核,该卷积核的尺寸与输入特征图尺寸相同。
图7是稀疏矩阵的压缩稀疏矩阵行/列格式示意图。稀疏神经网络的参数常用规则矩阵的形式存储,其矩阵的稀疏度最高可达到90%以上,按照数组结果存储矩阵浪费大量存储空间。因此,采用常规的稀疏矩阵存储格式,压缩存储参数矩阵,降低存储空间的占用量。采用三个数组结构分别存储按行排列的矩阵非零元素,非零元素对应的列号以及矩阵行的分隔点。
上文中详细描述了本发明实例稀疏神经网络算法的方法,下文中将结合图8与图11,对本发明实例稀疏神经网络预测阶段硬件计算结构的设计进行详细描述。
图8是本发明实例稀疏神经网络FPGA加速器计算处理单元结构图,包括:
并行定点乘法器3100,将卷积核数据与输入特征图数据进行卷积乘法计算,采用DSP实现,使用流水线技术进行优化,使每个周期进行多个定点乘法操作,乘法器数量的设定将在后文详述。
二叉加法树累加器3200,将定点乘法器3100结构中或得到结果进行累加操作,采用二叉加法树进行并行计算,进一步消除累加数据的读写依赖,将累加操作的时间复杂度由O(n)降至O(logn)。
激活函数计算器3300,激励函数选取常用的ReLU=max(x,0)激活函数,将累加后的数据作为输入,将负值数据赋为零值。
非零值滤过器3400,经过激活函数处理的数据存在新的零值,将零值结果进行过滤,减少片上缓存的数据量,最终保存在BRAM输出缓存上。
图9是本发明实例稀疏神经网络加速FPGA加速器数据缓存结构图,使用 BRAM缓存计算硬件加速器计算所需数据,包括:
输入特征图缓存4100,用于存储输入特征图矩阵数据。
卷积核参数缓存4200,用于存储稀疏神经网络模型每层的卷积核矩阵数据。
输出特征图缓存4300,用户存储计算单元输出的结果数据,缓存满后一次性写回到内存中。
图10是本发明实例稀疏神经网络FPGA加速器DMA数据传输示意图。 Processor,DDR Memory Controller和AXI DMA分别位于系统的处理系统和可编程逻辑上,处理器通过AXI-Lite总线设置、初始化和控制数据的传输。AXI_MM2S和AXI_S2MM是内存映射的AXI4总线,AXIS_MM2S 和AXIS_S2MM是无地址的连续数据传输AXI4-Streaming总线。在处理器的控制下,计算数据在DDR内存与FPGA加速器自定义IP核之间传输。
图11为本发明实例稀疏神经网络预测阶段计算FPGA加速的计算流程图。通用处理器的控制下,通过DMA将存储在内存上的卷积核数据与输入特征图数据传输到FPGA加速器进行计算,经过计算处理单元进行乘法运算、累加运算、激励函数等处理,计算完成后再通过DMA回传到内存中。
上文所述结合图2至图11描述本发明实例基于FPGA的稀疏神经网络加速系统结构,下文将结合图12与图13的简化示例,描述根据计算数据的稀疏度和FPGA加速器上处理单元的数量,在每一次迭代计算前进行计算任务的划分。
图12是稀疏神经网络模型多个卷积核稀疏矩阵划分示意图,以4个2*2 尺寸的卷积核,2个计算单元为例。统计卷积核矩阵的稀疏度(稀疏度=矩阵非零元素数量/矩阵全部数量),结合FPGA加速器上计算单元的数量,在保证每个计算单元中卷积核的稀疏度近似前提下,将卷积核进行组合分配至对应的处理单元中。
图13是稀疏神经网络模型输入特征图稀疏矩阵划分示意图,以2个8*8 尺寸的输入特征图为例。上文中图5所示的稀疏神经网络模型中的计算示意图,经过激活函数ReLU输出的输出特征图包含多个零值元素,且稀疏度动态变化。统计输入特征图矩阵的稀疏度,结合FPGA加速器上计算单元的数量,按照每个计算单元中输入特征图矩阵的稀疏度近似的原则,将输入特征图使用行与列的形式进行划分后分配至对应的处理单元中。
图14位本发明实例基于FPGA稀疏神经网络加速系统的一个可能应用场景及框架示意图。
这里应用系统的组成是作为示例说明,本发明并不局限于此。用户通过编写应用对系统发出请求,系统控制器将任务分配到相应的软件与硬件计算节点上。在软件节点上进行模型参数的处理工作,将加速任务加载到硬件计算节点上执行计算的加速工作。
基于FPGA的计算节点结构由底层硬件至顶层应用组成,包括:
硬件层,由FPGA硬件加速器、内存与通用处理器组成,通用处理器作为系统控制器,控制FPGA硬件减速器的计算处理单元的执行,数据读取与写回。FPGA硬件加速器处理预测阶段的主要计算任务,包括卷积乘法累加运算单元,激活函数单元和非零值滤过单元。计算所需的输入特征图数据与卷积核数据,在通用处理器控制下,通过DMA在内存存储区与硬件处理单元之间进行传输;
驱动层,根据烧写的操作系统和硬件设备,使用设备驱动框架为硬件模块编写驱动程序,提供上层接口函数的系统调用实现。
接口层,在实现的驱动模块基础上,封装硬件设备控制调用的接口函数。
应用层,面向用户提供稀疏神经网络预测计算的功能框架。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的系统及其设计方法能够以FPGA和CPU的异构系统的形式来实现。更加细节的计算数据分片计算的大小,FPGA加速器上固化IP核的数量,FPGA硬件处理单元的任务量分配,均与不同种类的输入开源数据集与不同类型的 FPGA平台上硬件资源与带宽情况有关。专业技术人员可以针对特定的应用或特定类型FPGA平台使用不同的任务划分方式,数据分片大小,计算并行度来实现上文描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的实施例中,应该理解到,所揭露的设计方法和硬件结构,可以通过其它的方式实现。例如,以上所描稀疏神经网络应用为深度卷积神经网络是示意性的。例如处理系统(Processing System)与可编程逻辑 (Programmable Logic)互联AXI总线接口是示意性的,可以根据不同的平台进行选择。例如,卷积核与输入特征图的划分尺寸与计算单元中的并行粒度是示意性的,可以根据具体输入数据结构尺寸与硬件资源情况等进行调整。
上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。
Claims (13)
1.一种基于FPGA的稀疏神经网络加速系统,其特征在于,包括:
CPU,运行操作系统,对稀疏神经网络结构每层参数进行的压缩处理,对FPGA硬件加速器进行控制;
DDR,用于存储稀疏神经网络参数,输入数据和加速器计算结果;
FPGA硬件加速器,包括预测阶段计算的硬件处理模块和中间结果数据缓存模块。
2.根据权利1所述的基于FPGA的稀疏神经网络加速系统,其特征在于,CPU完成稀疏神经网络参数的处理,包括对卷积层和全连接层参数使用统一的表示方法,神经网络中关键计算使用通用的矩阵乘法处理单元;对参数的矩阵表示使用稀疏矩阵压缩存储格式存储,减少参数对内存资源的要求。
3.根据权利1所述的基于FPGA的稀疏神经网络加速系统,其特征在于,CPU作为系统的控制器,通过总线接口与硬件加速器进行通信,控制参数数据和计算结果在DDR与FPGA硬件加速器间的传输,各处理单元间的计算任务分配,读取各单元的工作状态。
4.根据权利1所述的基于FPGA平台的稀疏神经网络加速系统,其特征在于,FPGA加速器结构包括数据传输模块,数据缓存模块和计算处理模块,其中:
数据传输模块,使用AXI DMA流式的传输预测阶段所需的权值数据和输入数据,实现数据的读入和写回;
数据缓存模块,使用BRAM作为数据缓存,包括权值缓存,输入缓存和输出缓存,分别存储任务划分后的权值数据,输入数据以及计算累加结果的中间数据,采用输入与输出数据缓存交替使用的方式,预先读入下一轮计算所需数据;
计算处理模块,作为加速结构的核心单元,用于预测阶段关键计算的加速单元,采用与划分计算任务数相等的定点乘法器,采用二叉树累加器的方式累加中间的计算结果,降低时间复杂度。
5.一种基于FPGA的稀疏神经网络加速系统设计方法,其特征在于,包括以下步骤:
S01:通过分析稀疏神经网络的关键计算,对系统平台做出软硬件划分,形成系统软硬件协同工作的整体框架;
S02:利用通用深度学习框架提取和存储稀疏神经网络结构的各层参数;
S03:根据预测阶段关键计算的特征和访存特征,设计硬件加速器整体框架,实现处理单元IP核;
S04:根据硬件资源和带宽情况,确定处理单元数量,均衡划分计算任务;
S05:将操作系统烧写到控制端,编写硬件加速器设备驱动及调用接口。
6.根据权利要求5所述基于FPGA的稀疏神经网络加速系统设计方法,其特征在于,所述S01分析稀疏神经网络训练阶段和预测阶段,其中训练阶段关键计算为求导操作,采用通用深度学习框架处理,以达到快速准确的效果,预测阶段关键计算为卷积操作和矩阵乘法操作,用于硬件加速。
7.根据权利要求5所述基于FPGA的稀疏神经网络加速系统设计方法,其特征在于,所述S02包括以下步骤:
针对常用的稀疏神经网络中计算密集型结构卷积层和存储密集型结构全连接层,比较二者的计算方式,基于提高数据复用,减少访存次数的原则,确定统一的计算参数表示方式;通过统计每层中权值矩阵的稀疏度,比较稀疏矩阵常用压缩存储格式的数据量大小和稳定程度,选取参数压缩存储使用格式,所述的稀疏度=非零权值数量/全部权值数量。
8.根据权利要求7所述基于FPGA的稀疏神经网络加速系统设计方法,其特征在于,为增大数据的复用程度,减少数据的复制,降低访存次数,选择将全连接层的输入向量和权值向量分别映射为全连接层的输入特征图和卷积核矩阵。
9.根据权利要求7所述基于FPGA的稀疏神经网络加速系统设计方法,其特征在于,稀疏矩阵压缩存储格式采用压缩稀疏行/列方式,即CSR/CSC。
10.根据权利要求5所述基于FPGA的稀疏神经网络加速系统设计方法,其特征在于,所述S03分为以下步骤:
针对预测阶段的计算流程设计硬件加速器整体架构,多层复用处理单元迭代计算,包括数据传输模块,计算处理模块,数据缓存模块;数据传输模块使用DMA流式读入和写回;计算处理模块包括多个处理单元,多个矩阵定点乘法器和二叉树累加器;缓存模块包括三个缓存结构,分别暂存计算所需输入,权值和输出中间结果。
11.根据权利要求5所述基于FPGA的稀疏神经网络加速系统设计方法,其特征在于,所述S04分为以下步骤:
充分利用FPGA硬件资源DSP,BRAM和LUT数量,以及带宽情况,确定处理单元数量和缓存大小;根据输入特征图矩阵与卷积矩阵稀疏度,在每一次迭代计算时均衡处理单元间计算任务。
12.根据权利要求11所述基于FPGA的稀疏神经网络加速系统设计方法,其特征在于,处理单元的计算任务划分方案采取在每一次迭代计算前,静态划分的方式;所述的静态划分方式,统计卷积核矩阵中非零值数量,按照计算单元缓存卷积核稀疏度近似的原则,整合并划分多个卷积核矩阵;统计输入特征图矩阵中非零值数量,按照计算单元中输入特征图矩阵稀疏度近似的原则,对特征图矩阵进行行列划分;整合并划分多个卷积核,保证每个硬件处理单元计算量近似;在神经网络算法图像处理应用中,在每层输出结果,引入新的零值,在每次复用计算单元迭代计算前,重新进行计算任务划分。
13.根据权利要求5所述基于FPGA的稀疏神经网络加速系统设计方法,其特征在于,所述S05包括以下步骤:
在CPU控制端运行Linux系统,采用字符设备框架为硬件加速器模块编写设备驱动程序,同时方便后续使用,完成调用接口函数;其中,在DMA驱动程序中采用内存映射的方式进行数据的填充,将虚拟地址空间中的内核空间某段地址映射到用户空间中,减少数据的搬运操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810013467.8A CN108280514B (zh) | 2018-01-05 | 2018-01-05 | 基于fpga的稀疏神经网络加速系统和设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810013467.8A CN108280514B (zh) | 2018-01-05 | 2018-01-05 | 基于fpga的稀疏神经网络加速系统和设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108280514A true CN108280514A (zh) | 2018-07-13 |
CN108280514B CN108280514B (zh) | 2020-10-16 |
Family
ID=62803235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810013467.8A Active CN108280514B (zh) | 2018-01-05 | 2018-01-05 | 基于fpga的稀疏神经网络加速系统和设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108280514B (zh) |
Cited By (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109086883A (zh) * | 2018-07-20 | 2018-12-25 | 中国人民解放军国防科技大学 | 一种基于深度学习加速器实现稀疏计算的方法及装置 |
CN109245773A (zh) * | 2018-10-30 | 2019-01-18 | 南京大学 | 一种基于块循环稀疏矩阵神经网络的编解码方法 |
CN109359732A (zh) * | 2018-09-30 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 一种芯片及基于其的数据处理方法 |
CN109523019A (zh) * | 2018-12-29 | 2019-03-26 | 百度在线网络技术(北京)有限公司 | 加速器、基于fpga的加速系统及控制方法、cnn网络系统 |
CN109543815A (zh) * | 2018-10-17 | 2019-03-29 | 清华大学 | 神经网络的加速方法及装置 |
CN109711532A (zh) * | 2018-12-06 | 2019-05-03 | 东南大学 | 一种针对硬件实现稀疏化卷积神经网络推断的加速方法 |
CN109711540A (zh) * | 2018-12-20 | 2019-05-03 | 北京中科寒武纪科技有限公司 | 一种计算装置及板卡 |
CN109740731A (zh) * | 2018-12-15 | 2019-05-10 | 华南理工大学 | 一种自适应卷积层硬件加速器设计方法 |
CN109784484A (zh) * | 2019-01-31 | 2019-05-21 | 深兰科技(上海)有限公司 | 神经网络加速方法、装置、神经网络加速芯片及存储介质 |
CN109858575A (zh) * | 2019-03-19 | 2019-06-07 | 苏州市爱生生物技术有限公司 | 基于卷积神经网络的数据分类方法 |
CN109857565A (zh) * | 2019-01-18 | 2019-06-07 | 深圳壹账通智能科技有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
CN109902802A (zh) * | 2019-01-22 | 2019-06-18 | 西安电子科技大学 | 基于fpga的卷积神经网络训练系统及方法 |
CN109934336A (zh) * | 2019-03-08 | 2019-06-25 | 江南大学 | 基于最优结构搜索的神经网络动态加速平台设计方法及神经网络动态加速平台 |
CN109947573A (zh) * | 2019-03-26 | 2019-06-28 | 北京智芯微电子科技有限公司 | 适用于电力系统边缘计算的智能加速芯片 |
CN109976908A (zh) * | 2019-03-15 | 2019-07-05 | 北京工业大学 | 一种基于rnn时间序列预测的服务器集群动态伸缩方法 |
CN110097186A (zh) * | 2019-04-29 | 2019-08-06 | 济南浪潮高新科技投资发展有限公司 | 一种神经网络异构量化训练方法 |
CN110110850A (zh) * | 2019-04-29 | 2019-08-09 | 山东浪潮人工智能研究院有限公司 | 基于fpga前向反向可复用的处理单元实现方法 |
CN110135572A (zh) * | 2019-05-17 | 2019-08-16 | 南京航空航天大学 | 一种基于soc的可训练柔性cnn系统设计方法 |
CN110209627A (zh) * | 2019-06-03 | 2019-09-06 | 山东浪潮人工智能研究院有限公司 | 一种面向智能终端的ssd硬件加速方法 |
CN110263925A (zh) * | 2019-06-04 | 2019-09-20 | 电子科技大学 | 一种基于fpga的卷积神经网络前向预测的硬件加速实现架构 |
CN110399979A (zh) * | 2019-06-17 | 2019-11-01 | 深圳大学 | 一种基于现场可编程门阵列的点击率预估的系统及方法 |
CN110458277A (zh) * | 2019-04-17 | 2019-11-15 | 上海酷芯微电子有限公司 | 适用于深度学习硬件加速器的可配置精度的卷积硬件结构 |
CN110738310A (zh) * | 2019-10-08 | 2020-01-31 | 清华大学 | 一种稀疏神经网络加速器及其实现方法 |
CN110738312A (zh) * | 2019-10-15 | 2020-01-31 | 百度在线网络技术(北京)有限公司 | 用于数据处理的方法、系统、设备和计算机可读存储介质 |
CN110826707A (zh) * | 2018-08-10 | 2020-02-21 | 北京百度网讯科技有限公司 | 应用于卷积神经网络的加速方法和硬件加速器 |
WO2020062303A1 (zh) * | 2018-09-30 | 2020-04-02 | 华为技术有限公司 | 训练神经网络的方法和装置 |
CN110956257A (zh) * | 2018-09-26 | 2020-04-03 | 龙芯中科技术有限公司 | 神经网络加速器 |
CN110991631A (zh) * | 2019-11-28 | 2020-04-10 | 福州大学 | 一种基于fpga的神经网络加速系统 |
CN111027669A (zh) * | 2019-10-21 | 2020-04-17 | 浙江省北大信息技术高等研究院 | 在现场可编程门阵列上实现深度神经网络的方法及装置 |
CN111126569A (zh) * | 2019-12-18 | 2020-05-08 | 中电海康集团有限公司 | 一种支持剪枝稀疏化压缩的卷积神经网络装置和计算方法 |
CN111143272A (zh) * | 2019-12-28 | 2020-05-12 | 浪潮(北京)电子信息产业有限公司 | 异构计算平台的数据处理方法、装置及可读存储介质 |
CN111160516A (zh) * | 2018-11-07 | 2020-05-15 | 杭州海康威视数字技术股份有限公司 | 一种深度神经网络的卷积层稀疏化方法及装置 |
CN111178518A (zh) * | 2019-12-24 | 2020-05-19 | 杭州电子科技大学 | 一种基于fpga的软硬件协同的加速方法 |
CN111222624A (zh) * | 2018-11-26 | 2020-06-02 | 深圳云天励飞技术有限公司 | 一种并行计算方法及装置 |
CN111340198A (zh) * | 2020-03-26 | 2020-06-26 | 上海大学 | 基于fpga的数据高度复用的神经网络加速器 |
CN111368988A (zh) * | 2020-02-28 | 2020-07-03 | 北京航空航天大学 | 一种利用稀疏性的深度学习训练硬件加速器 |
CN111381887A (zh) * | 2020-03-18 | 2020-07-07 | 深圳中微电科技有限公司 | 在mvp处理器中进行图像运动补偿的方法、装置及处理器 |
CN111427895A (zh) * | 2020-04-01 | 2020-07-17 | 西安交通大学 | 一种基于两段式缓存的神经网络推理加速方法 |
CN111461310A (zh) * | 2019-01-21 | 2020-07-28 | 三星电子株式会社 | 处理神经网络模型的神经网络设备、神经网络系统和方法 |
CN111563579A (zh) * | 2020-04-28 | 2020-08-21 | 深圳市易成自动驾驶技术有限公司 | 基于数据流的cnn加速方法、装置、设备及存储介质 |
CN111598221A (zh) * | 2020-05-14 | 2020-08-28 | 济南浪潮高新科技投资发展有限公司 | 一种软硬件协同加速神经网络算法的方法及系统 |
CN111667052A (zh) * | 2020-05-27 | 2020-09-15 | 上海赛昉科技有限公司 | 专用神经网络加速器的标准与非标准卷积一致性变换方法 |
CN111752879A (zh) * | 2020-06-22 | 2020-10-09 | 深圳鲲云信息科技有限公司 | 一种基于卷积神经网络的加速系统、方法及存储介质 |
CN111831254A (zh) * | 2019-04-15 | 2020-10-27 | 阿里巴巴集团控股有限公司 | 图像处理加速方法、图像处理模型存储方法及对应装置 |
CN112435270A (zh) * | 2020-12-31 | 2021-03-02 | 杭州电子科技大学 | 一种便携式烧伤深度鉴定设备及其设计方法 |
CN112561034A (zh) * | 2020-12-04 | 2021-03-26 | 深兰人工智能(深圳)有限公司 | 一种神经网络加速装置 |
CN112631983A (zh) * | 2020-12-28 | 2021-04-09 | 电子科技大学 | 一种面向稀疏神经网络的片上系统 |
CN112668708A (zh) * | 2020-12-28 | 2021-04-16 | 中国电子科技集团公司第五十二研究所 | 一种提高数据利用率的卷积运算装置 |
CN112906874A (zh) * | 2021-04-06 | 2021-06-04 | 南京大学 | 卷积神经网络特征图数据压缩方法及装置 |
CN112906887A (zh) * | 2021-02-20 | 2021-06-04 | 上海大学 | 稀疏gru神经网络加速的实现方法和装置 |
CN112966807A (zh) * | 2019-12-13 | 2021-06-15 | 上海大学 | 基于存储资源受限fpga的卷积神经网络实现方法 |
CN112988229A (zh) * | 2019-12-12 | 2021-06-18 | 上海大学 | 基于异构计算的卷积神经网络资源优化配置方法 |
CN113255881A (zh) * | 2021-04-27 | 2021-08-13 | 西安交通大学 | Ps与pl协同架构的同态加密神经网络框架与推理方法 |
WO2021189209A1 (zh) * | 2020-03-23 | 2021-09-30 | 深圳市大疆创新科技有限公司 | 加速器的检测方法和验证平台 |
WO2020026159A3 (zh) * | 2018-08-01 | 2021-10-07 | 南京天数智芯科技有限公司 | 用于人工智能设备的灵活数据流处理器和处理方法 |
CN113487017A (zh) * | 2021-07-27 | 2021-10-08 | 湖南国科微电子股份有限公司 | 数据卷积处理方法、装置及计算机设备 |
CN113592088A (zh) * | 2021-07-30 | 2021-11-02 | 中科亿海微电子科技(苏州)有限公司 | 基于细粒度卷积计算结构的并行度确定方法及系统 |
WO2022057813A1 (zh) * | 2020-09-15 | 2022-03-24 | 中兴通讯股份有限公司 | 加速器参数确定方法及装置、计算机可读存储介质 |
WO2022188711A1 (zh) * | 2021-03-12 | 2022-09-15 | 北京大学 | Svm模型的训练方法、装置、设备和计算机可读存储介质 |
US20220357985A1 (en) * | 2021-05-07 | 2022-11-10 | Google Llc | Asynchronous distributed data flow for machine learning workloads |
US11531868B1 (en) | 2018-04-20 | 2022-12-20 | Perceive Corporation | Input value cache for temporarily storing input values |
US11531727B1 (en) | 2018-04-20 | 2022-12-20 | Perceive Corporation | Computation of neural network node with large input values |
US11586910B1 (en) | 2018-04-20 | 2023-02-21 | Perceive Corporation | Write cache for neural network inference circuit |
US11604973B1 (en) * | 2018-12-05 | 2023-03-14 | Perceive Corporation | Replication of neural network layers |
US11615322B1 (en) | 2019-05-21 | 2023-03-28 | Perceive Corporation | Compiler for implementing memory shutdown for neural network implementation configuration |
CN115906917A (zh) * | 2022-11-09 | 2023-04-04 | 武汉大学 | 一种基于模型算法划分的神经网络模型部署方法及装置 |
CN116029332A (zh) * | 2023-02-22 | 2023-04-28 | 南京大学 | 一种基于lstm网络的片上微调方法及装置 |
CN116187408A (zh) * | 2023-04-23 | 2023-05-30 | 成都甄识科技有限公司 | 稀疏加速单元、计算方法及稀疏神经网络硬件加速系统 |
CN116303108A (zh) * | 2022-09-07 | 2023-06-23 | 芯砺智能科技(上海)有限公司 | 一种适用于并行计算架构的卷积神经网络权重地址排布方法 |
US11783200B2 (en) | 2019-02-08 | 2023-10-10 | International Business Machines Corporation | Artificial neural network implementation in field-programmable gate arrays |
US11921561B2 (en) | 2019-01-23 | 2024-03-05 | Perceive Corporation | Neural network inference circuit employing dynamic memory sleep |
CN116303108B (zh) * | 2022-09-07 | 2024-05-14 | 芯砺智能科技(上海)有限公司 | 一种适用于并行计算架构的权重地址排布方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10740434B1 (en) | 2018-04-20 | 2020-08-11 | Perceive Corporation | Reduced dot product computation circuit |
US11783167B1 (en) | 2018-04-20 | 2023-10-10 | Perceive Corporation | Data transfer for non-dot product computations on neural network inference circuit |
US11568227B1 (en) | 2018-04-20 | 2023-01-31 | Perceive Corporation | Neural network inference circuit read controller with multiple operational modes |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106228238A (zh) * | 2016-07-27 | 2016-12-14 | 中国科学技术大学苏州研究院 | 现场可编程门阵列平台上加速深度学习算法的方法和系统 |
CN106383695A (zh) * | 2016-09-14 | 2017-02-08 | 中国科学技术大学苏州研究院 | 基于fpga的聚类算法的加速系统及其设计方法 |
CN107229967A (zh) * | 2016-08-22 | 2017-10-03 | 北京深鉴智能科技有限公司 | 一种基于fpga实现稀疏化gru神经网络的硬件加速器及方法 |
CN107239824A (zh) * | 2016-12-05 | 2017-10-10 | 北京深鉴智能科技有限公司 | 用于实现稀疏卷积神经网络加速器的装置和方法 |
CN107239825A (zh) * | 2016-08-22 | 2017-10-10 | 北京深鉴智能科技有限公司 | 考虑负载均衡的深度神经网络压缩方法 |
-
2018
- 2018-01-05 CN CN201810013467.8A patent/CN108280514B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106228238A (zh) * | 2016-07-27 | 2016-12-14 | 中国科学技术大学苏州研究院 | 现场可编程门阵列平台上加速深度学习算法的方法和系统 |
CN107229967A (zh) * | 2016-08-22 | 2017-10-03 | 北京深鉴智能科技有限公司 | 一种基于fpga实现稀疏化gru神经网络的硬件加速器及方法 |
CN107239825A (zh) * | 2016-08-22 | 2017-10-10 | 北京深鉴智能科技有限公司 | 考虑负载均衡的深度神经网络压缩方法 |
CN106383695A (zh) * | 2016-09-14 | 2017-02-08 | 中国科学技术大学苏州研究院 | 基于fpga的聚类算法的加速系统及其设计方法 |
CN107239824A (zh) * | 2016-12-05 | 2017-10-10 | 北京深鉴智能科技有限公司 | 用于实现稀疏卷积神经网络加速器的装置和方法 |
Non-Patent Citations (7)
Title |
---|
CHAO WANG: "《An Overview of Neural Network Accelerators of High performance computing for big data:Methodologies and applications》", 31 December 2017 * |
HUIMIN LI等: "A High Performance FPGA-based Accelerator for Large-Scale Convolutional Neural Networks", 《2016 26TH INTERNATIONAL CONFERENCE ON FIELD PROGRAMMABLE LOGIC AND APPLICATIONS》 * |
LEI GONG等: "Work-in-Progress: A Power-Effcient and High Performance FPGA Accelerator for Convolutional Neural Networks", 《2017 INTERNATIONAL CONFERENCE ON HARDWARE/SOFTWARE CODESIGN AND SYSTEM SYNTHESIS》 * |
SHIJIN ZHANG等: "Cambricon-X: An Accelerator for Sparse Neural Networks", 《2016 49TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE》 * |
YIWEI ZHANG等: "A Power-Efficient Accelerator Based on FPGAs for LSTM Network", 《2017 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING》 * |
YUNTAO LU等: "SparseNN: A Performance-Efficient Accelerator for Large-Scale Sparse Neural Networks", 《SPRINGER》 * |
YUNTAO LU等: "Work-in-Progress: A High-p erformance FPGA Accelerator for Sparse Neural Networks", 《2017 INTERNATIONAL CONFERENCE ON COMPILERS,ARCHITECTURES AND SYNTHESIS FOR EMBEDDED SYSTEMS》 * |
Cited By (108)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11586910B1 (en) | 2018-04-20 | 2023-02-21 | Perceive Corporation | Write cache for neural network inference circuit |
US11531727B1 (en) | 2018-04-20 | 2022-12-20 | Perceive Corporation | Computation of neural network node with large input values |
US11531868B1 (en) | 2018-04-20 | 2022-12-20 | Perceive Corporation | Input value cache for temporarily storing input values |
CN109086883A (zh) * | 2018-07-20 | 2018-12-25 | 中国人民解放军国防科技大学 | 一种基于深度学习加速器实现稀疏计算的方法及装置 |
WO2020026159A3 (zh) * | 2018-08-01 | 2021-10-07 | 南京天数智芯科技有限公司 | 用于人工智能设备的灵活数据流处理器和处理方法 |
CN110826707B (zh) * | 2018-08-10 | 2023-10-31 | 北京百度网讯科技有限公司 | 应用于卷积神经网络的加速方法和硬件加速器 |
CN110826707A (zh) * | 2018-08-10 | 2020-02-21 | 北京百度网讯科技有限公司 | 应用于卷积神经网络的加速方法和硬件加速器 |
CN110956257A (zh) * | 2018-09-26 | 2020-04-03 | 龙芯中科技术有限公司 | 神经网络加速器 |
WO2020062303A1 (zh) * | 2018-09-30 | 2020-04-02 | 华为技术有限公司 | 训练神经网络的方法和装置 |
CN109359732A (zh) * | 2018-09-30 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 一种芯片及基于其的数据处理方法 |
US11062201B2 (en) | 2018-09-30 | 2021-07-13 | Advanced New Technologies Co., Ltd. | Chip and chip-based data processing method |
US11361217B2 (en) | 2018-09-30 | 2022-06-14 | Advanced New Technologies Co., Ltd. | Chip and chip-based data processing method |
CN109543815B (zh) * | 2018-10-17 | 2021-02-05 | 清华大学 | 神经网络的加速方法及装置 |
CN109543815A (zh) * | 2018-10-17 | 2019-03-29 | 清华大学 | 神经网络的加速方法及装置 |
CN109245773B (zh) * | 2018-10-30 | 2021-09-28 | 南京大学 | 一种基于块循环稀疏矩阵神经网络的编解码方法 |
CN109245773A (zh) * | 2018-10-30 | 2019-01-18 | 南京大学 | 一种基于块循环稀疏矩阵神经网络的编解码方法 |
CN111160516B (zh) * | 2018-11-07 | 2023-09-05 | 杭州海康威视数字技术股份有限公司 | 一种深度神经网络的卷积层稀疏化方法及装置 |
CN111160516A (zh) * | 2018-11-07 | 2020-05-15 | 杭州海康威视数字技术股份有限公司 | 一种深度神经网络的卷积层稀疏化方法及装置 |
CN111222624B (zh) * | 2018-11-26 | 2022-04-29 | 深圳云天励飞技术股份有限公司 | 一种并行计算方法及装置 |
CN111222624A (zh) * | 2018-11-26 | 2020-06-02 | 深圳云天励飞技术有限公司 | 一种并行计算方法及装置 |
US11604973B1 (en) * | 2018-12-05 | 2023-03-14 | Perceive Corporation | Replication of neural network layers |
CN109711532A (zh) * | 2018-12-06 | 2019-05-03 | 东南大学 | 一种针对硬件实现稀疏化卷积神经网络推断的加速方法 |
CN109711532B (zh) * | 2018-12-06 | 2023-05-12 | 东南大学 | 一种针对硬件实现稀疏化卷积神经网络推断的加速方法 |
CN109740731A (zh) * | 2018-12-15 | 2019-05-10 | 华南理工大学 | 一种自适应卷积层硬件加速器设计方法 |
CN109711540A (zh) * | 2018-12-20 | 2019-05-03 | 北京中科寒武纪科技有限公司 | 一种计算装置及板卡 |
CN109523019A (zh) * | 2018-12-29 | 2019-03-26 | 百度在线网络技术(北京)有限公司 | 加速器、基于fpga的加速系统及控制方法、cnn网络系统 |
CN109857565A (zh) * | 2019-01-18 | 2019-06-07 | 深圳壹账通智能科技有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
CN111461310A (zh) * | 2019-01-21 | 2020-07-28 | 三星电子株式会社 | 处理神经网络模型的神经网络设备、神经网络系统和方法 |
CN109902802B (zh) * | 2019-01-22 | 2020-12-29 | 西安电子科技大学 | 基于fpga的卷积神经网络训练系统及方法 |
CN109902802A (zh) * | 2019-01-22 | 2019-06-18 | 西安电子科技大学 | 基于fpga的卷积神经网络训练系统及方法 |
US11921561B2 (en) | 2019-01-23 | 2024-03-05 | Perceive Corporation | Neural network inference circuit employing dynamic memory sleep |
CN109784484A (zh) * | 2019-01-31 | 2019-05-21 | 深兰科技(上海)有限公司 | 神经网络加速方法、装置、神经网络加速芯片及存储介质 |
US11783200B2 (en) | 2019-02-08 | 2023-10-10 | International Business Machines Corporation | Artificial neural network implementation in field-programmable gate arrays |
CN109934336B (zh) * | 2019-03-08 | 2023-05-16 | 江南大学 | 基于最优结构搜索的神经网络动态加速平台设计方法及神经网络动态加速平台 |
CN109934336A (zh) * | 2019-03-08 | 2019-06-25 | 江南大学 | 基于最优结构搜索的神经网络动态加速平台设计方法及神经网络动态加速平台 |
CN109976908A (zh) * | 2019-03-15 | 2019-07-05 | 北京工业大学 | 一种基于rnn时间序列预测的服务器集群动态伸缩方法 |
CN109858575B (zh) * | 2019-03-19 | 2024-01-05 | 苏州市爱生生物技术有限公司 | 基于卷积神经网络的数据分类方法 |
CN109858575A (zh) * | 2019-03-19 | 2019-06-07 | 苏州市爱生生物技术有限公司 | 基于卷积神经网络的数据分类方法 |
CN109947573A (zh) * | 2019-03-26 | 2019-06-28 | 北京智芯微电子科技有限公司 | 适用于电力系统边缘计算的智能加速芯片 |
CN111831254A (zh) * | 2019-04-15 | 2020-10-27 | 阿里巴巴集团控股有限公司 | 图像处理加速方法、图像处理模型存储方法及对应装置 |
CN110458277B (zh) * | 2019-04-17 | 2021-11-16 | 上海酷芯微电子有限公司 | 适用于深度学习硬件加速器的可配置精度的卷积硬件结构 |
CN110458277A (zh) * | 2019-04-17 | 2019-11-15 | 上海酷芯微电子有限公司 | 适用于深度学习硬件加速器的可配置精度的卷积硬件结构 |
CN110097186B (zh) * | 2019-04-29 | 2023-04-18 | 山东浪潮科学研究院有限公司 | 一种神经网络异构量化训练方法 |
CN110110850A (zh) * | 2019-04-29 | 2019-08-09 | 山东浪潮人工智能研究院有限公司 | 基于fpga前向反向可复用的处理单元实现方法 |
CN110097186A (zh) * | 2019-04-29 | 2019-08-06 | 济南浪潮高新科技投资发展有限公司 | 一种神经网络异构量化训练方法 |
CN110135572A (zh) * | 2019-05-17 | 2019-08-16 | 南京航空航天大学 | 一种基于soc的可训练柔性cnn系统设计方法 |
CN110135572B (zh) * | 2019-05-17 | 2023-05-26 | 南京航空航天大学 | 一种基于soc的可训练柔性cnn系统设计方法 |
US11615322B1 (en) | 2019-05-21 | 2023-03-28 | Perceive Corporation | Compiler for implementing memory shutdown for neural network implementation configuration |
US11625585B1 (en) | 2019-05-21 | 2023-04-11 | Perceive Corporation | Compiler for optimizing filter sparsity for neural network implementation configuration |
US11941533B1 (en) | 2019-05-21 | 2024-03-26 | Perceive Corporation | Compiler for performing zero-channel removal |
CN110209627A (zh) * | 2019-06-03 | 2019-09-06 | 山东浪潮人工智能研究院有限公司 | 一种面向智能终端的ssd硬件加速方法 |
CN110263925A (zh) * | 2019-06-04 | 2019-09-20 | 电子科技大学 | 一种基于fpga的卷积神经网络前向预测的硬件加速实现架构 |
CN110263925B (zh) * | 2019-06-04 | 2022-03-15 | 电子科技大学 | 一种基于fpga的卷积神经网络前向预测的硬件加速实现装置 |
CN110399979B (zh) * | 2019-06-17 | 2022-05-13 | 深圳大学 | 一种基于现场可编程门阵列的点击率预估的系统及方法 |
CN110399979A (zh) * | 2019-06-17 | 2019-11-01 | 深圳大学 | 一种基于现场可编程门阵列的点击率预估的系统及方法 |
CN110738310A (zh) * | 2019-10-08 | 2020-01-31 | 清华大学 | 一种稀疏神经网络加速器及其实现方法 |
CN110738310B (zh) * | 2019-10-08 | 2022-02-01 | 清华大学 | 一种稀疏神经网络加速器及其实现方法 |
CN110738312A (zh) * | 2019-10-15 | 2020-01-31 | 百度在线网络技术(北京)有限公司 | 用于数据处理的方法、系统、设备和计算机可读存储介质 |
CN111027669A (zh) * | 2019-10-21 | 2020-04-17 | 浙江省北大信息技术高等研究院 | 在现场可编程门阵列上实现深度神经网络的方法及装置 |
CN110991631A (zh) * | 2019-11-28 | 2020-04-10 | 福州大学 | 一种基于fpga的神经网络加速系统 |
CN112988229A (zh) * | 2019-12-12 | 2021-06-18 | 上海大学 | 基于异构计算的卷积神经网络资源优化配置方法 |
CN112966807A (zh) * | 2019-12-13 | 2021-06-15 | 上海大学 | 基于存储资源受限fpga的卷积神经网络实现方法 |
CN112966807B (zh) * | 2019-12-13 | 2022-09-16 | 上海大学 | 基于存储资源受限fpga的卷积神经网络实现方法 |
CN111126569A (zh) * | 2019-12-18 | 2020-05-08 | 中电海康集团有限公司 | 一种支持剪枝稀疏化压缩的卷积神经网络装置和计算方法 |
CN111178518A (zh) * | 2019-12-24 | 2020-05-19 | 杭州电子科技大学 | 一种基于fpga的软硬件协同的加速方法 |
CN111143272A (zh) * | 2019-12-28 | 2020-05-12 | 浪潮(北京)电子信息产业有限公司 | 异构计算平台的数据处理方法、装置及可读存储介质 |
CN111368988A (zh) * | 2020-02-28 | 2020-07-03 | 北京航空航天大学 | 一种利用稀疏性的深度学习训练硬件加速器 |
CN111368988B (zh) * | 2020-02-28 | 2022-12-20 | 北京航空航天大学 | 一种利用稀疏性的深度学习训练硬件加速器 |
CN111381887A (zh) * | 2020-03-18 | 2020-07-07 | 深圳中微电科技有限公司 | 在mvp处理器中进行图像运动补偿的方法、装置及处理器 |
CN111381887B (zh) * | 2020-03-18 | 2023-05-09 | 深圳中微电科技有限公司 | 在mvp处理器中进行图像运动补偿的方法、装置及处理器 |
WO2021189209A1 (zh) * | 2020-03-23 | 2021-09-30 | 深圳市大疆创新科技有限公司 | 加速器的检测方法和验证平台 |
CN111340198B (zh) * | 2020-03-26 | 2023-05-05 | 上海大学 | 基于fpga的数据高度复用的神经网络加速器 |
CN111340198A (zh) * | 2020-03-26 | 2020-06-26 | 上海大学 | 基于fpga的数据高度复用的神经网络加速器 |
CN111427895A (zh) * | 2020-04-01 | 2020-07-17 | 西安交通大学 | 一种基于两段式缓存的神经网络推理加速方法 |
CN111427895B (zh) * | 2020-04-01 | 2022-10-25 | 西安交通大学 | 一种基于两段式缓存的神经网络推理加速方法 |
CN111563579B (zh) * | 2020-04-28 | 2023-09-22 | 深圳市易成自动驾驶技术有限公司 | 基于数据流的cnn加速方法、装置、设备及存储介质 |
CN111563579A (zh) * | 2020-04-28 | 2020-08-21 | 深圳市易成自动驾驶技术有限公司 | 基于数据流的cnn加速方法、装置、设备及存储介质 |
CN111598221B (zh) * | 2020-05-14 | 2023-07-25 | 山东浪潮科学研究院有限公司 | 一种软硬件协同加速神经网络算法的方法及系统 |
CN111598221A (zh) * | 2020-05-14 | 2020-08-28 | 济南浪潮高新科技投资发展有限公司 | 一种软硬件协同加速神经网络算法的方法及系统 |
CN111667052A (zh) * | 2020-05-27 | 2020-09-15 | 上海赛昉科技有限公司 | 专用神经网络加速器的标准与非标准卷积一致性变换方法 |
CN111667052B (zh) * | 2020-05-27 | 2023-04-25 | 上海赛昉科技有限公司 | 专用神经网络加速器的标准与非标准卷积一致性变换方法 |
CN111752879B (zh) * | 2020-06-22 | 2022-02-22 | 深圳鲲云信息科技有限公司 | 一种基于卷积神经网络的加速系统、方法及存储介质 |
CN111752879A (zh) * | 2020-06-22 | 2020-10-09 | 深圳鲲云信息科技有限公司 | 一种基于卷积神经网络的加速系统、方法及存储介质 |
WO2022057813A1 (zh) * | 2020-09-15 | 2022-03-24 | 中兴通讯股份有限公司 | 加速器参数确定方法及装置、计算机可读存储介质 |
CN112561034A (zh) * | 2020-12-04 | 2021-03-26 | 深兰人工智能(深圳)有限公司 | 一种神经网络加速装置 |
CN112631983A (zh) * | 2020-12-28 | 2021-04-09 | 电子科技大学 | 一种面向稀疏神经网络的片上系统 |
CN112668708A (zh) * | 2020-12-28 | 2021-04-16 | 中国电子科技集团公司第五十二研究所 | 一种提高数据利用率的卷积运算装置 |
CN112631983B (zh) * | 2020-12-28 | 2023-05-02 | 电子科技大学 | 一种面向稀疏神经网络的片上系统 |
CN112668708B (zh) * | 2020-12-28 | 2022-10-14 | 中国电子科技集团公司第五十二研究所 | 一种提高数据利用率的卷积运算装置 |
CN112435270B (zh) * | 2020-12-31 | 2024-02-09 | 杭州电子科技大学 | 一种便携式烧伤深度鉴定设备及其设计方法 |
CN112435270A (zh) * | 2020-12-31 | 2021-03-02 | 杭州电子科技大学 | 一种便携式烧伤深度鉴定设备及其设计方法 |
CN112906887A (zh) * | 2021-02-20 | 2021-06-04 | 上海大学 | 稀疏gru神经网络加速的实现方法和装置 |
CN112906887B (zh) * | 2021-02-20 | 2023-03-24 | 上海大学 | 稀疏gru神经网络加速的实现方法和装置 |
WO2022188711A1 (zh) * | 2021-03-12 | 2022-09-15 | 北京大学 | Svm模型的训练方法、装置、设备和计算机可读存储介质 |
CN112906874A (zh) * | 2021-04-06 | 2021-06-04 | 南京大学 | 卷积神经网络特征图数据压缩方法及装置 |
CN113255881B (zh) * | 2021-04-27 | 2023-04-07 | 西安交通大学 | Ps与pl协同架构的同态加密神经网络框架与推理方法 |
CN113255881A (zh) * | 2021-04-27 | 2021-08-13 | 西安交通大学 | Ps与pl协同架构的同态加密神经网络框架与推理方法 |
US11556381B2 (en) * | 2021-05-07 | 2023-01-17 | Google Llc | Asynchronous distributed data flow for machine learning workloads |
US20220357985A1 (en) * | 2021-05-07 | 2022-11-10 | Google Llc | Asynchronous distributed data flow for machine learning workloads |
CN113487017A (zh) * | 2021-07-27 | 2021-10-08 | 湖南国科微电子股份有限公司 | 数据卷积处理方法、装置及计算机设备 |
CN113592088A (zh) * | 2021-07-30 | 2021-11-02 | 中科亿海微电子科技(苏州)有限公司 | 基于细粒度卷积计算结构的并行度确定方法及系统 |
CN116303108A (zh) * | 2022-09-07 | 2023-06-23 | 芯砺智能科技(上海)有限公司 | 一种适用于并行计算架构的卷积神经网络权重地址排布方法 |
CN116303108B (zh) * | 2022-09-07 | 2024-05-14 | 芯砺智能科技(上海)有限公司 | 一种适用于并行计算架构的权重地址排布方法 |
CN115906917A (zh) * | 2022-11-09 | 2023-04-04 | 武汉大学 | 一种基于模型算法划分的神经网络模型部署方法及装置 |
CN115906917B (zh) * | 2022-11-09 | 2024-01-30 | 武汉大学 | 一种基于模型算法划分的神经网络模型部署方法及装置 |
CN116029332B (zh) * | 2023-02-22 | 2023-08-22 | 南京大学 | 一种基于lstm网络的片上微调方法及装置 |
CN116029332A (zh) * | 2023-02-22 | 2023-04-28 | 南京大学 | 一种基于lstm网络的片上微调方法及装置 |
CN116187408A (zh) * | 2023-04-23 | 2023-05-30 | 成都甄识科技有限公司 | 稀疏加速单元、计算方法及稀疏神经网络硬件加速系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108280514B (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108280514A (zh) | 基于fpga的稀疏神经网络加速系统和设计方法 | |
CN107609641B (zh) | 稀疏神经网络架构及其实现方法 | |
CN106228238B (zh) | 现场可编程门阵列平台上加速深度学习算法的方法和系统 | |
US10445638B1 (en) | Restructuring a multi-dimensional array | |
CN110020716A (zh) | 神经网络硬件 | |
CN108108809B (zh) | 一种针对卷积神经元网络进行推理加速的硬件架构及其工作方法 | |
CN108090560A (zh) | 基于fpga的lstm递归神经网络硬件加速器的设计方法 | |
US11775430B1 (en) | Memory access for multiple circuit components | |
CN109472356A (zh) | 一种可重构神经网络算法的加速装置及方法 | |
CN108764466A (zh) | 基于现场可编程门阵列的卷积神经网络硬件及其加速方法 | |
US20180157969A1 (en) | Apparatus and Method for Achieving Accelerator of Sparse Convolutional Neural Network | |
CN112840356A (zh) | 运算加速器、处理方法及相关设备 | |
CN107066239A (zh) | 一种实现卷积神经网络前向计算的硬件结构 | |
CN106529670A (zh) | 一种基于权重压缩的神经网络处理器、设计方法、芯片 | |
CN109376843A (zh) | 基于fpga的脑电信号快速分类方法、实现方法及装置 | |
CN106951926A (zh) | 一种混合架构的深度学习系统方法及装置 | |
CN110352433A (zh) | 用于神经网络处理的具有矩阵-向量相乘区块的硬件节点 | |
CN111667051A (zh) | 适用边缘设备的神经网络加速器及神经网络加速计算方法 | |
CN108416436A (zh) | 使用多核心处理模块进行神经网络划分的方法及其系统 | |
CN111967468A (zh) | 一种基于fpga的轻量级目标检测神经网络的实现方法 | |
Kästner et al. | Hardware/software codesign for convolutional neural networks exploiting dynamic partial reconfiguration on PYNQ | |
CN111465943B (zh) | 一种集成电路和用于神经网络处理的方法 | |
US20210295168A1 (en) | Gradient compression for distributed training | |
CN209231976U (zh) | 一种可重构神经网络算法的加速装置 | |
CN110222818A (zh) | 一种用于卷积神经网络数据存储的多bank行列交织读写方法 |
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 |