一种基于FPGA的神经网络计算器生成方法及装置制造方法及图纸

技术编号:23853882 阅读:50 留言:0更新日期:2020-04-18 10:03
本发明专利技术公开了一种基于FPGA的神经网络计算器生成方法及装置,方法包括:确定神经网络中各网络层的依赖关系;对各网络层进行分组,每个分组中的网络层的依赖关系均相同,并确定每个分组需要的阵列块大小;依据各分组中的网络层的依赖关系和各分组需要的阵列块大小部署部署FPGA以得到所述神经网络的计算器。通过分析神经网络的依赖关系,将互不依赖(即依赖关系均相同)的网络层划为一分组,以在为其分配的阵列块中能实现并行计算,有效缩短关键路径长度,提升计算效率。另外根据依赖关系在FPGA上布局各分组需要的阵列块的位置,可以减少阵列间的数据交换,进一步提升计算效率。

A generating method and device of neural network calculator based on FPGA

【技术实现步骤摘要】
一种基于FPGA的神经网络计算器生成方法及装置
本专利技术涉及脉动阵列应用
,具体涉及一种基于FPGA的神经网络计算器生成方法及装置。
技术介绍
神经网络是在深度学习应用中常用的计算结构,这种计算结构的实现是在使用脉动阵列计算架构的FPGA上实现的。而使FPGA上的脉动阵列架构可以快速准确地进行大规模神经网络计算,是具有挑战性的设计问题,这需要考虑计算和通信两方面因素。在现有技术中,为神经网络设计的计算架构包括的多块阵列中,通常存在阵列需串行计算的问题,导致关键路径长度较长,计算架构的计算效率较低,进而降低了脉动阵列架构的使用效率。
技术实现思路
本专利技术的目的是针对上述现有技术的不足提出的一种基于FPGA的神经网络计算器生成方法及装置,该目的是通过以下技术方案实现的。本专利技术的第一方面提出了一种基于FPGA的神经网络计算器生成方法,所述方法包括:确定神经网络中各网络层的依赖关系;对各网络层进行分组,每个分组中的网络层的依赖关系均相同,并确定每个分组需要的阵列块大小;依据各分本文档来自技高网...

【技术保护点】
1.一种基于FPGA的神经网络计算器生成方法,其特征在于,所述方法包括:/n确定神经网络中各网络层的依赖关系;/n对各网络层进行分组,每个分组中的网络层的依赖关系均相同,并确定每个分组需要的阵列块大小;/n依据各分组中的网络层的依赖关系和各分组需要的阵列块大小部署FPGA以得到所述神经网络的计算器。/n

【技术特征摘要】
1.一种基于FPGA的神经网络计算器生成方法,其特征在于,所述方法包括:
确定神经网络中各网络层的依赖关系;
对各网络层进行分组,每个分组中的网络层的依赖关系均相同,并确定每个分组需要的阵列块大小;
依据各分组中的网络层的依赖关系和各分组需要的阵列块大小部署FPGA以得到所述神经网络的计算器。


2.根据权利要求1所述的方法,其特征在于,确定神经网络中各网络层的依赖关系,包括:
依据所述神经网络中各网络层之间的数据传递关系确定各网络层的依赖关系。


3.根据权利要求1所述的方法,其特征在于,确定每个分组需要的阵列块大小,包括:
针对每个分组,确定该分组中的网络层需要的计算资源数量;
依据该分组需要的计算资源数量确定需要的阵列块大小。


4.根据权利要求3所述的方法,其特征在于,确定该分组中的网络层需要的计算资源数量,包括:
从所述神经网络中获取该分组中各网络层包含的网络参数;
依据各网络层包含的网络参数确定需要的计算资源数量。


5.根据权利要求1-4任一项所述的方法,其特征在于,每个分组需要的阵列块大小指的是阵列块需要包含的处理单元PE数量。


6.一种基于FP...

【专利技术属性】
技术研发人员:罗国杰戴拓章嘉玺张文泰
申请(专利权)人:浙江省北大信息技术高等研究院杭州未名信科科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1