一种深度学习模型的FPGA加速执行方法及相关装置制造方法及图纸

技术编号:25834550 阅读:32 留言:0更新日期:2020-10-02 14:15
本申请公开了一种深度学习模型的FPGA加速执行方法,包括:FPGA云服务器根据模型计算量和FPGA板卡计算量对待执行的深度学习模型进行拆分处理,得到深度学习模型中所有卷积核的拆分配置数据;根据拆分配置数据将深度学习模型中的卷积核部署至对应的FPGA板卡,得到多个待执行FPGA板卡;控制多个待执行FPGA板卡执行深度学习模型计算操作。通过将深度学习模型中的所有卷积核拆分至对应的FPGA板卡中进行计算操作,实现将模型拆分计算,而不是在少数几个FPGA板卡中加载过多的计算功能,避免产生硬件浪费,提高硬件性能的利用率。本申请还公开了一种深度学习模型的FPGA加速执行装置、服务器以及计算机可读存储介质,具有以上有益效果。

【技术实现步骤摘要】
一种深度学习模型的FPGA加速执行方法及相关装置
本申请涉及计算机
,特别涉及一种深度学习模型的FPGA加速执行方法、FPGA加速执行装置、服务器以及计算机可读存储介质。
技术介绍
随着信息技术的不断发展,在机器学习的领域中的计算量和数据量越来越大,现有的硬件基础无法提供更好的计算性能和数据传输效率。因此,现有硬件中采用FPGA(Field-ProgrammableGateArray现场可编程门阵列)和GPU(GraphicsProcessingUnit图形处理器)等硬件对机器学习模型的学习过程进行加速处理。同时,FPGA处理能力也不断增强,越来越多的数据中心开始使用FPGA进行加速。为了管理这些数量和种类越来越多的FPGA加速卡,FPGA云平台应用而生,在云平台的管理下,将复杂的计算任务分配给FPGA资源池中的某一个或者某几个FPGA中进行加速,加速卡之间通过10G甚至100G以太网进行高速传输。可见,现有技术中,可以通过FPGA云将复杂的机器学习训练任务分配至一个或多个FPGA进行加速,并且在不同的FPGA之间通过高速以太网进行数据传输。但是,在分配机器学习模型是分配到单个FPGA中,使得单个FPGA实现的功能过多,会出现一些内核在进行计算,而其他的内核在空闲,导致资源浪费,硬件性能利用率下降。因此,如何避免硬件资源浪费,提高硬件性能利用率是本领域技术人员关注的重点问题。
技术实现思路
本申请的目的是提供一种深度学习模型的FPGA加速执行方法、深度学习模型的FPGA加速执行装置、服务器以及计算机可读存储介质,通过将深度学习模型中的所有卷积核拆分至对应的FPGA板卡中进行计算操作,实现将模型拆分计算,而不是在少数几个FPGA板卡中加载过多的计算功能,避免产生硬件浪费,提高硬件性能的利用率。为解决上述技术问题,本申请提供一种深度学习模型的FPGA加速执行方法,包括:FPGA云服务器根据模型计算量和FPGA板卡计算量对待执行的深度学习模型进行拆分处理,得到所述深度学习模型中所有卷积核的拆分配置数据;根据所述拆分配置数据将所述深度学习模型中的卷积核部署至对应的FPGA板卡,得到多个待执行FPGA板卡;控制所述多个待执行FPGA板卡执行深度学习模型计算操作。可选的,还包括:当进行拆分处理之前,设置对应的最低吞吐量。可选的,FPGA云服务器根据模型计算量和FPGA板卡计算量对待执行的深度学习模型进行拆分处理,得到所述深度学习模型中所有卷积核的拆分配置数据,包括:所述FPGA云服务器根据模型文件中层参数计算每一层的计算量;将所有层的计算量相加,得到所述模型计算量;将所述模型计算量乘以最低吞吐量得到总计算量,将所述总计算量除以所述FPGA板卡计算量,得到板卡数量;按照预设数据量单位和所述板卡数量将所述深度学习模型中的所有卷积核与所述板卡数量的多个FPGA板卡建立对应关系,将所述对应关系作为所述拆分配置数据。可选的,按照预设数据量单位和所述板卡数量将所述深度学习模型中的所有卷积核与所述板卡数量的多个FPGA板卡建立对应关系,将所述对应关系作为所述拆分配置数据,包括:根据所述板卡数量进行计算时长计算,得到计算时间和传输时间;当所述计算时间大于所述传输时间时,按照预设数据量单位和所述板卡数量将所述深度学习模型中的所有卷积核与所述板卡数量的多个FPGA板卡建立对应关系,将所述对应关系作为所述拆分配置数据;当所述计算时间小于等于所述传输时间时,将所述深度学习模型中的所有卷积核与单个FPGA板卡建立对应关系,将所述对应关系作为拆分配置数据。可选的,控制所述多个待执行FPGA板卡执行深度学习模型计算操作,包括:在所述多个待执行FPGA板卡之间建立可靠通信机制;其中,所述可靠通信机制包括数据校验机制、流量控制机制、丢包重传机制以及超时重传机制;通过所述可靠通信机制控制所述多个待执行FPGA板卡执行深度学习模型计算操作。可选的,还包括:当所述深度学习网络计算操作执行完成时,将执行得到的结果发送至主机端,以便将所述结果进行显示输出。本申请还提供一种深度学习模型的FPGA加速执行装置,包括:模型拆分配置模块,用于根据模型计算量和FPGA板卡计算量对待执行的深度学习模型进行拆分处理,得到所述深度学习模型中所有卷积核的拆分配置数据;模型拆分部署模块,用于根据所述拆分配置数据将所述深度学习模型中的卷积核部署至对应的FPGA板卡,得到多个待执行FPGA板卡;深度学习计算模块,用于控制所述多个待执行FPGA板卡执行深度学习模型计算操作。可选的,所述深度学习计算模块,包括:可靠机制建立单元,用于在所述多个待执行FPGA板卡之间建立可靠通信机制;其中,所述可靠通信机制包括数据校验机制、流量控制机制、丢包重传机制以及超时重传机制;计算操作执行单元,用于通过所述可靠通信机制控制所述多个待执行FPGA板卡执行深度学习模型计算操作。本申请还提供一种服务器,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上所述的深度学习模型的FPGA加速执行方法的步骤。本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的深度学习模型的FPGA加速执行方法的步骤。本申请所提供的一种深度学习模型的FPGA加速执行方法,包括:FPGA云服务器根据模型计算量和FPGA板卡计算量对待执行的深度学习模型进行拆分处理,得到所述深度学习模型中所有卷积核的拆分配置数据;根据所述拆分配置数据将所述深度学习模型中的卷积核部署至对应的FPGA板卡,得到多个待执行FPGA板卡;控制所述多个待执行FPGA板卡执行深度学习模型计算操作。通过模型计算量和FPGA板卡计算量对待执行的深度学习模型进行拆分处理,得到所述深度学习模型中所有卷积核的拆分配置数据,也就是确定所有卷积核与对应FPGA板卡的关系,然后根据所述拆分配置数据将所述深度学习模型中的卷积核部署至对应的FPGA板卡,得到多个待执行FPGA板卡,实现将所有卷积拆分至对应的待执行FPGA板卡,最后执行深度学习模型计算操作,实现将模型拆分计算,而不是在少数几个FPGA板卡中加载过多的计算功能,避免产生硬件浪费,提高硬件性能的利用率。本申请还提供一种深度学习模型的FPGA加速执行装置、服务器以及计算机可读存储介质,具有以上有益效果,在此不做赘述。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请实施例所提供的一种深度学习模型的FPGA加速执行方法的流程图;图2为本申请本文档来自技高网...

【技术保护点】
1.一种深度学习模型的FPGA加速执行方法,其特征在于,包括:/nFPGA云服务器根据模型计算量和FPGA板卡计算量对待执行的深度学习模型进行拆分处理,得到所述深度学习模型中所有卷积核的拆分配置数据;/n根据所述拆分配置数据将所述深度学习模型中的卷积核部署至对应的FPGA板卡,得到多个待执行FPGA板卡;/n控制所述多个待执行FPGA板卡执行深度学习模型计算操作。/n

【技术特征摘要】
1.一种深度学习模型的FPGA加速执行方法,其特征在于,包括:
FPGA云服务器根据模型计算量和FPGA板卡计算量对待执行的深度学习模型进行拆分处理,得到所述深度学习模型中所有卷积核的拆分配置数据;
根据所述拆分配置数据将所述深度学习模型中的卷积核部署至对应的FPGA板卡,得到多个待执行FPGA板卡;
控制所述多个待执行FPGA板卡执行深度学习模型计算操作。


2.根据权利要求1所述的深度学习模型的FPGA加速执行方法,其特征在于,还包括:
当进行拆分处理之前,设置对应的最低吞吐量。


3.根据权利要求2所述的深度学习模型的FPGA加速执行方法,其特征在于,FPGA云服务器根据模型计算量和FPGA板卡计算量对待执行的深度学习模型进行拆分处理,得到所述深度学习模型中所有卷积核的拆分配置数据,包括:
所述FPGA云服务器根据模型文件中层参数计算每一层的计算量;
将所有层的计算量相加,得到所述模型计算量;
将所述模型计算量乘以最低吞吐量得到总计算量,将所述总计算量除以所述FPGA板卡计算量,得到板卡数量;
按照预设数据量单位和所述板卡数量将所述深度学习模型中的所有卷积核与所述板卡数量的多个FPGA板卡建立对应关系,将所述对应关系作为所述拆分配置数据。


4.根据权利要求3所述的深度学习模型的FPGA加速执行方法,其特征在于,按照预设数据量单位和所述板卡数量将所述深度学习模型中的所有卷积核与所述板卡数量的多个FPGA板卡建立对应关系,将所述对应关系作为所述拆分配置数据,包括:
根据所述板卡数量进行计算时长计算,得到计算时间和传输时间;
当所述计算时间大于所述传输时间时,按照预设数据量单位和所述板卡数量将所述深度学习模型中的所有卷积核与所述板卡数量的多个FPGA板卡建立对应关系,将所述对应关系作为所述拆分配置数据;
当所述计算时间小于等于所述传输时间时,将所述深度学习模型中的所有卷积核与单个FPGA板卡建立对应关系,将所述对应关系作为拆分配置数据。


5.根据权利...

【专利技术属性】
技术研发人员:赵谦谦阚宏伟朱克峰
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

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

1