CN109409511B - 一种用于动态可重构阵列的卷积运算数据流调度方法 - Google Patents
一种用于动态可重构阵列的卷积运算数据流调度方法 Download PDFInfo
- Publication number
- CN109409511B CN109409511B CN201811115052.8A CN201811115052A CN109409511B CN 109409511 B CN109409511 B CN 109409511B CN 201811115052 A CN201811115052 A CN 201811115052A CN 109409511 B CN109409511 B CN 109409511B
- Authority
- CN
- China
- Prior art keywords
- data
- convolution
- array
- calculation
- convolution kernel
- 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/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)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
- Image Analysis (AREA)
Abstract
一种用于动态可重构阵列的卷积运算数据流调度方法,IRB通过对权值数据和图像数据进行调度,将矩阵内积拆分成行,映射到不同的PE单元内进行计算,计算所得到的结果累加,所得到的累加和在最后一级SPE内做激活,输出激活后的数据,完成调度。将权值数据不同行固定在不同的PE单元内,然后将图像数据逐行映射到每个PE单元与权值数据做卷积,中间数据暂存在PE单元内,然后逐级传输到下个PE单元进行累加,形成流水线,得到卷积数据。在计算CNN网络的过程中,IRB数据流可以提高输入图像数据和权值数据的复用率,减少数据的片内片外流动,有利于降低数据流动的功耗和时间,对性能和效能都有提升。
Description
技术领域
本发明涉及一种用于动态可重构阵列的卷积运算数据流调度方法。
背景技术
人工智能是目前热门的计算机科学之一,作为实现人工智能的主要方式,深度学习也得到了深远的发展。卷积神经网络(Convolution Neural Network,CNN)是人工神经网络结构研究最多应用最广的网络结构之一,目前已经成为众多科学领域的研究热点之一,特别是在模式分类领域,由于CNN避免了对图像的复杂前期预处理,可以直接输入原始图像,因而得到了更为广泛的应用。近年来卷积神经网络在计算机视觉领域取得了很不错的成就,同时也让卷积神经网络得到了发展。神经网络的核心是运算,CNN在应用于计算机视觉领域时,利用卷积核对图像数据进行特征提取,其核心运算是卷积运算操作。通常,在CNN网络中,卷积运算占总运算操作数的90%左右。因此目前来说,如何高效的完成CNN网络中的卷积运算操作,是CNN加速器设计的核心问题。
随着CNN网络层数和神经元个数的增加,模型的计算复杂度以指数级增长,深度学***台。对于深度学习算法的硬件加速,目前通常有三类实现方式——多核CPU、GPU和FPGA,它们的共同特点是可以实现高并行度的计算。然而,现有的硬件实现方式功耗较高,还存在着能量效率(性能/功耗)较低的问题,并不能应用在智能移动终端上,例如智能手机、可穿戴设备或者是自动驾驶汽车等。在此背景下,可重构处理器已经被证明是一种兼具高灵活性和高能量效率的并行计算架构形式,它的优势在于可以根据不同的模型大小来选择合适的资源配置策略,扩大专用处理器使用范围的同时提高处理性能,是多核CPU和FPGA技术进一步发展受到限制的解决途径之一,有可能成为未来实现高效能深度学习SoC的方案之一。和通用处理器之间的区别在于它不仅可以改变控制流,还可以动态地改变数据通路的结构,具有高性能、低硬件开销和功耗、灵活性好、扩展性好的优点;同时,在处理速度上,可重构处理器的性能正在接近专用定制芯片。可重构计算阵列使用多个处理单元(Processing Elements,PEs)构成的阵列来满足不同应用程序的不同需求。未来的计算***往往需要兼具多功能和高性能的特点,当前的趋势是在计算***中加入多个可重构计算阵列,来自适应地支持不同的标准,同时满足日益增加的性能需求。
CNN算法在计算时,卷积核在图像上滑动进行卷积计算。这样的计算模式会有大量的数据需要进行重复计算。不同于在GPU上进行计算,在对CNN算法进行硬件加速过程中,无法将所有的计算数据全部缓存在片上,因此需要对卷积运算中的数据流进行调度。
CNN算法包含大量的计算,可重构计算阵列可以并行地执行CNN算法中所包含的算法。将CNN网络的权值数据和图像数据进行划分,然后映射到对应的计算单元上。由于硬件资源的限制,CNN算法无法完全映射到硬件架构上,因此需要对图像数据和权值数据进行调度。CNN网络在计算的过程中,大量的输入数据需要重复的进行计算,现有的许多方法在数据的调度过程中都会存在以下问题:
1、数据的重复输入。CNN算法中,卷积核在输入图像上滑动进行卷积运算,当卷积核滑动的步长小于卷积核自身尺寸时,每次滑动进行卷积运算时,都会有部分上次卷积计算时的数据重复。这些数据可以从计算单元外重新进行读取,但这样就会导致数据的重复输入。
2、CNN数据映射到硬件单元时,可能会受到硬件资源本身架构的约束,导致所设计的流水线工作效率不高。
发明内容
本发明的目的是提供一种用于动态可重构阵列的卷积运算数据流调度方法。
为实现上述目的,本发明采用如下的技术方案:
一种用于动态可重构阵列的卷积运算数据流调度方法,其特征在于,IRB通过对权值数据和图像数据进行调度,将矩阵内积拆分成行,映射到不同的PE单元内进行计算,计算所得到的结果累加,所得到的累加和在最后一级SPE内做激活,输出激活后的数据,完成调度。
本发明进一步的改进在于,包括以下步骤:
第一步:在IRB数据流中,将卷积核的数据逐行映射到PE阵列上,每个PE单元上映射一行卷积核数据;
第二步:将图像数据逐行广播映射到整个PE阵列上,在PE单元内进行卷积计算;
第三步:将卷积计算得到的中间数据传输到下一级PE单元,直至传输到最后一级PE单元,最后一级PE单元为SPE,SPE对累加的最终结果通过公式(1)中的f(·)函数进行激活操作,激活操作由ReLU模块完成,激活后的数据作为输出数据;
0≤z<N,0≤u<M,0≤y<E,0≤x<F
其中,O是输出图像数据,I是输入图像数据,W是权值数据,f(·)函数是神经网络的激活函数,z代表输入图像的编号,u表示卷积核的编号,y表示输出图像的行编号,E是输出图像的总行数,x表示输出图像的列编号,F是输出图像的总列数,i和j分别代表卷积核的行数和列数,k表示通道数,U表示每次卷积后卷积核滑动的步长。
本发明进一步的改进在于,第一步的具体过程如下:卷积核的尺寸为R行,在映射过程中将这R行的卷积核数据分别映射到R个PE单元内,将映射的权值数据存储在权值寄存器内。
本发明进一步的改进在于,第二步的具体过程如下:图像数据有H行,逐行映射到PE阵列上,和已经映射到的PE单元内的权值数据做乘法累加操作,映射与乘累加是同时进行的;图像数据映射到PE单元内,在图像寄存器内进行缓存,移位寄存器在缓存图像数据的同时能够实现卷积操作中的滑框功能,每个PE单元计算得到的是行卷积结果,即得到R行的卷积数据。
本发明进一步的改进在于,图像寄存器为移位寄存器。
本发明进一步的改进在于,所得到的卷积计算的结果暂存在PE单元的FIFO内,在下一级PE进行卷积计算的过程中,上一级PE卷积计算的中间数据传输到下一级进行中间数据累加;对于尺寸为i的卷积核,每个卷积核需要i个PE单元进行计算;卷积核尺寸i的大小为3或5或11,对应在PE阵列上,需要的PE单元数也为i。
本发明进一步的改进在于,在22*22的PE阵列上实现IRB数据流。
本发明进一步的改进在于,以每次计算的卷积核数量为并行度衡量标准,卷积核大小为3时,阵列可以同时对22*7=154个卷积核计算;卷积核大小为5时,阵列可同时对22*4=88个卷积核计算,卷积核大小为11时,阵列同时对22*2=44个卷积核计算。
与现有技术相比,本发明具有的有益效果:
1、基于动态可重构技术,结合硬件提出的针对CNN网络进行加速的数据流调度机制,对数据进行分割映射实现CNN算法,对CNN的卷积运算进行调度,将图像逐行映射到所有的PE单元上进行卷积计算,利用逐行广播的形式对图像数据进行调度,避免了图像数据在向PE阵列上映射时候的复杂时序控制。
2、将权值数据不同行固定在不同的PE单元内,然后将图像数据逐行映射到每个PE单元与权值数据做卷积,中间数据暂存在PE单元内,然后逐级传输到下个PE单元进行累加,形成流水线,得到卷积数据。在计算CNN网络的过程中,IRB数据流可以提高输入图像数据和权值数据的复用率,减少数据的片内片外流动,有利于降低数据流动的功耗和时间,对性能和效能都有提升。
附图说明
图1为CNN加速器的计算架构。
图2为PE单元架构。
图3为卷积计算过程。
图4为卷积核逐行映射到PE阵列。
图5为图像数据逐行广播映射到PE阵列。
图6为PE单元间中间数据逐行累加。
图7为RS数据流。
图8为IRB数据流。
具体实施方式
下面结合附图对本发明进行详细描述。
本发明为动态可重构计算阵列提出一个新的数据流调度机制,称为图像逐行广播(Image Row Broadcast,IRB)的数据流调度机制。IRB是基于可重构计算硬件架构提出,用于CNN网络的卷积运算加速的数据流调度方法,可以加速LeNet、AlexNet、VGG等多种网络结构。
本发明提出了针对CNN算法计算时的IRB数据流调度,应用于图1所示的硬件架构。基于动态可重构的计算阵列可以适应CNN的不同的计算模式,configuration模块通过配置信息对PE阵列进行配置;FSM是***的控制模块;可重构的PE阵列是整个***的计算架构,也是IRB实现的硬件部分;两个存储模块作为中间缓存,保证计算时阵列计算的数据流不会被等待运算数据的延时打断。
本发明针对CNN网络的计算特点设计的PE单元包含有两种结构,分别为Normal PE(简称PE)和Special PE(简称SPE)。图2所示,PE包含以下模块:图像寄存器组(PictureReg),权值寄存器组(Filter Reg),乘法器,累加器(Acc),加法器以及FIFO。SPE在PE的基础上增加了以下模块:多路选择器,数据分路开关,加法器以及ReLU函数模块(ReLU)。具体参数如下:权值寄存器和图像寄存器组的输入数据位宽为16位,深度为16。乘法器输入数据位宽为16位。加法器的输入数据位宽为32位。FIFO的数据位宽为32位,深度为64位。整个PE阵列的大小为22*22,AlexNet网络中包含卷积核大小为3或5或11的计算模式。PE阵列可以通过改变单元间的互连,以及内部的寄存器配置,满足这些计算模式。同时,在PE单元内部加入的存储单元模块,可以满足IRB数据流计算时的数据存储。
卷积神经网络的基本操作是卷积计算,如图3所示,多个卷积核在对多个图像进行卷积运算的过程,卷积是为卷积神经网络的基本运算,卷积核在图像上滑动进行卷积计算输出新的图像数据。计算公式如下:
0≤z<N,0≤u<M,0≤y<E,0≤x<F
其中,O是输出图像数据,I是输入图像数据,W是权值数据,f(·)函数是神经网络的激活函数。z代表输入图像的编号,u表示卷积核的编号,y表示输出图像的行编号,E是输出图像的总行数。x表示输出图像的列编号,F是输出图像的总列数。i和j分别代表卷积核的行数和列数,k表示通道数。U表示每次卷积后卷积核滑动的步长。
从公式(1)可以看出卷积计算过程就是输入图像数据与权值数据做矩阵内积,对应点的数据相乘后得到的数据相加。
本发明的用于动态可重构阵列的卷积运算数据流调度方法,IRB通过对计算过程中的权值数据和图像数据进行调度,将大的矩阵内积拆分成行,映射到不同的PE单元内进行计算,计算所得到的结果累加即为上式括号内的部分。所得到的累加和在最后一级SPE单元内做激活,即为输出的数据。具体包括以下步骤:
第一步:将卷积核逐行的形式映射到PE阵列上,每个PE单元上映射一行卷积核数据,如图4所示,具体过程如下:
IRB数据流中,卷积核的数据首先逐行映射到PE阵列内,每个PE单元映射一行卷积核的数据。
例如图3中卷积核的尺寸为R行,则在映射过程中需要把这R行的卷积核数据分别映射到R个PE单元内。需要注意,卷积核的前R-1行是映射到PE内,SPE可以通过配置信息实现PE的功能,最后一行卷积核映射在SPE内。卷积核映射在PE单元内,由于卷积过程中卷积核在图像上做滑动进行计算,所以在此过程中权值数据是不断复用多次,需要和整幅图像进行卷积运算,所以将映射的权值数据存储在权值寄存器内,可以在卷积过程中不断从PE内部的权值寄存器内读取权值数据,这样可以避免对权值数据的重复读取,以提高计算效率。
第二步:将图像数据逐行广播映射到整个PE阵列上,在PE单元内进行卷积计算,如图5所示,具体过程如下
在卷积核映射在PE阵列上之后,图像数据开始逐行广播映射在PE单元内部。在图3中图像数据有H行,逐行映射到PE阵列上,和已经映射到的PE单元内的权值数据做乘法累加操作,映射与乘累加是同时进行的。图像数据映射到PE单元内,在图像寄存器内进行缓存,图像寄存器设计为移位寄存器,图像移位寄存器在缓存图像数据的同时可以实现卷积操作中的滑框功能,在计算过程中会产生移位效果,每次进行一次卷积运算后,移动步长为U,以得到正确的结果,每个PE单元计算得到的是行卷积结果,即可以得到R行的卷积数据。
第三步:将卷积计算得到的中间数据传输到下一级PE单元,直至传输到最后一级PE单元,最后一级PE单元为SPE,SPE对累加的最终结果通过公式(1)中的f(·)函数进行激活操作,激活操作由ReLU模块完成,激活后的数据作为输出数据;
需要注意的是,SPE可以配置为PE,对于配置为PE的SPE,视作PE,不会作为最后一级PE单元。即中间级的只能为PE,只有最后一级才能为SPE;如图6所示,该步骤的具体过程如下:
图5中所得到的卷积计算的结果会暂存在PE单元的FIFO内,在下一级PE进行卷积计算的过程中,上一级PE卷积计算的中间数据传输到下一级进行中间数据累加。每一级PE单元传输到下一级的PE数据为该级前面每一级PE单元计算的行卷积数据结果对应数据的累加,对于尺寸为i的卷积核,每个卷积核需要i个PE单元进行计算,即累加结果为∑Rowi。对于本发明所加速的CNN结构来说,卷积核尺寸i的大小可以为3或5或11,对应在PE阵列上,需要的PE单元数也为i,即3或5或11。图像数据是广播到所有PE单元上的,在计算过程中,由于卷积核尺寸的不同以及硬件的限制,计算的并行度是不一样的,本发明是在22*22的PE阵列上实现IRB数据流。以每次计算的卷积核数量为并行度衡量标准,卷积核大小为3时,阵列可以同时对22(行)*7=154个卷积核计算。卷积核大小为5时,阵列可同时对22(行)*4=88个卷积核计算,卷积核大小为11时,阵列可同时对22*2=44个卷积核计算。阵列计算的最后一级是SPE单元,SPE单元对所有累加的最终结果通过公式(1)中的f(·)函数进行激活操作,激活操作由ReLU模块完成,激活后的数据作为输出数据。
下表显示本发明所提出的数据流与其他一些CNN加速的性能对比。
表1本发明所提出的数据流与其他一些CNN加速的性能对比
从表1可以看出采用本发明的方法,***的性能和能效都有了大幅度的提高。在处理卷积层时,本发明可以得到的性能分别为:AlexNet为97.4GOPS,VGG为90.75GOPS,Lenet-5为100.8GOPS。与Virtex7 VX485T相比,AlexNet可以实现1.59倍的性能和2.96倍的能效提升。至于Zynq-7000,本发明可以将LeNet的性能提高47倍,能效提高14.5倍。同时,与Stratix-V GXA7相比,本发明还具有至少2.9倍的性能和7倍的能效提高。对于Intel XeonE5-2620 CPU,本发明速度提高了6.6倍,在能效方面实现了52倍的提升。
IRB数据流和Eyeriss提出的RS(Row Saturation)数据流进行对比:
以3×3×C的M个卷积核为例,对7×7×C大小的图像进行卷积计算,其中C是通道数。PE阵列子块尺寸为3×3。图7显示了RS数据流的流水线时序,它在PE阵列子块上一次完成一个通道的映射。图8显示了使用IRB数据流方法的卷积计算,IRB可以在PE阵列上并行完成三个通道的图像。
T1表示从存储器映射到PE阵列的一行图像的周期,而T2是每个PE的一行图像的卷积周期。图像大小为7×7,内核大小为3×3。所以T1=7,T2=3×(7-2)=15;使用RS数据流计算一个通道图像所需的平均时间为:
TRS=(T1×5+(T1+1)×2+15)×C×M=66×C×M (2)
使用本发明提出的IRB数据流计算一个通道所需的平均时间为:
TIRB=(T1+T2×7)×C×M/3≈37×C×M (3)
应当注意,由于并行度,等式(2)中的除法运算是3。也就是说,虽然IRB的计算过程比RS长,但IRB可以并行计算产生三个通道的图像,而RS只能同时计算产生单个通道图像。因此,IRB提供比RS更高的并行度。在此示例中,结果显示与RS相比,IRB数据流可以提高44%的性能。
Claims (7)
1.一种用于动态可重构阵列的卷积运算数据流调度方法,其特征在于,IRB通过对权值数据和图像数据进行调度,将矩阵内积拆分成行,映射到不同的PE单元内进行计算,计算所得到的结果累加,所得到的累加和在最后一级SPE内做激活,输出激活后的数据,完成调度;IRB表示图像逐行广播,具体包括以下步骤:
第一步:在IRB数据流中,将卷积核的数据逐行映射到PE阵列上,每个PE单元上映射一行卷积核数据;
第二步:将图像数据逐行广播映射到整个PE阵列上,在PE单元内进行卷积计算;
第三步:将卷积计算得到的中间数据传输到下一级PE单元,直至传输到最后一级PE单元,最后一级PE单元为SPE,SPE对累加的最终结果通过公式(1)中的f(·)函数进行激活操作,激活操作由ReLU模块完成,激活后的数据作为输出数据;
0≤z<N,0≤u<M,0≤y<E,0≤x<F
其中,O是输出图像数据,I是输入图像数据,W是权值数据,f(·)函数是神经网络的激活函数,z代表输入图像的编号,u表示卷积核的编号,y表示输出图像的行编号,E是输出图像的总行数,x表示输出图像的列编号,F是输出图像的总列数,i和j分别代表卷积核的行数和列数,k表示通道数,U表示每次卷积后卷积核滑动的步长,IRB表示图像逐行广播。
2.根据权利要求1所述的一种用于动态可重构阵列的卷积运算数据流调度方法,其特征在于,第一步的具体过程如下:卷积核的尺寸为R行,在映射过程中将这R行的卷积核数据分别映射到R个PE单元内,将映射的权值数据存储在权值寄存器内。
3.根据权利要求1所述的一种用于动态可重构阵列的卷积运算数据流调度方法,其特征在于,第二步的具体过程如下:图像数据有H行,逐行映射到PE阵列上,和已经映射到的PE单元内的权值数据做乘法累加操作,映射与乘法累加是同时进行的;图像数据映射到PE单元内,在图像寄存器内进行缓存,图像寄存器在缓存图像数据的同时能够实现卷积操作中的滑框功能,每个PE单元计算得到的是行卷积结果,即得到R行的卷积数据。
4.根据权利要求3所述的一种用于动态可重构阵列的卷积运算数据流调度方法,其特征在于,图像寄存器为移位寄存器。
5.根据权利要求1所述的一种用于动态可重构阵列的卷积运算数据流调度方法,其特征在于,所得到的卷积计算的结果暂存在PE单元的FIFO内,在下一级PE进行卷积计算的过程中,上一级PE卷积计算的中间数据传输到下一级进行中间数据累加;对于尺寸为i的卷积核,每个卷积核需要i个PE单元进行计算;卷积核尺寸i的大小为3或5或11,对应在PE阵列上,需要的PE单元数也为i。
6.根据权利要求1所述的一种用于动态可重构阵列的卷积运算数据流调度方法,其特征在于,在22*22的PE阵列上实现IRB数据流。
7.根据权利要求6所述的一种用于动态可重构阵列的卷积运算数据流调度方法,其特征在于,以每次计算的卷积核数量为并行度衡量标准,卷积核大小为3时,阵列同时对22*7=154个卷积核计算;卷积核大小为5时,阵列同时对22*4=88个卷积核计算,卷积核大小为11时,阵列同时对22*2=44个卷积核计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811115052.8A CN109409511B (zh) | 2018-09-25 | 2018-09-25 | 一种用于动态可重构阵列的卷积运算数据流调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811115052.8A CN109409511B (zh) | 2018-09-25 | 2018-09-25 | 一种用于动态可重构阵列的卷积运算数据流调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109409511A CN109409511A (zh) | 2019-03-01 |
CN109409511B true CN109409511B (zh) | 2020-07-28 |
Family
ID=65465836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811115052.8A Active CN109409511B (zh) | 2018-09-25 | 2018-09-25 | 一种用于动态可重构阵列的卷积运算数据流调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109409511B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110210610B (zh) * | 2018-03-27 | 2023-06-20 | 腾讯科技(深圳)有限公司 | 卷积计算加速器、卷积计算方法及卷积计算设备 |
CN110135554A (zh) * | 2019-03-25 | 2019-08-16 | 电子科技大学 | 一种基于fpga的卷积神经网络硬件加速架构 |
CN110163409B (zh) * | 2019-04-08 | 2021-05-18 | 华中科技大学 | 一种应用于置换流水车间的卷积神经网络调度方法 |
CN110097174B (zh) * | 2019-04-22 | 2021-04-20 | 西安交通大学 | 基于fpga和行输出优先的卷积神经网络实现方法、***及装置 |
CN110222818B (zh) * | 2019-05-13 | 2021-08-13 | 西安交通大学 | 一种用于卷积神经网络数据存储的多bank行列交织读写方法 |
CN110288078B (zh) * | 2019-05-19 | 2023-03-24 | 南京惟心光电***有限公司 | 一种针对GoogLeNet模型的加速器及其方法 |
CN110516801B (zh) * | 2019-08-05 | 2022-04-22 | 西安交通大学 | 一种高吞吐率的动态可重构卷积神经网络加速器 |
CN110796245B (zh) * | 2019-10-25 | 2022-03-22 | 浪潮电子信息产业股份有限公司 | 卷积神经网络模型的计算方法及装置 |
CN111931911B (zh) * | 2020-07-30 | 2022-07-08 | 山东云海国创云计算装备产业创新中心有限公司 | 一种cnn加速器配置方法、***及装置 |
CN112132275B (zh) * | 2020-09-30 | 2024-06-18 | 南京风兴科技有限公司 | 一种并行计算方法及装置 |
CN112540946B (zh) * | 2020-12-18 | 2024-06-28 | 清华大学 | 可重构处理器及其上多种神经网络激活函数计算方法 |
CN113313251B (zh) * | 2021-05-13 | 2023-05-23 | 中国科学院计算技术研究所 | 一种基于数据流架构的深度可分离卷积融合方法及*** |
CN113469326B (zh) * | 2021-06-24 | 2024-04-02 | 上海寒武纪信息科技有限公司 | 在神经网络模型中执行剪枝优化的集成电路装置及板卡 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915322B (zh) * | 2015-06-09 | 2018-05-01 | 中国人民解放军国防科学技术大学 | 一种卷积神经网络硬件加速方法 |
KR20180012439A (ko) * | 2016-07-27 | 2018-02-06 | 삼성전자주식회사 | 회선 신경망에서 가속기 및 이의 동작 방법 |
-
2018
- 2018-09-25 CN CN201811115052.8A patent/CN109409511B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109409511A (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109409511B (zh) | 一种用于动态可重构阵列的卷积运算数据流调度方法 | |
CN109886400B (zh) | 基于卷积核拆分的卷积神经网络硬件加速器***及其计算方法 | |
CN110458279B (zh) | 一种基于fpga的二值神经网络加速方法及*** | |
CN107704916B (zh) | 一种基于fpga实现rnn神经网络的硬件加速器及方法 | |
CN111459877B (zh) | 基于FPGA加速的Winograd YOLOv2目标检测模型方法 | |
CN110210610B (zh) | 卷积计算加速器、卷积计算方法及卷积计算设备 | |
CN108108809B (zh) | 一种针对卷积神经元网络进行推理加速的硬件架构及其工作方法 | |
CN108647773B (zh) | 一种可重构卷积神经网络的硬件互连*** | |
CN111898733B (zh) | 一种深度可分离卷积神经网络加速器架构 | |
CN108154229B (zh) | 基于fpga加速卷积神经网络框架的图片处理方法 | |
CN110738308B (zh) | 一种神经网络加速器 | |
CN113033794B (zh) | 基于深度可分离卷积的轻量级神经网络硬件加速器 | |
CN110674927A (zh) | 一种用于脉动阵列结构的数据重组方法 | |
CN112836813B (zh) | 一种用于混合精度神经网络计算的可重构脉动阵列*** | |
CN110688616B (zh) | 一种基于乒乓ram的条带阵列的卷积模块及其运算方法 | |
CN113240101B (zh) | 卷积神经网络软硬件协同加速的异构SoC实现方法 | |
CN113222130A (zh) | 一种基于fpga的可重构卷积神经网络加速器 | |
CN111340198A (zh) | 基于fpga的数据高度复用的神经网络加速器 | |
CN115238863A (zh) | 一种卷积神经网络卷积层的硬件加速方法、***及应用 | |
CN115310037A (zh) | 矩阵乘法计算单元、加速单元、计算***和相关方法 | |
CN112149047A (zh) | 数据的处理方法及装置、存储介质和电子装置 | |
CN110766136B (zh) | 一种稀疏矩阵与向量的压缩方法 | |
CN109948787B (zh) | 用于神经网络卷积层的运算装置、芯片及方法 | |
CN116090518A (zh) | 基于脉动运算阵列的特征图处理方法、装置以及存储介质 | |
CN112836793B (zh) | 浮点可分离卷积计算加速装置、***以及图像处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |