CN110135565B - 针对神经网络算法在集成电路上实现性能的评估*** - Google Patents

针对神经网络算法在集成电路上实现性能的评估*** Download PDF

Info

Publication number
CN110135565B
CN110135565B CN201910416804.2A CN201910416804A CN110135565B CN 110135565 B CN110135565 B CN 110135565B CN 201910416804 A CN201910416804 A CN 201910416804A CN 110135565 B CN110135565 B CN 110135565B
Authority
CN
China
Prior art keywords
data
module
representing
neural network
num
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
Application number
CN201910416804.2A
Other languages
English (en)
Other versions
CN110135565A (zh
Inventor
邓巍
曹姗
鲍真逸
王浩
徐树公
张舜卿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Shanghai for Science and Technology
Original Assignee
University of Shanghai for Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Shanghai for Science and Technology filed Critical University of Shanghai for Science and Technology
Priority to CN201910416804.2A priority Critical patent/CN110135565B/zh
Publication of CN110135565A publication Critical patent/CN110135565A/zh
Application granted granted Critical
Publication of CN110135565B publication Critical patent/CN110135565B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • 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)
  • Image Analysis (AREA)
  • Complex Calculations (AREA)

Abstract

一种针对神经网络在集成电路上实现时的性能评估***,包括:输入配置模块和功能函数模块,通过配置待测神经网络的参数,通过输入配置模块进行数据流组织方式解析以及硬件框架参数配置,再通过功能函数模块对延时、资源使用、不同存储器访问次数进行评估。本发明针对于神经网络的拓扑结构以及具体网络参数,通过硬件可调参数的配置,在多种数据流组织方式下,完成对该神经网络硬件实现性能的评估,包括各个层级的延时,硬件资源的使用,不同等级存储器的访问情况等。

Description

针对神经网络算法在集成电路上实现性能的评估***
技术领域
本发明涉及的是一种神经网络领域的技术,具体是一种针对神经网络算法在集成电路上实现时性能的评估***,对卷积神经网络、残差神经网络等进行可靠的硬件运行性能进行评估。
背景技术
随着神经网络性能的不断提升,网络的参数数量越来越多,计算量也变得越来越大。现阶段急需一种能够在进行大规模计算前预先评估算法在集成电路上执行时间的技术,从而减少设计周期,进一步提高资源利用率。
发明内容
本发明针对现有技术存在的上述不足,提出一种针对神经网络在集成电路上实现时的性能评估***,针对于神经网络的拓扑结构以及具体网络参数,通过硬件可调参数的配置,在多种数据流组织方式下,完成对该神经网络硬件实现性能的评估,包括各个层级的延时,硬件资源的使用,不同等级存储器的访问情况等。
本发明是通过以下技术方案实现的:
本发明涉及一种针对神经网络硬件性能的评估***,包括:输入配置模块和功能函数模块,其中:输入配置模块中的数据流解析单元根据卷积神经网络循环展开的理论解析出待测神经网络算法的数据流组织方式,即每个卷积循环的卷积维度、循环分块和循环展开,输入配置模块中的硬件配置单元根据数据流组织方式设置对应的硬件框架参数配置,功能函数模块根据输入配置模块的输出进行时延估计、资源估计和存储估计并合并生成评估结果。
所述的功能函数模块包括:时延估计单元、资源估计单元和存储估计单元,分别针对硬件架构与数据流组织方式,本发明设计的评估***对延时、资源使用、不同存储器访问次数进行评估。
所述的***中进一步优选设有输出整合模块,该输出整合模块整理时延估计、资源估计和存储估计并通过交互方式选择性打印输出估计结果。
本发明涉及一种基于上述***的神经网络硬件性能评估方法,通过配置待测神经网络的参数,通过输入配置模块进行数据流组织方式解析以及硬件框架参数配置,再通过功能函数模块对延时、资源使用、不同存储器访问次数进行评估。
技术效果
与现有技术相比,本发明可以为神经网络RTL级的设计提供精确的仿真参考数据。在不同的硬件存储资源下,采用不同的基于卷积循环展开所对应的数据流组织形式,做到不同数据的复用,对于已有硬件平台(如FPGA)而言,可以最大化运算资源的使用,又同时最小化从片外读取数据的次数,极大地减少了时延;对于ASIC设计专用芯片而言,可以为之提供不同神经网络在集成电路上实现的性能和硬件参数配置的适用性指标,并还为之提供了精确的片上片下资源使用和芯片尺寸的重要参考。
附图说明
图1为本发明***结构示意图;
图2、图3、图4为三类数据流组织形式示意图;
图中step表示优先计算的步骤,不同的step组合即表示了不同的循环展开次序;
图5为实施例中神经网络硬件架构示意图;
图6为实施例PE Array示意图;
图7为实施例PE示意图;
图中的PE可以完成权重窗口尺寸内像素点的同步运算,即为第1层循环的展开;
图8为实施例数据流组织实现展开循环示意图;
图中的不同的channel表示第2层循环的展开,不同的kernel表示第4层循环的展开,不同的row表示第3层循环的展开。
具体实施方式
如图1所示,为本实施例涉及的一种针对神经网络硬件性能的评估***,包括:输入配置模块、功能函数模块和输出整合模块。本实施例基于该***,以VGG16为例进行硬件运行性能评估,具体包括以下步骤:
步骤一、配置待测神经网络参数,包括设置VGG16的网络层数、每层的尺寸与步长、是否有padding、是否池化、权重的尺寸与个数等。
步骤二、输入配置模块进行数据流组织方式解析以及硬件框架参数配置,根据循环展开理论结合硬件资源情况,合理地对卷积运算四层循环进行展开,并行计算所展开循环中对应的乘加运算,从而利用有限资源并行化运算,具体包括:
2.1)数据流解析单元根据卷积神经网络循环展开的理论解析出待测神经网络算法的数据流组织方式,即根据卷积循环维度与硬件设计变量表得到卷积神经网络的关键参数:
根据卷积运算对应的四层循环展开的伪代码:
for(no=0;no<Nof;no++)→Loop-4
for(y=0;y<Noy;y++)→Loop-3
for(x=0;x<Nox;x++)→Loop-3
for(ni=0;ni<Nif;ni++)→Loop-2
for(ky=0;ky<Nky;ky++)→Loop-1
for(kx=0;kx<Nkx;kx++)→Loop-1
pixelL(no;x,y)+=pixelL-1。(ni;S×x+kx,S×y+ky)×weightL-1(ni,no;kx,ky);
pixelL(no;x,y)=pixelL(no;x,y)+bias(no);
其中L表示当前运算的卷积层的层数,S表示滑动步长,weight表示权重,pixel表示输入特征图像素点,no表示输出特征通道计数,ni表示输入特征通道计数,kx表示卷积窗口内像素点的列计数,ky表示卷积窗口内像素点的行计数,x表示输入特征图内划窗的列计数,y表示输入特征图内划窗的行计数,bias表示输出特征图对应的偏置。其中的参数如表1所示:
表1
Figure BDA0002064658000000031
如表1所示:第1层循环是输入特征图在对应的权重窗口上遍历各个像素点,循环次数为权值窗口的尺寸;第2层循环是输入特征图遍历各个输入通道,循环次数为输入特征图的通道数;第3层循环是权重窗口在一个通道的输入特征图上划窗遍历所有像素点,循环次数为在一张特征图上划窗的次数;第4层循环是遍历所有输出特征图通道,循环次数为权重的个数(即输出特征图通道数)。
根据遍历各个输入特征图的输入通道的不同方式以及权重窗口在一个通道的输入特征图上划窗遍历所有像素点的不同方式,对应有三种基于循环展开的数据流组织形式,包括:如图2所示的第1层循环和第3层循环的展开,对应权值和卷积部分和的数据复用;如图3所示的第1层循环和第2层循环的展开,对应权值和卷积部分和的数据复用;如图4所示的第1层循环和第4层循环的展开,对应输入图像数值和卷积部分和的数据复用。
如图2所示,第一类数据流组织形式依次遍历输入特征图、输入通道、输出通道,对于卷积层的运算操作符合传统习惯,控制简单,并且片上内存大小适中,只需存储一张最大的输出特征图即可。
如图3所示,第二类数据流组织形式依次遍历输入通道、输入特征图、输出通道,由于优先遍历输入通道,因此片上所需的存储空间可以达到最小,但是时延相对最长。
如图4所示,第三类数据流组织形式依次遍历输出通道、输入特征图、输入通道,由于只需读取一次输入特征图,因此虽然可以做到时延最小化但耗费较大的片上存储。
2.2)硬件配置单元根据数据流组织方式设置对应的硬件框架参数配置
如图5所示,所述的硬件框架包括:作为片下部分的DRAM、片上部分以及用于数据传输的双倍速率同步动态随机存储器(DDR),其中:DRAM用于存放原始图像、权重和各层的中间数据,片上部分包括:用于组织输入数据的数据读入(Feeder)模块、用于暂存权重数据的权重缓存模块、用于计算乘加的运算单元簇(PE Cluster)模块、用于暂存输出数据的输出缓存模块、池化处理模块、用于排列和组织输出特征图数据以写回DRAM的数据综合模块。
如图6所示,本实施例中所述的PE Cluster模块中进一步设有参数可调的运算单元阵列(PE Array)作为子模块,每个运算单元阵列通过输入特征图的行(row)和卷积核(kernel)并联连接,该阵列在定制化的Feeder模块与权重缓存模块的配合下实现了卷积运算的四层循环的展开。
如图7所示,本实施例以3*3为例的PE结构,可同时完成一个尺寸为3的卷积窗口的乘加操作,即可完成卷积运算第1层循环的展开,其他尺寸的卷积本发明也可以通过配置参数完成对PE结构的更新。
如图8所示,为图6中的硬件框架在图7中定制参数的PE Cluster模块情况下的数据流。
步骤三、基于步骤二确定的硬件架构与数据流组织方式,功能函数模块对延时、资源使用、不同存储器访问次数进行评估。
所述的延时估计包括:TTOTAL=TDDR-RD-WEI+max(Tload-new-data,TPE)×Nuntil-read-all-pixels×Nrepeat-times+TPOOL+TDDR-WR,其中:TTOTAL表示一层卷积运算的总体时延,TDDR-RD-WEI表示DDR读取权重数据的时延,Tload-new-data表示DDR加载新的输入特征图数据的时延,TPE表示PE阵列中处理完Feeder组织的一批数据的时延,Tload-new-data与TPE的最大值决定了流水处理一批输入特征图数据的基本单位时延,Nuntil-read-all-pixels表示直至读取所有输入通道的所有像素点的总次数,Nrepeat-times表示需要读取整张特征图的重复次数,TPOOL表示池化运算的时延,TDDR-WR表示DDR写回输出特征图的时延。
所述的存储估计包括:使用的DSP数量、存储器的存储用量以及寄存器文件大小,具体为:
①NDSP=NUMPE×NDSP-used-in-one-pe,其中:NDSP表示片上使用的DSP数量,NUMPE表示PE阵列中PE的总数,NDSP-used-in-one-pe表示一个PE使用的DSP数量。
②MEMDRAM=(DATAinitial-pic+DATAweight+2×max(DATAoutput-feature-map))×Databits,其中:MEMDRAM表示片下动态随机存取存储器的存储大小,DATAinitial-pic表示初始待检测图像的数据量,DATAweight表示所有权重的数据量,DATAoutput-feature-map表示输出特征图的数据量,Databits表示数据位数。
③MEMSRAM=(DATAone-kernel+DATAone-output-channel)×NUMkernels-in-one-compute×Databits,其中:MEMSRAM表示片上静态随机存取存储器的存储大小,DATAone-kernel表示一个权重的数据量,DATAone-output-chanmel表示一个通道的输出特征图的数据量,NUMkernels-in-one-compute表示固定Feeder中的输入数据,同批次进行计算的权值的个数,Databits表示数据位数。
④MEMRF=(NUMFeeder+NUMcomparator+NUMCouector)×Databits,其中:MEMRF表示片上寄存器文件的存储大小,NUMFeeder表示Feeder使用的寄存器数量,NUMcomparator表示Pooling模块中的比较器数量,NUMCouector表示Collector模块使用的寄存器数量,Databits表示数据位数。
所述的资源估计包括:存储器和寄存器文件的访问次数,具体为:
Figure BDA0002064658000000051
Figure BDA0002064658000000052
其中:VDRAM表示对片外DRAM的访问次数,DATAinitial-pic表示初始待检测图像的数据量,DATAweight表示所有权重的数据量,/>
Figure BDA0002064658000000053
表示从第一层到最后一层的输出特征图数据量的累和,Databits表示数据位数,Bandwidth表示DDR带宽。
Figure BDA0002064658000000054
其中:VSRAM表示对片上静态随机存取存储器的访问次数,DATAone-output-channel表示一个通道的输出特征图的数据量,NUMRE表示PE阵列中PE的总数,InputChannels表示输入特征图通道数,DATAweight表示所有权重的数据量,Bandwidth表示表示DDR带宽。
Figure BDA0002064658000000055
Figure BDA0002064658000000056
其中:VRF表示对片上寄存器文件的访问次数,DATAinitial-pic表示初始待检测图像的数据量,/>
Figure BDA0002064658000000057
表示从第一层到最后一层的输出特征图数据量的累和,Bandwidth表示表示DDR带宽,∑DATAneed-pooling表示需要进行池化操作的数据量总和,NUMcomparator表示Pooling模块中的比较器数量,NUMCollector表示Collector模块使用的寄存器数量。
以下为在MODE3数据流组织方式下,本***对于VGG16神经网络估计得到的各层运算周期数,并根据不同的***时钟频率,给出其相应的时延。数据具体是依据上述估计策略的指导下编写的对应估计函数中迭代计算得到的。
Numbers of cycles of each layer as follows:
No.1conv:258912
No.2conv:1105728
No.3conv:549440
No.4conv:957632
No.5conv:534720
No.6conv:1018816
No.7conv:1018816
No.8conv:549344
No.9conv:1073376
No.10conv:1073376
No.11conv:371512
No.12conv:371512
No.13conv:371512
No.1fc:6422528
No.2fc:1048576
No.3fc:256063
Total:16961863
Latency of different system frequency as follows:
100MHz:169.619ms
200MHz:84.809ms
500MHz:33.924ms
如上所示:不同深度的卷积层运算周期数不尽相同,且符合各卷积层尺寸与权重的数据量大小分布规律,全连接层占用了大量的运算周期数,这是由于它巨大的权重数据量造成的。该参数可以为RTL设计者是否选择该神经网络用于指定任务与该硬件架构实现其算法提供有效的指导,也为进一步优化和加速相关数据的传输与运算提供重要参考。
以下数据是本***针对VGG16神经网络所估计的集成电路片上及片下硬件资源使用情况。具体数据是依据上述估计策略指导下而编写的对应估计函数迭代计算得到。
Hardware evaluation as follows:
off-chip DRAM:289.533MByte
on-chip SRAM:11.141MByte
RF:54144Byte
DSPs:1344
如上所示:在实施例的硬件参数设定下,本***估计使用了289.533MB的片下DRAM存储资源,11.141MB的片上SRAM存储资源和54144B的RF资源,DSP使用量为1344个。该参数可以为RTL设计者根据现有的硬件平台(FPGA)资源使用率或者ASIC设计提供资源使用量的参考。
以下为针对VGG16神经网络在上述设定的硬件配置下,对于不同等级存储器的访问数据。具体数据是依据上述估计策略指导下而编写的对应估计函数迭代计算得到。
Memory visit evaluation as follows:
DDR READ TIMES:9.216M
DDR WRITE TIMES:0.560M
DDR TATOL visit TIMES:9.776M
RAM READ TIMES:8.686M
RAM WRITE TIMES:8.687M
RAM TATOL visit TIMES:17.373M
RF READ TIMES:1.133M
RF WRITE TIMES:1.133M
RF TATOL VISIT TIMES:2.267M
如上所示:对于不同存储器的读写访问次数和总次数如上,该数据为RTL设计者对于集成电路的能耗大小预估提供了重要参考指标之一。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。

Claims (6)

1.一种针对神经网络硬件性能的评估***,其特征在于,包括:输入配置模块和功能函数模块,其中:输入配置模块中的数据流解析单元根据卷积神经网络循环展开的理论解析出待测神经网络算法的数据流组织方式,即每个卷积循环的卷积维度、循环分块和循环展开,输入配置模块中的硬件配置单元根据数据流组织方式设置对应的硬件框架参数配置,功能函数模块根据输入配置模块的输出进行时延估计、资源估计和存储估计并合并生成评估结果;
所述功能函数模块包括:时延估计单元、资源估计单元和存储估计单元,分别针对硬件架构与数据流组织方式,评估***对延时、资源使用、不同存储器访问次数进行评估;
进一步设有输出整合模块,该输出整合模块整理时延估计、资源估计和存储估计并通过交互方式选择性打印输出估计结果;
所述硬件框架参数配置是指:硬件配置单元根据数据流组织方式设置对应的硬件框架参数配置;
所述硬件框架包括:作为片上部分的DRAM、片下部分以及用于数据传输的双倍速率同步动态随机存储器,其中:DRAM用于存放原始图像、权重和各层的中间数据,片上部分包括:用于组织输入数据的Feeder模块、用于暂存权重数据的权重缓存模块、用于计算乘加的PECluster模块、用于暂存输出数据的输出缓存模块、池化处理模块、用于排列和组织输出特征图数据以写回DRAM的数据综合模块;
所述的PE Cluster模块中进一步设有参数可调的运算单元阵列作为子模块,每个运算单元阵列通过输入特征图的行和卷积核并联连接,该阵列在定制化的Feeder模块与权重缓存模块的配合下实现了卷积运算的四层循环的展开。
2.一种基于权利要求1所述***的神经网络硬件性能评估方法,其特征在于,通过配置待测神经网络的参数,通过输入配置模块进行数据流组织方式解析以及硬件框架参数配置,再通过功能函数模块对延时、资源使用、不同存储器访问次数进行评估。
3.根据权利要求2所述的方法,其特征是,所述待测神经网络的参数包括:网络层数、每层的尺寸与步长、是否有padding、是否池化、权重的尺寸与个数。
4.根据权利要求2所述的方法,其特征是,所述数据流组织方式解析,具体是指:数据流解析单元根据卷积神经网络循环展开的理论解析出待测神经网络算法的数据流组织方式,即根据卷积循环维度与硬件设计变量表得到卷积神经网络的关键参数;根据输入特征图遍历各个输入通道的不同方式以及权重窗口在一个通道的输入特征图上划窗遍历所有像素点的不同方式,对应得到三种基于循环展开的数据流组织形式。
5.根据权利要求2所述的方法,其特征是,所述功能函数模块对延时、资源使用、不同存储器访问次数进行评估包括:一层卷积运算的总体时延、使用的DSP数量、存储器的存储用量以及寄存器文件大小以及存储器和寄存器文件的访问次数。
6.根据权利要求5所述的方法,其特征是,所述一层卷积运算的总体时延TTOTAL=TDDR-RD-WEI+max(Tload-new-data,TPE)×Nuntil-read-all-pixels×Nrepeat-times+TPOOL+TDDR-WR,其中:TDDR-RD-WEI表示DDR读取权重数据的时延,Tload-new-data表示DDR加载新的输入特征图数据的时延,TPE表示PE阵列中处理完Feeder组织的一批数据的时延,Tload-new-data与TPE的最大值决定了流水处理一批输入特征图数据的基本单位时延,Nuntil-read-all-pixels表示直至读取所有输入通道的所有像素点的总次数,Nrepeat-times表示需要读取整张特征图的重复次数,TPOOL表示池化运算的时延,TDDR-WR表示DDR写回输出特征图的时延;
所述的使用的DSP数量、存储器的存储用量具体包括:
①片上使用的DSP数量NDSP=NUMPE×NDSP-used-in-one-pe,其中:NUMPE表示PE阵列中PE的总数,NDSP-used-in-one-pe表示一个PE使用的DSP数量;
②片下动态随机存取存储器的存储大小MEMDRAM=(DATAinitial-pic+DATAweight+2×max(DATAoutput-feature-map))×Databits,其中:DATAinitial-pic表示初始待检测图像的数据量,DATAweight表示所有权重的数据量,DATAoutput-feature-map表示输出特征图的数据量,Databits表示数据位数;
③片上静态随机存取存储器的存储大小MEMSRAM=(DATAone-kernel+DATAone-output-channel)×NUMkernels-in-one-compute×Databits,其中:DATAone-output-channel表示一个通道的输出特征图的数据量,NUMkernels-in-one-compute表示固定Feeder中的输入数据,同批次进行计算的权值的个数,Databits表示数据位数;
④片上寄存器文件的存储大小MEMRF=(NUMFeeder+NUMcomparator+NUMCollector)×Databits,其中:NUMFeeder表示Feeder使用的寄存器数量,NUMcomparator表示Pooling模块中的比较器数量,NUMCollector表示Collector模块使用的寄存器数量,Databits表示数据位数;
所述存储器访问估计具体包括:
i)对片外DRAM的访问次数
Figure FDA0003897110330000021
Figure FDA0003897110330000031
其中:DATAinitial-pic表示初始待检测图像的数据量,DATAweight表示所有权重的数据量,
Figure FDA0003897110330000032
表示从第一层到最后一层的输出特征图数据量的累和,Databits表示数据位数,Bandwidth表示DDR带宽;
ii)对片上静态随机存取存储器的访问次数
Figure FDA0003897110330000033
Figure FDA0003897110330000034
其中:DATAone-output-channel表示一个通道的输出特征图的数据量,NUMPE表示PE阵列中PE的总数,InputChannels表示输入特征图通道数,DATAweight表示所有权重的数据量,Bandwidth表示表示DDR带宽;
iii)对片上寄存器文件的访问次数
Figure FDA0003897110330000035
Figure FDA0003897110330000036
其中:DATAinitial-pic表示初始待检测图像的数据量,
Figure FDA0003897110330000037
表示从第一层到最后一层的输出特征图数据量的累和,Bandwidth表示表示DDR带宽,∑DATAneed-pooling表示需要进行池化操作的数据量总和,NUMcomparator表示Pooling模块中的比较器数量,NUMCollector表示Collector模块使用的寄存器数量。
CN201910416804.2A 2019-05-20 2019-05-20 针对神经网络算法在集成电路上实现性能的评估*** Active CN110135565B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910416804.2A CN110135565B (zh) 2019-05-20 2019-05-20 针对神经网络算法在集成电路上实现性能的评估***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910416804.2A CN110135565B (zh) 2019-05-20 2019-05-20 针对神经网络算法在集成电路上实现性能的评估***

Publications (2)

Publication Number Publication Date
CN110135565A CN110135565A (zh) 2019-08-16
CN110135565B true CN110135565B (zh) 2023-03-24

Family

ID=67571386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910416804.2A Active CN110135565B (zh) 2019-05-20 2019-05-20 针对神经网络算法在集成电路上实现性能的评估***

Country Status (1)

Country Link
CN (1) CN110135565B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111582433B (zh) * 2020-04-30 2022-07-15 清华大学 一种硬件友好的神经网络结构自动搜索方法及装置
CN112488305B (zh) * 2020-12-22 2023-04-18 西北工业大学 一种神经网络存储装置及其可配置管理方法
CN113570034B (zh) * 2021-06-18 2022-09-27 北京百度网讯科技有限公司 处理装置、神经网络的处理方法及其装置
CN113884857B (zh) * 2021-09-29 2024-03-08 上海阵量智能科技有限公司 芯片、芯片压力测试方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107437110A (zh) * 2017-07-11 2017-12-05 中国科学院自动化研究所 卷积神经网络的分块卷积优化方法及装置
CN108596331A (zh) * 2018-04-16 2018-09-28 浙江大学 一种细胞神经网络硬件架构的优化方法
CN109416928A (zh) * 2016-06-07 2019-03-01 伊路米纳有限公司 用于进行二级和/或三级处理的生物信息学***、设备和方法
CN109549821A (zh) * 2018-12-30 2019-04-02 南京航空航天大学 基于肌电信号和惯导信号融合的外骨骼机器人助力控制***及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109416928A (zh) * 2016-06-07 2019-03-01 伊路米纳有限公司 用于进行二级和/或三级处理的生物信息学***、设备和方法
CN107437110A (zh) * 2017-07-11 2017-12-05 中国科学院自动化研究所 卷积神经网络的分块卷积优化方法及装置
CN108596331A (zh) * 2018-04-16 2018-09-28 浙江大学 一种细胞神经网络硬件架构的优化方法
CN109549821A (zh) * 2018-12-30 2019-04-02 南京航空航天大学 基于肌电信号和惯导信号融合的外骨骼机器人助力控制***及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《基于FPGA的BP神经网络硬件实现及改进》;杨景明等;《计算机工程与设计》;20180630;第39卷(第6期);1733-1738 *

Also Published As

Publication number Publication date
CN110135565A (zh) 2019-08-16

Similar Documents

Publication Publication Date Title
CN110135565B (zh) 针对神经网络算法在集成电路上实现性能的评估***
Zohouri et al. Combined spatial and temporal blocking for high-performance stencil computation on FPGAs using OpenCL
US11494622B2 (en) Method and apparatus for implementing a deep neural network performing an activation function
CN108564168B (zh) 一种对支持多精度卷积神经网络处理器的设计方法
CN103336758B (zh) 一种采用带有局部信息的压缩稀疏行的稀疏矩阵存储方法及基于该方法的SpMV实现方法
JP7279064B2 (ja) テンソルデータ用のメモリ構成
US20200410327A1 (en) Schedule-Aware Tensor Distribution Module
Piccolboni et al. COSMOS: Coordination of high-level synthesis and memory optimization for hardware accelerators
CN111667051A (zh) 适用边缘设备的神经网络加速器及神经网络加速计算方法
CN109472361B (zh) 神经网络优化方法
WO2020076392A1 (en) Modifying machine learning models to improve locality
CN110175670B (zh) 一种基于FPGA实现YOLOv2检测网络的方法及***
US9727681B2 (en) Generating specific memory models using generic memory models for designing memories in VLSI design
CN113361695A (zh) 卷积神经网络加速器
CN113539318B (zh) 基于磁性缓存的存内计算电路芯片和计算装置
CN116720549A (zh) 一种基于cnn输入全缓存的fpga多核二维卷积加速优化方法
Jang et al. Energy-efficient matrix multiplication on FPGAs
US11663454B2 (en) Digital integrated circuit with embedded memory for neural network inferring
US20220188613A1 (en) Sgcnax: a scalable graph convolutional neural network accelerator with workload balancing
Oh et al. Convolutional neural network accelerator with reconfigurable dataflow
US20130332142A1 (en) Methods and appartus for performing power estimation in circuits
Christensen et al. A configurable and versatile architecture for low power, energy efficient hardware acceleration of convolutional neural networks
Plagwitz et al. To Spike or Not to Spike? A Quantitative Comparison of SNN and CNN FPGA Implementations
Seo et al. Latency-insensitive controller for convolutional neural network accelerators
Rejive Accelerating Sparse CNNs on FPGAs

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