【技术实现步骤摘要】
基于FPGA的数据高度复用的神经网络加速器
本专利技术涉及的是一种人工智能领域的技术,具体是一种基于FPGA的数据高度复用的神经网络加速器。
技术介绍
当前神经网络的模型越来越大,对运算性能和访存带宽需求越来越大,同时神经网络的应用会对其延时,能耗等提出不同的要求。已有的神经网络运算平台(CPU,GPU,传统神经网络加速器)已无法满足用户要求,其中FPGA(现场可编程门阵列)可作为一种配置灵活,设计灵活,研发成本低,并行度高,低功耗并且性价比高的深度卷积神经网络硬件加速器。但如何在FPGA上很好地利用有限的资源结合深度卷积神经网络的并行性与流水性是一个仍待解决的问题。现有技术通过流水化加速系统在FPGA上高效并行流水化实现,在一定程度上降低系统功耗并提高运算处理速度。但针对参数量更大更深的网络模型采用已有的流水化加速系统很难进一步提升处理性能,尤其在对输入特征图数据的多次读入,会增加功耗和延时,在特征图尺寸大于32×32×32时影响尤其明显。
技术实现思路
本专利技术针对现有技术存在的上述 ...
【技术保护点】
1.一种基于FPGA的数据高度复用的神经网络加速器,其特征在于,包括:用于控制片上与片外存储的通信和数据传递的DDR控制模块、用于排列输入的特征图与权重的输入数据匹配模块、密集计算单元模块、用于将计算后的输出数据按照下一层输入所需要的顺序排列的数据整理模块和全连接层模块,以及与数据整理模块相连的输出特征图缓存器、与输入数据匹配模块相连的权重缓存器和输入特征图缓存器,其中:DDR控制模块从片外存储接收权重数据并在本神经网络加速器进行第一层卷积计算时接收原始图片、进行其他层卷积计算时接收处理后的特征图数据,将权重数据和特征图数据输出至输入数据匹配模块,或将权重数据输出至全连接模 ...
【技术特征摘要】
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所述的神经网络加速器,其特征是,所述的密集计算单...
【专利技术属性】
技术研发人员:惠兰清,曹姗,邓巍,徐树公,张舜卿,
申请(专利权)人:上海大学,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。