[发明专利]一种基于多块FPGA协同处理的神经网络加速方法在审
| 申请号: | 201910044478.7 | 申请日: | 2019-01-17 |
| 公开(公告)号: | CN109767002A | 公开(公告)日: | 2019-05-17 |
| 发明(设计)人: | 秦刚;姜凯;于治楼 | 申请(专利权)人: | 济南浪潮高新科技投资发展有限公司 |
| 主分类号: | G06N3/063 | 分类号: | G06N3/063;G06F15/78 |
| 代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 孙晶伟 |
| 地址: | 250100 山东省济南市*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 流水级数 神经网络 参数分解 网络模型 协同处理 芯片 加速板 多块 神经网络模型 神经网络优化 层次分解 延迟要求 复杂度 吞吐量 互联 | ||
1.一种基于多块FPGA协同处理的神经网络加速方法,其特征是建立神经网络加速板卡,加速板卡上设置SOC芯片和FPGA,SOC芯片上包含ZYNQ芯片,ZYNQ芯片与每个FPGA互联,
ZYNQ芯片根据神经网络的网络模型的复杂度、延迟要求和吞吐量的需求,将网络模型的参数按照层次分解,并根据参数分解的层次划分FPGA的流水级数,按照参数分解的层次下发参数到相应流水级数的FPGA,根据神经网络模型控制每一流水级数启动的FPGA,直至流水级数为最后一级的FPGA处理数据完成,具体步骤为:
ZYNQ芯片根据神经网络的网络模型的复杂度、延迟要求和吞吐量的需求,判断实现网络模型以及实现神经网络是吞吐量优先还是延迟优先,
ZYNQ芯片根据优先级将网络模型的参数按照层次分解,并根据参数分解的层次划分FPGA的流水级数,按照参数分解的层次下发参数到相应流水级数的FPGA,
ZYNQ芯片将待处理的数据发送到流水级数为第一级的FPGA中,第一级的FPGA进行神经网络某一层或几层的计算处理,处理之后将第一级FPGA处理结果发送到第二级FPGA,第二级FPGA进行神经网络某一层或几层的计算处理,直至流水级数为最后一级的FPGA处理数据完成。
2.根据权利要求1所述的方法,其特征是ZYNQ芯片根据参数分解的层次划分FPGA的流水级数,并且每一流水级数不止一个FPGA。
3.根据权利要求1或2所述的方法,其特征是每一流水级数的每个FPGA只实现整个神经网络的部分层的计算处理。
4.根据权利要求1所述的方法,其特征是网络模型的参数分解的层次小于设定值时,每一块FPGA只进行神经网络一层的计算处理,使吞吐量最大化。
5.一种基于多块FPGA协同处理的神经网络加速器,其特征是包括神经网络加速板卡,加速板卡上设置SOC芯片和FPGA,SOC芯片上包含ZYNQ芯片,ZYNQ芯片与每个FPGA互联,
ZYNQ芯片根据神经网络的网络模型的复杂度、延迟要求和吞吐量的需求,将网络模型的参数按照层次分解,并根据参数分解的层次划分FPGA的流水级数,按照参数分解的层次下发参数到相应流水级数的FPGA,根据神经网络模型控制每一流水级数启动的FPGA,直至流水级数为最后一级的FPGA处理数据完成,其中ZYNQ芯片根据神经网络的网络模型的复杂度、延迟要求和吞吐量的需求,判断实现网络模型以及实现神经网络是吞吐量优先还是延迟优先,
ZYNQ芯片根据优先级将网络模型的参数按照层次分解,并根据参数分解的层次划分FPGA的流水级数,按照参数分解的层次下发参数到相应流水级数的FPGA,
ZYNQ芯片将待处理的数据发送到流水级数为第一级的FPGA中,第一级的FPGA进行神经网络某一层或几层的计算处理,处理之后将第一级FPGA处理结果发送到第二级FPGA,第二级FPGA进行神经网络某一层或几层的计算处理,直至流水级数为最后一级的FPGA处理数据完成。
6.根据权利要求5所述的加速器,其特征是神经网络加速板卡上的ZYNQ芯片根据参数分解的层次划分FPGA的流水级数,并且每一流水级数不止一个FPGA。
7.根据权利要求5或6所述的加速器,其特征是通过高速网口进行神经网络加速板卡间板级互联,所述的加速器能处理更大规模的神经网络。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于济南浪潮高新科技投资发展有限公司,未经济南浪潮高新科技投资发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910044478.7/1.html,转载请声明来源钻瓜专利网。





