一种基于FPGA云的计算优化方法、系统、存储介质及设备技术方案

技术编号:28034364 阅读:30 留言:0更新日期:2021-04-09 23:16
本发明专利技术提供了一种基于FPGA云的计算优化方法、系统、存储介质及设备,方法包括以下步骤:将待进行计算处理的神经网络拆分为主算子和多个副算子,其中,主算子的计算量分别大于各副算子的计算量;将主算子和各副算子分别烧写到各自的FPGA卡中,以得到主FPGA卡和多个副FPGA卡;将待处理数据分别发送到主FPGA卡和多个副FPGA卡中进行计算处理;响应于各副FPGA卡完成计算处理并获知主FPGA卡未完成计算处理,将各副FPGA卡的计算结果移交到主FPGA卡进行统一处理,并确认主FPGA卡是否处理完成;响应于主FPGA卡处理完成,将处理结果上传到主机。本发明专利技术节省了现有技术中计算结果进行数据交互的时间,提高了资源池中FPGA卡的利用率,提高了计算效率。

【技术实现步骤摘要】
一种基于FPGA云的计算优化方法、系统、存储介质及设备
本专利技术涉及FPGA云
,尤其涉及一种基于FPGA云的计算优化方法、系统、存储介质及设备。
技术介绍
随着FPGA云在数据中心的广泛部署,FPGA加速应用场景也越来越广泛。在当前已公布的FPGA云平台(如华为云、阿里云等)中,FPGA加速卡作为服务器节点的协处理器,处理主机下发的加速请求,在此网络拓扑下,云上的加速应用通过服务器软件完成统一管理,完成分布式处理,FPGA加速卡只处理当前主机下发的加速请求。图1示出了现有技术中FPGA云平台系统中的应用加速流程,如图1所示,主机1把待加速数据通过PCIe接口发给本地FPGA1加速卡的DDR,完成加速数据存储后主机触发FPGA1的kernel(FPGA内的动态加速应用)开始加速处理,kernel接到请求后从DDR读取数据并开始加速处理(量子计算,AI计算等),完成加速处理后把加速结果存回DDR,再通知主机读取DDR中的数据,完成此次应用的加速处理,同理,主机2进行相同的操作完成主机2上应用数据的加速。在大型加速应用中,由于需要加本文档来自技高网...

【技术保护点】
1.一种基于FPGA云的计算优化方法,其特征在于,包括以下步骤:/n将待进行计算处理的神经网络拆分为主算子和多个副算子,其中,所述主算子的计算量分别大于各副算子的计算量;/n将所述主算子和各副算子分别烧写到各自的FPGA卡中,以得到主FPGA卡和多个副FPGA卡;/n将待处理数据分别发送到所述主FPGA卡和多个副FPGA卡中进行计算处理;/n响应于各副FPGA卡完成计算处理并获知所述主FPGA卡未完成计算处理,将各副FPGA卡的计算结果移交到所述主FPGA卡进行统一处理,并确认所述主FPGA卡是否处理完成;/n响应于所述主FPGA卡处理完成,将处理结果上传到主机。/n

【技术特征摘要】
1.一种基于FPGA云的计算优化方法,其特征在于,包括以下步骤:
将待进行计算处理的神经网络拆分为主算子和多个副算子,其中,所述主算子的计算量分别大于各副算子的计算量;
将所述主算子和各副算子分别烧写到各自的FPGA卡中,以得到主FPGA卡和多个副FPGA卡;
将待处理数据分别发送到所述主FPGA卡和多个副FPGA卡中进行计算处理;
响应于各副FPGA卡完成计算处理并获知所述主FPGA卡未完成计算处理,将各副FPGA卡的计算结果移交到所述主FPGA卡进行统一处理,并确认所述主FPGA卡是否处理完成;
响应于所述主FPGA卡处理完成,将处理结果上传到主机。


2.根据权利要求1所述的方法,其特征在于,将待进行计算处理的神经网络拆分为主算子和多个副算子包括:
分析所述神经网络各层的计算能力以及多个FPGA卡之间的数据传输效率,并基于分析结果将待进行计算处理的神经网络拆分为主算子和多个副算子。


3.根据权利要求1所述的方法,其特征在于,将所述主算子和各副算子分别烧写到各自的FPGA卡中包括:
将所述主算子和各副算子分别烧写到各自的FPGA卡的Kernel单元。


4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
得到所述主FPGA卡和多个副FPGA卡后,分别对所述主FPGA卡和多个副FPGA卡进行初始化配置。


5.根据权利要求1所述的方法,其特征在于,所述主FPGA卡和各副FPGA卡之间通过报文交换进行通信以获知彼此的计算状况。


6.根据权利要求3所述的方法,其特征在于,将各副FPGA卡的计算结...

【专利技术属性】
技术研发人员:王江为阚宏伟郝锐杨乐
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1