CN107066239A - 一种实现卷积神经网络前向计算的硬件结构 - Google Patents
一种实现卷积神经网络前向计算的硬件结构 Download PDFInfo
- Publication number
- CN107066239A CN107066239A CN201710119915.8A CN201710119915A CN107066239A CN 107066239 A CN107066239 A CN 107066239A CN 201710119915 A CN201710119915 A CN 201710119915A CN 107066239 A CN107066239 A CN 107066239A
- Authority
- CN
- China
- Prior art keywords
- module
- convolutional neural
- neural networks
- parameter
- stage pipeline
- 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
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 53
- 238000004364 calculation method Methods 0.000 title claims abstract description 36
- 230000000153 supplemental effect Effects 0.000 claims abstract description 5
- 238000004519 manufacturing process Methods 0.000 claims description 26
- 241000208340 Araliaceae Species 0.000 claims description 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 claims description 2
- 235000008434 ginseng Nutrition 0.000 claims description 2
- 238000000034 method Methods 0.000 abstract description 10
- 230000008569 process Effects 0.000 abstract description 7
- 238000004422 calculation algorithm Methods 0.000 abstract description 3
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000003860 storage Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 210000000653 nervous system Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Neurology (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本申请公开了一种实现卷积神经网络前向计算的硬件结构,包括:数据片外缓存模块,用于将外部输入的各张待处理图片中的参数数据缓存在该模块中,等待被多级流水线加速模块读取出来;多级流水线加速模块,与所述数据片外缓存模块连接,用于从数据片外缓存模块中读取参数,实现卷积神经网络的核心计算;参数读取仲裁模块,与所述多级流水线加速模块连接,用于处理多级流水线加速模块中多个读取参数请求,使多级流水线加速模块获取需要的参数;参数片外缓存模块,与所述参数读取仲裁模块连接,用于存储卷积神经网络前向计算所需要的参数。本申请采用并行流水方式的硬件架构来实现算法,具有较高的资源利用率和较高的性能。
Description
技术领域
本申请涉及计算机及电子信息技术领域,尤其涉及一种实现卷积神经网络前向计算的硬件结构。
背景技术
随着人工智能的兴起,深度学习成为目前非常热门的一个领域,被广泛应用在计算机视觉、语音识别以及其它一些大数据应用上,受到了越来越广泛的关注。卷积神经网络作为深度学习中的一个很重要的算法模型,在图像分类、人脸识别、视频检测、语音识别等方面得到了很广泛的应用。卷积神经网络是仿照人类大脑中的神经***而提出的,由很多层构成,输入的信息从最开始的输入层,经过一些卷积、乘加运算、激活函数等传递到下一层,以此方式一层一层往后传递,直到最后的输出层。卷积神经网络中最常见的层有三类,分别是卷积层、下采样层和全连接层。
目前,已经有很多影响力较大的卷积神经网络模型被提出,并实现了很好的应用效果,如2012年在大规模视觉识别挑战赛(ILSVRC,ImageNet Large Scale VisualRecognition Competition)中取得图像分类冠军的AlexNet,2014年提出的VGG和GoogleNet等。可见,卷积神经网络的应用越来越多。随着对准确率和识别率越来越高的要求,卷积神经网络模型的规模也随之变得越来越大,因此其包含的运算量也变得非常庞大。使用传统的通用处理器来实现卷积神经网络中的计算将变得非常低效,需要很长的耗时才能得到最终的结果。随着人们对速度的要求不断提高,使用硬件对卷积神经网络进行加速的需求变得越来越迫切。
现有对于卷积神经网络的硬件加速实现,主要采取的方式是:同一时间,使用板上尽可能多的资源实现卷积神经网络中的一层,然后将该层结果存储在片外,再使用板上的尽可能多的资源来实现接下来的一层。在这种方案下,由于每次都是只实现卷积神经网络中的一层,板上资源很可能无法充分被利用,并且由于实现不同层基本都使用了相同的并行策略,无法使不同层都达到各自最优的并行策略,这会进一步降低资源利用率和性能。
发明内容
本申请实施例提供一种实现卷积神经网络前向计算的硬件结构,用以解决现有技术中卷积神经网络的硬件加速实现存在的不能有效充分利用板上资源进行最大程度地并行加速,降低资源利用率和性能的问题。
本申请的一个方面提供了一种实现卷积神经网络前向计算的硬件结构,包括:
数据片外缓存模块,用于将外部输入的各张待处理图片中的参数数据缓存在该模块中,等待被多级流水线加速模块读取出来;
多级流水线加速模块,与所述数据片外缓存模块连接,用于从数据片外缓存模块中读取参数,实现卷积神经网络的核心计算;
参数读取仲裁模块,与所述多级流水线加速模块连接,用于处理多级流水线加速模块中多个读取参数请求,使多级流水线加速模块获取需要的参数;
参数片外缓存模块,与所述参数读取仲裁模块连接,用于存储卷积神经网络前向计算所需要的参数。
进一步的,所述多级流水线加速模块由多级流水线构成,所述每一级流水线包括:
计算模块,用于实现卷积神经网络每层中的运算;
乒乓缓存结构模块,用于缓存与相邻流水线级之间的数据。
进一步的,所述计算模块,还用于根据卷积神经网络结构中不同层的运算量,给不同的流水线级分配不同数量的硬件资源。
进一步的,所述计算模块,采用三个维度的并行,分别是:多张特征图并行输入、多张特征图并行输出、卷积核中多个像素点并行计算。
进一步的,所述计算模块,采用基于批处理的Batch-based的计算方式,将多张图片作为一个批处理并行同时计算。
进一步的,所述乒乓缓存结构模块,包括两个片上缓存结构单元。
进一步的,所述参数读取仲裁模块,采用轮循机制的仲裁方式,轮循响应从各级流水线加速模块发来的读取参数请求。
进一步的,实现卷积神经网络前向计算的硬件结构采用现场可编程门阵列FPGA芯片或专用集成电路ASIC芯片实现。
与现有技术相比,本申请实施例包括数据片外缓存模块,用于将外部输入的各张待处理图片中的参数数据缓存在该模块中,等待被多级流水线加速模块读取出来,主要用以应对计算模块的处理速度与外部输入图片速度相差较大的情况;多级流水线加速模块,与所述数据片外缓存模块连接,用于从数据片外缓存模块中读取参数,实现卷积神经网络的核心计算,实现较大的并行度和较高的处理性能;参数读取仲裁模块,与所述多级流水线加速模块连接,用于处理多级流水线加速模块中多个读取参数请求,尽可能使多级流水线加速模块及时获取需要的参数,高效计算;参数片外缓存模块,与所述参数读取仲裁模块连接,用于存储卷积神经网络前向计算所需要的参数,计算过程中每次只读取当前计算需要的少量参数,从而起到减小片上缓存需求的作用。综上,本申请采用了一种全并行流水的方式,可以使所有层同时并行处理,实现较高的资源利用率和较高的性能。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种实现卷积神经网络前向计算的硬件结构示意图;
图2示出根据本申请一个方面的每一级流水线的结构示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
下面结合说明书附图对本申请实施例作进一步详细描述。
如图1所示,根据本申请的一个方面提供了一种实现卷积神经网络前向计算的硬件结构,该硬件结构可采用现场可编程门阵列FPGA芯片或专用集成电路ASIC芯片实现,具体包括:
数据片外缓存模块,用于将外部输入的各张待处理图片中的参数数据缓存在该模块中,等待被多级流水线加速模块读取出来;
多级流水线加速模块,与所述数据片外缓存模块连接,用于从数据片外缓存模块中读取参数,实现卷积神经网络的核心计算;
参数读取仲裁模块,与所述多级流水线加速模块连接,用于处理多级流水线加速模块中多个读取参数请求,使多级流水线加速模块获取需要的参数;
参数片外缓存模块,与所述参数读取仲裁模块连接,用于存储卷积神经网络前向计算所需要的参数。
具体的,本申请实施例,数据片外缓存模块,其被配置为,外部输入的各张待处理图片中的各个像素数据首先缓存在该模块中,等待被多级流水线加速模块中的计算模块读取出来,该模块相当于一个较大的先入先出队列(FIFO,First Input First Output),用以应对计算模块的处理速度与外部输入图片速度相差较大的情况,否则如果外部直接发送数据到内部的计算模块,将需要比较复杂的握手信号,以确保当两者速度不匹配的时候没有数据漏发或者重发等情况。
本申请实施例,与所述数据片外缓存模块连接的多级流水线加速模块,用来实现卷积神经网络的核心计算,其内部由多级流水线构成,每一级流水线用来实现卷积神经网络中的一层或几层。例如,本申请实施例中,可采用AlexNet神经网络模型,该结构共有8层,采用全并行流水的方式,使用了8级流水线,每一级流水线实现卷积神经网络中的一层。本申请输入的数据从最前面的第一级流水线开始计算,逐级向后,直到最后一级流水线,当第一张输入图片的数据开始在第二级流水线中计算的时候,第一级流水线开始计算第二张输入图片的数据,当流水线全部被填满的时候可以实现较大的并行度和较高的处理性能。
本申请实施例与所述多级流水线加速模块连接的参数读取仲裁模块,其主要用于处理多级流水线中多个读取参数请求。例如,在本申请实施例中,由于有8级流水线,因此最多情况下会有8个读取参数请求同时发出。由于多级流水线并行计算,每级流水线中的计算都需要从数据片外缓存模块读取参数,参数读取仲裁模块可以起到仲裁的作用,尽可能使多级流水线及时获取需要的参数,高效计算。
优选的,在本申请实施例中,参数读取仲裁模块可采用轮循机制的仲裁方式,轮循响应从8个流水线级发来的8个请求。需要说明的是,针对不同流水线级之间计算量和参数需求量的关系,本申请也可以采用其它轮循方式,例如设置优先级等方法处理多级流水线中多个读取参数请求。
本申请实施例,与所述参数读取仲裁模块连接的参数片外缓存模块,其用来存储卷积神经网络前向计算所需要的参数,由于卷积神经网络的规模较庞大,参数数量也非常庞大,所以需要使用片外的动态随机存取存储器(DRAM,Dynamic Random Access Memory)缓存。具体实施中,在发送图片开始计算之前,首先外部会把所有的参数发送进来并存储到片外的DRAM上,计算过程中每级流水线每发送一次请求只读取当前计算需要的少量参数,因此片上只需要较小的一块缓存就可以存储参数了,从而起到减小片上缓存需求的作用。
进一步的,本申请多级流水线加速模块由多级流水线构成,如图2所示,所述每一级流水线包括:
计算模块,用于实现卷积神经网络每层中的运算;
乒乓缓存结构模块,用于缓存与相邻流水线级之间的数据。
进一步的,所述乒乓缓存结构模块,包括两个片上缓存结构单元。
本申请实施例,多级流水线加速模块,由多级流水线构成,每一级流水线的硬件结构包括计算模块和乒乓结构的两个片上缓存结构单元。计算模块用来实现卷积神经网络每层中的运算,具体的,实现卷积神经网络中该层的乘法运算、加法运算,有的层还有下采样运算和激活函数运算。片上缓存结构单元用来缓存与相邻流水线级之间的数据,具体的,需要缓存当前层与相邻层之间的所有特征图的数据,这样可以减少片外数据的访问,降低对读取片外数据的带宽需求。需要注意的是,此处是把相邻两层之间所有的特征图数据都缓存在了片上缓存结构单元中。
本申请实施例片上对于参数的缓存采用乒乓缓存结构模块,使用了两块缓存结构单元,当某一级流水线完成一张图片的计算,并将结果都缓存在其中一块缓存结构单元中时,下一级流水线可以从这块缓存中读取数据开始计算,同时,该级流水线可以开始计算下一张图片数据并将新生成的结果存在另外一块缓存结构单元中。即,当其中一块缓存结构单元中存储的参数正在被用来计算的时候,一边读取接下来要使用的参数到乒乓结构中的另一块缓存结构单元中,这样当前计算结束之后就可以直接进行接下来的计算,无需等待新的参数。本申请采用乒乓结构的缓存可以使相邻流水线级之间的计算能够流畅进行。
进一步的,所述计算模块,还用于根据卷积神经网络结构中不同层的运算量,给不同的流水线级分配不同数量的硬件资源,如乘法器、加法器和存储器等。
本申请实施例为了实现流水线的高效率工作,不同级流水线的计算时间应该近似相等,因此需要根据卷积神经网络结构中不同层的运算量来给不同的流水线级分配不同数量的硬件资源,经过多级流水线的处理,最后一级流水线可以得到最终图像分类排序的结果并发送出去。
进一步的,所述计算模块,采用三个维度的并行,分别是:多张特征图并行输入、多张特征图并行输出、卷积核中多个像素点并行计算。
本申请实施例设计硬件结构的时候需要确定每一级流水线中的并行策略,也就是确定每一级流水线中的这三个维度的并行度。如前述AlexNet神经网络模型,即需要为AlexNet中8层的每一层确定三个维度的并行度。本申请实施例在为每一级流水线制定相应的并行策略的时候,需要考虑以下几个方面的因素:每一级流水线所需要的时间应基本一致,这样才不会有一个耗时最久的流水线级成为速度瓶颈,流水线性能较高;考虑该层的输入输出特征图的数量以及卷积核大小;考虑层与层、相邻流水线级之间的连接关系,保证输入和输出的数据流能顺利流通。在本申请实施例中,相邻流水线级之间通过片上块存储器BRAM缓存中间数据,因此上一层的输出并行度和该层的输入并行度应该小于BRAM的数量。优选的,输入并行度最好应该是该层总的输入特征图的约数,同样的,输出并行度最好应该是该层总的输出特征图的约数,这样可以使控制复杂度大幅度降低。
进一步的,所述计算模块,采用基于批处理的Batch-based的计算方式,将多张图片作为一个批处理并行同时计算。
本申请实施例在计算卷积神经网络后面的几层全连接层的时候采用了一种Batch-based的计算方式,将多张图片作为一个Batch并行同时计算,这样做的好处是可以降低对参数片外缓存的访问频率,降低访问片外缓存的数据带宽需求。由于全连接层的参数量非常庞大,因此对片外DRAM参数访问带宽需求的优化可以通过优化全连接层的参数访问来实现,采用Batch的方案,这样计算一组图片只需要读取一次参数,从而降低了参数访问频率。
综上,本申请实施例采用并行流水方式的硬件架构来实现算法,可以获得很好的加速效果进而达到实时处理的目的。本申请充分利用了板上的资源,并且针对不同层的计算特点,可以为不同的流水线级配置不同的硬件资源和并行策略,从而让每层都尽可能工作在较优的配置下,实现较高的性能。本申请实施例通过将流水线级之间的数据缓存在片上缓存结构单元,将参数缓存在片外缓存模块中,大大减少了片外存储的访问,降低了对片外存储的数据访问带宽需求。针对全连接层,还采用了Batch-based计算方式,这样可以进一步降低全连接层从片外读取参数的带宽需求。本申请实施例可以实现较高的卷积神经网络硬件加速比,同时又在一定程度上优化了片外存储访问带宽需求。
本领域内的技术人员应明白,本申请的实施例可提供为方法、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的硬件结构。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令硬件结构的制造品,该指令硬件结构实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (8)
1.一种实现卷积神经网络前向计算的硬件结构,其特征在于,包括:
数据片外缓存模块,用于将外部输入的各张待处理图片中的参数数据缓存在该模块中,等待被多级流水线加速模块读取出来;
多级流水线加速模块,与所述数据片外缓存模块连接,用于从数据片外缓存模块中读取参数,实现卷积神经网络的核心计算;
参数读取仲裁模块,与所述多级流水线加速模块连接,用于处理多级流水线加速模块中多个读取参数请求,使多级流水线加速模块获取需要的参数;
参数片外缓存模块,与所述参数读取仲裁模块连接,用于存储卷积神经网络前向计算所需要的参数。
2.根据权利要求1所述的实现卷积神经网络前向计算的硬件结构,其特征在于,所述多级流水线加速模块由多级流水线构成,每一级流水线包括:
计算模块,用于实现卷积神经网络每层中的运算;
乒乓缓存结构模块,用于缓存与相邻流水线级之间的数据。
3.根据权利要求2所述的实现卷积神经网络前向计算的硬件结构,其特征在于,所述计算模块,还用于根据卷积神经网络结构中不同层的运算量,给不同的流水线级分配不同数量的硬件资源。
4.根据权利要求2所述的实现卷积神经网络前向计算的硬件结构,其特征在于,所述计算模块,采用三个维度的并行,分别是:多张特征图并行输入、多张特征图并行输出、卷积核中多个像素点并行计算。
5.根据权利要求2所述的实现卷积神经网络前向计算的硬件结构,其特征在于,所述计算模块,采用基于批处理的Batch-based的计算方式,将多张图片作为一个批处理并行同时计算。
6.根据权利要求2所述的实现卷积神经网络前向计算的硬件结构,其特征在于,所述乒乓缓存结构模块,包括两个片上缓存结构单元。
7.根据权利要求1所述的实现卷积神经网络前向计算的硬件结构,其特征在于,所述参数读取仲裁模块,采用轮循机制的仲裁方式,轮循响应从各级流水线加速模块发来的读取参数请求。
8.根据权利要求1所述的实现卷积神经网络前向计算的硬件结构,其特征在于,该硬件结构采用现场可编程门阵列FPGA芯片或专用集成电路ASIC芯片实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710119915.8A CN107066239A (zh) | 2017-03-01 | 2017-03-01 | 一种实现卷积神经网络前向计算的硬件结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710119915.8A CN107066239A (zh) | 2017-03-01 | 2017-03-01 | 一种实现卷积神经网络前向计算的硬件结构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107066239A true CN107066239A (zh) | 2017-08-18 |
Family
ID=59621494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710119915.8A Pending CN107066239A (zh) | 2017-03-01 | 2017-03-01 | 一种实现卷积神经网络前向计算的硬件结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107066239A (zh) |
Cited By (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107657581A (zh) * | 2017-09-28 | 2018-02-02 | 中国人民解放军国防科技大学 | 一种卷积神经网络cnn硬件加速器及加速方法 |
CN107992940A (zh) * | 2017-12-12 | 2018-05-04 | 郑州云海信息技术有限公司 | 一种卷积神经网络在fpga上的实现方法及装置 |
CN108133270A (zh) * | 2018-01-12 | 2018-06-08 | 清华大学 | 卷积神经网络加速方法及装置 |
CN108171321A (zh) * | 2017-12-07 | 2018-06-15 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于SoC芯片的深度神经网络嵌入式实现方法 |
CN108334474A (zh) * | 2018-03-05 | 2018-07-27 | 山东领能电子科技有限公司 | 一种基于数据并行的深度学习处理器架构及方法 |
CN108491924A (zh) * | 2018-02-11 | 2018-09-04 | 江苏金羿智芯科技有限公司 | 一种面向人工智能计算的神经网络数据串行流水处理装置 |
CN108537331A (zh) * | 2018-04-04 | 2018-09-14 | 清华大学 | 一种基于异步逻辑的可重构卷积神经网络加速电路 |
CN108564168A (zh) * | 2018-04-03 | 2018-09-21 | 中国科学院计算技术研究所 | 一种对支持多精度卷积神经网络处理器的设计方法 |
CN108572928A (zh) * | 2018-03-13 | 2018-09-25 | 福建新大陆电脑股份有限公司 | 一种人工智能设备及存取方法 |
CN108596331A (zh) * | 2018-04-16 | 2018-09-28 | 浙江大学 | 一种细胞神经网络硬件架构的优化方法 |
CN108776833A (zh) * | 2018-06-05 | 2018-11-09 | 郑州云海信息技术有限公司 | 一种数据处理方法、***及计算机可读存储介质 |
CN109086883A (zh) * | 2018-07-20 | 2018-12-25 | 中国人民解放军国防科技大学 | 一种基于深度学习加速器实现稀疏计算的方法及装置 |
CN109117940A (zh) * | 2018-06-19 | 2019-01-01 | 腾讯科技(深圳)有限公司 | 一种卷积神经网络前向加速方法、装置及*** |
CN109214504A (zh) * | 2018-08-24 | 2019-01-15 | 北京邮电大学深圳研究院 | 一种基于fpga的yolo网络前向推理加速器设计方法 |
CN109670578A (zh) * | 2018-12-14 | 2019-04-23 | 北京中科寒武纪科技有限公司 | 神经网络首层卷积层数据处理方法、装置及计算机设备 |
CN109685210A (zh) * | 2018-12-29 | 2019-04-26 | 百度在线网络技术(北京)有限公司 | 卷积神经网络处理方法、卷积神经网络装置 |
CN109729734A (zh) * | 2017-08-31 | 2019-05-07 | 北京中科寒武纪科技有限公司 | 芯片装置及相关产品 |
WO2019104638A1 (zh) * | 2017-11-30 | 2019-06-06 | 深圳市大疆创新科技有限公司 | 神经网络处理的方法、装置、加速器、***和可移动设备 |
CN109919312A (zh) * | 2019-03-29 | 2019-06-21 | 北京智芯微电子科技有限公司 | 卷积神经网络的运算方法、装置及dpu |
CN109961133A (zh) * | 2017-12-14 | 2019-07-02 | 北京中科寒武纪科技有限公司 | 集成电路芯片装置及相关产品 |
CN109978148A (zh) * | 2017-12-28 | 2019-07-05 | 北京中科寒武纪科技有限公司 | 集成电路芯片装置及相关产品 |
CN109978156A (zh) * | 2017-12-28 | 2019-07-05 | 北京中科寒武纪科技有限公司 | 集成电路芯片装置及相关产品 |
CN109993274A (zh) * | 2017-12-29 | 2019-07-09 | 深圳云天励飞技术有限公司 | 人工智能计算装置及相关产品 |
CN110046704A (zh) * | 2019-04-09 | 2019-07-23 | 深圳鲲云信息科技有限公司 | 基于数据流的深度网络加速方法、装置、设备及存储介质 |
CN110059815A (zh) * | 2018-09-11 | 2019-07-26 | 海青智盈技术公司 | 人工智能推理计算设备 |
CN110084739A (zh) * | 2019-03-28 | 2019-08-02 | 东南大学 | 一种基于cnn的画质增强算法的fpga并行加速*** |
CN110097174A (zh) * | 2019-04-22 | 2019-08-06 | 西安交通大学 | 基于fpga和行输出优先的卷积神经网络实现方法、***及装置 |
CN110222819A (zh) * | 2019-05-13 | 2019-09-10 | 西安交通大学 | 一种用于卷积神经网络加速的多层数据分区域联合计算方法 |
CN110389824A (zh) * | 2018-04-20 | 2019-10-29 | 伊姆西Ip控股有限责任公司 | 处理计算任务的方法、设备和计算机程序产品 |
CN110555520A (zh) * | 2018-05-30 | 2019-12-10 | 北京三星通信技术研究有限公司 | 执行卷积操作的方法、相应的处理装置及电子设备 |
CN110610449A (zh) * | 2018-06-15 | 2019-12-24 | 伊姆西Ip控股有限责任公司 | 处理计算任务的方法、设备和计算机程序产品 |
CN111008697A (zh) * | 2019-11-06 | 2020-04-14 | 北京中科胜芯科技有限公司 | 一种卷积神经网络加速器实现架构 |
CN111047010A (zh) * | 2019-11-25 | 2020-04-21 | 天津大学 | 降低cnn加速器首层卷积计算延时的方法及装置 |
CN111160549A (zh) * | 2017-10-30 | 2020-05-15 | 上海寒武纪信息科技有限公司 | 互连电路的数据处理装置以及方法 |
CN111582451A (zh) * | 2020-05-08 | 2020-08-25 | 中国科学技术大学 | 图像识别层间并行流水线型二值化卷积神经网络阵列架构 |
CN111752879A (zh) * | 2020-06-22 | 2020-10-09 | 深圳鲲云信息科技有限公司 | 一种基于卷积神经网络的加速***、方法及存储介质 |
WO2020253117A1 (zh) * | 2019-06-19 | 2020-12-24 | 深圳云天励飞技术有限公司 | 一种数据处理方法及装置 |
WO2021031154A1 (zh) * | 2019-08-21 | 2021-02-25 | 深圳市大疆创新科技有限公司 | 神经网络的特征图装载方法及设备 |
WO2021031351A1 (zh) * | 2019-08-16 | 2021-02-25 | 浪潮电子信息产业股份有限公司 | 一种数据处理***、方法及介质 |
CN112799726A (zh) * | 2021-01-26 | 2021-05-14 | 上海寒武纪信息科技有限公司 | 数据处理装置、方法及相关产品 |
CN114266306A (zh) * | 2021-12-20 | 2022-04-01 | 北京达佳互联信息技术有限公司 | 基于机器学习模型实现数据分类的方法及装置、电子设备 |
CN118227535A (zh) * | 2024-05-22 | 2024-06-21 | 深存科技(无锡)有限公司 | 近io流水计算的加速器架构和ai加速*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101426134A (zh) * | 2007-11-01 | 2009-05-06 | 上海杰得微电子有限公司 | 用于视频编解码的硬件装置及方法 |
US20130293546A1 (en) * | 2012-05-03 | 2013-11-07 | Samsung Electronics Co., Ltd. | Dynamic load balancing apparatus and method for graphic processing unit (gpu) |
CN104516718A (zh) * | 2013-10-07 | 2015-04-15 | 德克萨斯仪器德国股份有限公司 | 流水线式有限状态机 |
CN104915322A (zh) * | 2015-06-09 | 2015-09-16 | 中国人民解放军国防科学技术大学 | 一种卷积神经网络硬件加速方法及其axi总线ip核 |
-
2017
- 2017-03-01 CN CN201710119915.8A patent/CN107066239A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101426134A (zh) * | 2007-11-01 | 2009-05-06 | 上海杰得微电子有限公司 | 用于视频编解码的硬件装置及方法 |
US20130293546A1 (en) * | 2012-05-03 | 2013-11-07 | Samsung Electronics Co., Ltd. | Dynamic load balancing apparatus and method for graphic processing unit (gpu) |
CN104516718A (zh) * | 2013-10-07 | 2015-04-15 | 德克萨斯仪器德国股份有限公司 | 流水线式有限状态机 |
CN104915322A (zh) * | 2015-06-09 | 2015-09-16 | 中国人民解放军国防科学技术大学 | 一种卷积神经网络硬件加速方法及其axi总线ip核 |
Non-Patent Citations (1)
Title |
---|
陆志坚: "基于FPGA的卷积神经网络并行结构研究", 《中国博士学位论文全文数据库(信息科技辑)》 * |
Cited By (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109729734A (zh) * | 2017-08-31 | 2019-05-07 | 北京中科寒武纪科技有限公司 | 芯片装置及相关产品 |
CN107657581B (zh) * | 2017-09-28 | 2020-12-22 | 中国人民解放军国防科技大学 | 一种卷积神经网络cnn硬件加速器及加速方法 |
CN107657581A (zh) * | 2017-09-28 | 2018-02-02 | 中国人民解放军国防科技大学 | 一种卷积神经网络cnn硬件加速器及加速方法 |
CN111160549A (zh) * | 2017-10-30 | 2020-05-15 | 上海寒武纪信息科技有限公司 | 互连电路的数据处理装置以及方法 |
WO2019104638A1 (zh) * | 2017-11-30 | 2019-06-06 | 深圳市大疆创新科技有限公司 | 神经网络处理的方法、装置、加速器、***和可移动设备 |
CN108171321A (zh) * | 2017-12-07 | 2018-06-15 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于SoC芯片的深度神经网络嵌入式实现方法 |
CN107992940A (zh) * | 2017-12-12 | 2018-05-04 | 郑州云海信息技术有限公司 | 一种卷积神经网络在fpga上的实现方法及装置 |
CN109961133A (zh) * | 2017-12-14 | 2019-07-02 | 北京中科寒武纪科技有限公司 | 集成电路芯片装置及相关产品 |
CN109978148A (zh) * | 2017-12-28 | 2019-07-05 | 北京中科寒武纪科技有限公司 | 集成电路芯片装置及相关产品 |
CN109978148B (zh) * | 2017-12-28 | 2020-06-23 | 中科寒武纪科技股份有限公司 | 集成电路芯片装置及相关产品 |
CN109978156B (zh) * | 2017-12-28 | 2020-06-12 | 中科寒武纪科技股份有限公司 | 集成电路芯片装置及相关产品 |
CN109978156A (zh) * | 2017-12-28 | 2019-07-05 | 北京中科寒武纪科技有限公司 | 集成电路芯片装置及相关产品 |
CN109993274A (zh) * | 2017-12-29 | 2019-07-09 | 深圳云天励飞技术有限公司 | 人工智能计算装置及相关产品 |
CN108133270A (zh) * | 2018-01-12 | 2018-06-08 | 清华大学 | 卷积神经网络加速方法及装置 |
CN108491924A (zh) * | 2018-02-11 | 2018-09-04 | 江苏金羿智芯科技有限公司 | 一种面向人工智能计算的神经网络数据串行流水处理装置 |
CN108491924B (zh) * | 2018-02-11 | 2022-01-07 | 江苏金羿智芯科技有限公司 | 一种面向人工智能计算的神经网络数据串行流水处理装置 |
CN108334474B (zh) * | 2018-03-05 | 2021-11-19 | 山东领能电子科技有限公司 | 一种基于数据并行的深度学习处理器架构及方法 |
CN108334474A (zh) * | 2018-03-05 | 2018-07-27 | 山东领能电子科技有限公司 | 一种基于数据并行的深度学习处理器架构及方法 |
CN108572928B (zh) * | 2018-03-13 | 2024-02-02 | 新大陆数字技术股份有限公司 | 一种人工智能设备及存取方法 |
CN108572928A (zh) * | 2018-03-13 | 2018-09-25 | 福建新大陆电脑股份有限公司 | 一种人工智能设备及存取方法 |
CN108564168B (zh) * | 2018-04-03 | 2021-03-09 | 中国科学院计算技术研究所 | 一种对支持多精度卷积神经网络处理器的设计方法 |
CN108564168A (zh) * | 2018-04-03 | 2018-09-21 | 中国科学院计算技术研究所 | 一种对支持多精度卷积神经网络处理器的设计方法 |
CN108537331A (zh) * | 2018-04-04 | 2018-09-14 | 清华大学 | 一种基于异步逻辑的可重构卷积神经网络加速电路 |
CN108596331A (zh) * | 2018-04-16 | 2018-09-28 | 浙江大学 | 一种细胞神经网络硬件架构的优化方法 |
CN110389824A (zh) * | 2018-04-20 | 2019-10-29 | 伊姆西Ip控股有限责任公司 | 处理计算任务的方法、设备和计算机程序产品 |
CN110555520A (zh) * | 2018-05-30 | 2019-12-10 | 北京三星通信技术研究有限公司 | 执行卷积操作的方法、相应的处理装置及电子设备 |
CN108776833B (zh) * | 2018-06-05 | 2021-08-31 | 郑州云海信息技术有限公司 | 一种数据处理方法、***及计算机可读存储介质 |
CN108776833A (zh) * | 2018-06-05 | 2018-11-09 | 郑州云海信息技术有限公司 | 一种数据处理方法、***及计算机可读存储介质 |
CN110610449A (zh) * | 2018-06-15 | 2019-12-24 | 伊姆西Ip控股有限责任公司 | 处理计算任务的方法、设备和计算机程序产品 |
CN110610449B (zh) * | 2018-06-15 | 2023-09-22 | 伊姆西Ip控股有限责任公司 | 处理计算任务的方法、设备和计算机程序产品 |
CN109117940B (zh) * | 2018-06-19 | 2020-12-15 | 腾讯科技(深圳)有限公司 | 基于卷积神经网络的目标检测方法、装置、终端及存储介质 |
CN109117940A (zh) * | 2018-06-19 | 2019-01-01 | 腾讯科技(深圳)有限公司 | 一种卷积神经网络前向加速方法、装置及*** |
CN109086883A (zh) * | 2018-07-20 | 2018-12-25 | 中国人民解放军国防科技大学 | 一种基于深度学习加速器实现稀疏计算的方法及装置 |
CN109214504A (zh) * | 2018-08-24 | 2019-01-15 | 北京邮电大学深圳研究院 | 一种基于fpga的yolo网络前向推理加速器设计方法 |
CN109214504B (zh) * | 2018-08-24 | 2020-09-04 | 北京邮电大学深圳研究院 | 一种基于fpga的yolo网络前向推理加速器设计方法 |
CN110059815B (zh) * | 2018-09-11 | 2020-03-24 | 海青智盈技术公司 | 人工智能推理计算设备 |
CN110059815A (zh) * | 2018-09-11 | 2019-07-26 | 海青智盈技术公司 | 人工智能推理计算设备 |
CN109670578A (zh) * | 2018-12-14 | 2019-04-23 | 北京中科寒武纪科技有限公司 | 神经网络首层卷积层数据处理方法、装置及计算机设备 |
CN109685210A (zh) * | 2018-12-29 | 2019-04-26 | 百度在线网络技术(北京)有限公司 | 卷积神经网络处理方法、卷积神经网络装置 |
CN110084739A (zh) * | 2019-03-28 | 2019-08-02 | 东南大学 | 一种基于cnn的画质增强算法的fpga并行加速*** |
CN109919312A (zh) * | 2019-03-29 | 2019-06-21 | 北京智芯微电子科技有限公司 | 卷积神经网络的运算方法、装置及dpu |
CN109919312B (zh) * | 2019-03-29 | 2021-04-23 | 北京智芯微电子科技有限公司 | 卷积神经网络的运算方法、装置及dpu |
CN110046704B (zh) * | 2019-04-09 | 2022-11-08 | 深圳鲲云信息科技有限公司 | 基于数据流的深度网络加速方法、装置、设备及存储介质 |
CN110046704A (zh) * | 2019-04-09 | 2019-07-23 | 深圳鲲云信息科技有限公司 | 基于数据流的深度网络加速方法、装置、设备及存储介质 |
CN110097174A (zh) * | 2019-04-22 | 2019-08-06 | 西安交通大学 | 基于fpga和行输出优先的卷积神经网络实现方法、***及装置 |
CN110222819A (zh) * | 2019-05-13 | 2019-09-10 | 西安交通大学 | 一种用于卷积神经网络加速的多层数据分区域联合计算方法 |
WO2020253117A1 (zh) * | 2019-06-19 | 2020-12-24 | 深圳云天励飞技术有限公司 | 一种数据处理方法及装置 |
WO2021031351A1 (zh) * | 2019-08-16 | 2021-02-25 | 浪潮电子信息产业股份有限公司 | 一种数据处理***、方法及介质 |
WO2021031154A1 (zh) * | 2019-08-21 | 2021-02-25 | 深圳市大疆创新科技有限公司 | 神经网络的特征图装载方法及设备 |
CN111008697A (zh) * | 2019-11-06 | 2020-04-14 | 北京中科胜芯科技有限公司 | 一种卷积神经网络加速器实现架构 |
CN111047010A (zh) * | 2019-11-25 | 2020-04-21 | 天津大学 | 降低cnn加速器首层卷积计算延时的方法及装置 |
CN111582451A (zh) * | 2020-05-08 | 2020-08-25 | 中国科学技术大学 | 图像识别层间并行流水线型二值化卷积神经网络阵列架构 |
CN111582451B (zh) * | 2020-05-08 | 2022-09-06 | 中国科学技术大学 | 图像识别层间并行流水线型二值化卷积神经网络阵列架构 |
CN111752879B (zh) * | 2020-06-22 | 2022-02-22 | 深圳鲲云信息科技有限公司 | 一种基于卷积神经网络的加速***、方法及存储介质 |
CN111752879A (zh) * | 2020-06-22 | 2020-10-09 | 深圳鲲云信息科技有限公司 | 一种基于卷积神经网络的加速***、方法及存储介质 |
CN112799726A (zh) * | 2021-01-26 | 2021-05-14 | 上海寒武纪信息科技有限公司 | 数据处理装置、方法及相关产品 |
CN112799726B (zh) * | 2021-01-26 | 2024-01-30 | 上海寒武纪信息科技有限公司 | 数据处理装置、方法及相关产品 |
CN114266306A (zh) * | 2021-12-20 | 2022-04-01 | 北京达佳互联信息技术有限公司 | 基于机器学习模型实现数据分类的方法及装置、电子设备 |
CN118227535A (zh) * | 2024-05-22 | 2024-06-21 | 深存科技(无锡)有限公司 | 近io流水计算的加速器架构和ai加速*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107066239A (zh) | 一种实现卷积神经网络前向计算的硬件结构 | |
CN111684473B (zh) | 提高神经网络阵列的性能 | |
CN111967468B (zh) | 一种基于fpga的轻量级目标检测神经网络的实现方法 | |
US20180157969A1 (en) | Apparatus and Method for Achieving Accelerator of Sparse Convolutional Neural Network | |
CN108280514A (zh) | 基于fpga的稀疏神经网络加速***和设计方法 | |
CN108764466A (zh) | 基于现场可编程门阵列的卷积神经网络硬件及其加速方法 | |
Yu et al. | High performance stereo vision designed for massively data parallel platforms | |
CN107657581A (zh) | 一种卷积神经网络cnn硬件加速器及加速方法 | |
CN106951926A (zh) | 一种混合架构的深度学习***方法及装置 | |
CN110298443A (zh) | 神经网络运算装置及方法 | |
CN110473137A (zh) | 图像处理方法和装置 | |
CN110968423A (zh) | 使用机器学习将工作负荷分配给加速器的方法和设备 | |
WO2020233709A1 (zh) | 模型压缩方法及装置 | |
CN109472356A (zh) | 一种可重构神经网络算法的加速装置及方法 | |
TWI775210B (zh) | 用於卷積運算的資料劃分方法及處理器 | |
US10733498B1 (en) | Parametric mathematical function approximation in integrated circuits | |
WO2019001323A1 (zh) | 信号处理的***和方法 | |
CN109993275A (zh) | 一种信号处理方法及装置 | |
JP7085600B2 (ja) | 画像間の類似度を利用した類似領域強調方法およびシステム | |
CN110222835A (zh) | 一种基于零值检测的卷积神经网络硬件***及运算方法 | |
Fujii et al. | A threshold neuron pruning for a binarized deep neural network on an FPGA | |
CN112799599A (zh) | 一种数据存储方法、计算核、芯片和电子设备 | |
CN110009644B (zh) | 一种特征图行像素分段的方法和装置 | |
CN110489955A (zh) | 应用于电子设备的图像处理、装置、计算设备、介质 | |
CN109359542A (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: 20170818 |
|
RJ01 | Rejection of invention patent application after publication |