一种FPGA异构加速计算装置及系统制造方法及图纸

技术编号:14945392 阅读:126 留言:0更新日期:2017-04-01 11:49
本发明专利技术公开了一种FPGA异构加速计算装置及系统,该装置包括FPGA芯片及通信接口,FPGA芯片包括用于实现SVD算法的SVD计算电路;其中:通信接口,用于与主机连接并与主机进行数据通信;FPGA芯片,用于获取主机通过通信接口发送的待计算数据,并利用SVD计算电路对待计算数据进行计算得到对应计算结果后,将计算结果通过通信接口返回至主机。本发明专利技术基于FPGA芯片实现与SVD算法对应的SVD计算,也即实现基于FPGA异构计算平台的SVD计算,而FPGA异构计算平台具有高速计算的特性,因此,基于该平台实现SVD计算能够大大增加SVD计算的速度,进而提高SVD计算的计算性能,以满足日益增长的数据处理需求。

【技术实现步骤摘要】

本专利技术涉及大数据计算
,更具体地说,涉及一种FPGA异构加速计算装置及系统
技术介绍
Spark是UCBerkeleyAMPlab所开源的类HadoopMapReduce的通用并行框架,能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法,可用来构建大型的、低延迟的数据分析应用程序。其中,MLlib是Spark的机器学习库,奇异值分解(SingularValueDecomposition,SVD)算法是大数据处理中的机器学习库中重要矩阵分解算法,但是专利技术人发现,目前基于Spark实现SVD算法时计算速度较慢,其计算性能无法满足日益增长的数据处理需求。综上所述,现有技术中基于Spark实现SVD算法时其计算性能无法满足日益增长的数据处理需求,是本领域技术人员目前需要解决的技术问题。
技术实现思路
本专利技术的目的是提供一种FPGA异构加速计算装置及系统,以解决现有技术中基于Spark实现SVD算法时其计算性能无法满足日益增长的数据处理需求的问题。为了实现上述目的,本专利技术提供如下技术方案:一种FPGA异构加速计算装置,包括FPGA芯片及通信接口,所述FPGA芯片包括用于实现SVD算法的SVD计算电路;其中:所述通信接口,用于与主机连接并与所述主机进行数据通信;所述FPGA芯片,用于获取所述主机通过所述通信接口发送的待计算数据,并利用所述SVD计算电路对所述待计算数据进行计算得到对应计算结果后,将所述计算结果通过所述通信接口返回至所述主机。优选的,所述FPGA异构加速计算装置具体为扩展板卡。优选的,所述通信接口具体为PCIe接口。优选的,还包括存储器,所述存储器用于存储所述待计算数据供所述FPGA芯片获取,以及用于存储所述计算结果供所述主机获取。优选的,所述存储器具体为DDR存储器。一种FPGA异构加速计算系统,包括主机及如上述任一项所述的FPGA异构加速计算装置,所述FPGA异构加速计算装置通过其包括的通信接口与所述主机连接。优选的,所述主机包括数据处理服务器,所述数据处理服务器用于将其计算要求大于预设要求的待计算数据发送至所述FPGA异构加速计算装置。本专利技术提供了一种FPGA异构加速计算装置及系统,该装置包括FPGA芯片及通信接口,所述FPGA芯片包括用于实现SVD算法的SVD计算电路;其中:所述通信接口,用于与主机连接并与所述主机进行数据通信;所述FPGA芯片,用于获取所述主机通过所述通信接口发送的待计算数据,并利用所述SVD计算电路对所述待计算数据进行计算得到对应计算结果后,将所述计算结果通过所述通信接口返回至所述主机。本专利技术实施例公开的一种FPGA异构加速计算装置中FPGA芯片包括实现SVD算法的SVD计算电路,由此,能够由该装置中的FPGA芯片对主机通过通信接口发送的待计算数据进行计算并返回计算结果。与现有技术相比,本专利技术基于FPGA芯片实现与SVD算法对应的SVD计算,也即实现基于FPGA异构计算平台的SVD计算,而FPGA异构计算平台具有高速计算的特性,因此,基于该平台实现SVD计算能够大大增加SVD计算的速度,进而提高SVD计算的计算性能,以满足日益增长的数据处理需求。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例提供的一种FPGA异构加速计算装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1,其示出了本专利技术实施例提供的一种FPGA异构加速计算装置的结构示意图,可以包括FPGA芯片12及通信接口11,FPGA芯片12包括用于实现SVD算法的SVD计算电路;其中:通信接口11,用于与主机连接并与主机进行数据通信;FPGA芯片12,用于获取主机通过通信接口11发送的待计算数据,并利用SVD计算电路对待计算数据进行计算得到对应计算结果后,将计算结果通过通信接口11返回至主机。大数据场景下SVD算法主要包括格拉姆矩阵与向量乘操作模块、对称矩阵特征值求解模块及迭代控制模块等,其中格拉姆矩阵与向量乘操作模块采用向量求和点积操作、矩阵向量乘加操作和多向量求和操作作为主要操作子模块;而SVD计算电路即为用于实现SVD算法的电路,可以采用现有技术中任一对应技术方案实现,在此不做具体限定。FPGA(现场可编程门阵列)芯片中设置有SVD计算电路,由此,FPGA芯片可以利用该SVD计算电路实现对应的SVD计算。具体来说,主机将待计算数据通过通信接口发送至FPGA芯片,FPGA芯片利用SVD计算电路对该待计算数据进行SVD计算后,将所得的计算结果通过通信结果返回主机,从而实现待计算数据的SVD计算。本专利技术实施例公开的一种FPGA异构加速计算装置中FPGA芯片包括实现SVD算法的SVD计算电路,由此,能够由该装置中的FPGA芯片对主机通过通信接口发送的待计算数据进行计算并返回计算结果。与现有技术相比,本专利技术基于FPGA芯片实现SVD计算,也即实现基于FPGA异构计算平台的SVD计算,而FPGA异构计算平台具有高速计算的特性,因此,基于该平台实现SVD计算能够大大增加SVD计算的速度,进而提高SVD计算的计算性能,以满足日益增长的数据处理需求,提供实时性更优的大数据处理服务。本专利技术实施例提供的一种FPGA异构加速计算装置,FPGA异构加速计算装置具体可以为扩展板卡。本申请中将FPGA异构加速计算装置设置成基于FPGA的主机扩展板卡设计,便于在需要该装置时使其快速实现与主机的连接,当然也便于在不需要该装置时使其快速实现与主机的断开,大大提高了其便利性。本专利技术实施例提供的一种FPGA异构加速计算装置,通信接口具体可以为PCIe接口。本申请中通信接口可以采用PCIe(PCIExpress)接口实现,PCIe接口采用点对点串行连接,可以把数据传输率提高到一个很高的频率,达到高带宽。对应上述硬件接口,本专利技术实施例中实现对FPGA异构加速计算装置中SVD算法的调用是基于软件接口实现的,主机可以通过该软件接口实现SVD算法的调用,且该软件接口对上层透明,使得用户无需关心底层实现。本专利技术实施例提供的一种FPGA异构加速计算装置,还可以包括存储器,存储器用于存储待计算数据供FPGA芯片获取,以及用于存储计算结果供主机获取。具体来说,如果待计算数据多于SVD计算电路所能计算的数据量,则将待计算数据存储至存储器中,FPGA芯片每次均由存储器中取出与SVD计算电路所能计算的数据量对应的待计算数据进行计算,并将每次计算所得计算结果存储至存储器中,直至全部待计算数据被计算完毕后,将所得的全部计算结果发送至主机,或者由主机进行主动获取等,均在本专利技术的保护范围之内。本专利技术实施例提供的一种FPGA异构加速计算装置,存储器具体可以为DDR存储器。存本文档来自技高网...
一种FPGA异构加速计算装置及系统

【技术保护点】
一种FPGA异构加速计算装置,其特征在于,包括FPGA芯片及通信接口,所述FPGA芯片包括用于实现SVD算法的SVD计算电路;其中:所述通信接口,用于与主机连接并与所述主机进行数据通信;所述FPGA芯片,用于获取所述主机通过所述通信接口发送的待计算数据,并利用所述SVD计算电路对所述待计算数据进行计算得到对应计算结果后,将所述计算结果通过所述通信接口返回至所述主机。

【技术特征摘要】
1.一种FPGA异构加速计算装置,其特征在于,包括FPGA芯片及通信接口,所述FPGA芯片包括用于实现SVD算法的SVD计算电路;其中:所述通信接口,用于与主机连接并与所述主机进行数据通信;所述FPGA芯片,用于获取所述主机通过所述通信接口发送的待计算数据,并利用所述SVD计算电路对所述待计算数据进行计算得到对应计算结果后,将所述计算结果通过所述通信接口返回至所述主机。2.根据权利要求1所述的装置,其特征在于,所述FPGA异构加速计算装置具体为扩展板卡。3.根据权利要求2所述的装置,其特征在于,所述通信接口具体为PCIe接口。4.根据权利要...

【专利技术属性】
技术研发人员:王洪伟
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南;41

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

1