一种奇异值分解运算的加速方法、装置及系统制造方法及图纸

技术编号:16873429 阅读:21 留言:0更新日期:2017-12-23 11:28
本发明专利技术实施例公开了一种奇异值分解运算的加速方法、装置及系统,包括接收处理器发送的待处理的奇异值分解数据及点乘运算指令;依据点乘运算指令调用FPGA硬件电路实现的点乘运算算法,并依据点乘运算算法对待处理的奇异值分解数据进行处理,得到第一运算结果;将第一运算结果返回至处理器。本发明专利技术实施例通过FPGA并行计算平台实现奇异值分解运算中的点乘运算,在接收到处理器发送的待处理的奇异值分解数据及点乘运算指令后,调用FPGA硬件电路实现的点成算法以进行相应的计算,本发明专利技术实施例在实现并行运算、保证计算效率的同时,降低了运算过程中的功耗,从而降低了计算成本。

An acceleration method, device and system for singular value decomposition operation

The embodiment of the invention discloses a kind of singular value method, device and system for accelerating decomposition, including the receiving processor sending processing data and the singular value decomposition of multiplication instructions; point multiplication algorithm based on scalar multiplication instruction calls the FPGA hardware circuit, and based on the point multiplication algorithm treats the singular value decomposition process the data obtained, the first operation result; the first operation result is returned to the processor. The embodiment of the invention by FPGA parallel implementation of singular value decomposition algorithm in multiplication computation platform, receiving sending processor processing data and singular value decomposition point multiplication instructions, the call FPGA hardware circuit into algorithm to carry on the relevant calculation, the embodiment of the invention in the realization of parallel computing, guarantee calculation efficiency and reduce power consumption in the process of operation, thus reducing the computational cost.

【技术实现步骤摘要】
一种奇异值分解运算的加速方法、装置及系统
本专利技术实施例涉及奇异值分解
,特别是涉及一种奇异值分解运算的加速方法、装置及系统。
技术介绍
奇异值分解是线性代数中一种重要的矩阵分解,是矩阵分析中正规矩阵酉对角化的推广。在许多领域均有着重要的作用,例如信号处理和统计学等领域。随着大数据的发展,在奇异值分解运算的过程中,海量的数据运算会耗费非常长的时间,并占据大量资源。奇异值分解运算中的核心运算为向量累加和点乘运算,且这种类型的运算具有并行特性,所以为了利用异值分解运算中的向量累加和点乘运算的并行特性,减少运算时间,现有技术中,通常是在GPU上执行奇异值分解运算,在GPU上执行奇异值分解运算虽然可以实现并行计算,但是,由于GPU的功耗较高,使计算成本较高。因此,如何提供一种解决上述技术问题的奇异值分解运算的加速方法、装置及系统成为本领域技术人员目前需要解决的问题。
技术实现思路
本专利技术实施例的目的是提供一种奇异值分解运算的加速方法、装置及系统,在实现并行运算、保证计算效率的同时,降低了运算过程中的功耗,从而降低了计算成本。为解决上述技术问题,本专利技术实施例提供了一种奇异值分解运算的加速方法,包括:接收处理器发送的待处理的奇异值分解数据及运算指令;依据所述运算指令调用相应的、通过FPGA硬件电路实现的运算算法,并依据所述运算算法对所述待处理的奇异值分解数据进行处理,得到运算结果;将所述运算结果返回至所述处理器;所述运算指令包括点乘运算指令,所述运算算法包括点乘运算算法,所述运算结果包括第一运算结果。可选的,所述运算指令还包括向量累加运算指令,所述运算算法还包括向量累加运算算法,所述运算结果还包括第二运算结果。可选的,所述接收处理器发送的待处理的奇异值分解数据及运算指令的过程具体为:接收处理器发送的待处理的奇异值分解数据及运算指令;缓存所述待处理的奇异值分解数据。本专利技术实施例还提供了一种奇异值分解运算的加速装置,包括:接收模块,用于接收处理器发送的待处理的奇异值分解数据及运算指令;计算模块,用于依据所述运算指令调用相应的、通过FPGA硬件电路实现的运算算法,并依据所述运算算法对所述待处理的奇异值分解数据进行处理,得到运算结果;返回模块,用于将所述运算结果返回至所述处理器;所述运算指令包括点乘运算指令,所述计算模块包括点乘运算单元,所述运算结果包括第一运算结果。可选的,所述运算指令还包括向量累加运算指令,所述计算模块还包括向量累加运算单元,所述运算结果还包括第二运算结果。可选的,所述接收模块包括:接收单元,用于接收处理器发送的待处理的奇异值分解数据及运算指令;缓存单元,用于缓存所述待处理的奇异值分解数据。可选的,所述缓存单元包括DDR3存储器。本专利技术实施例还提供了一种奇异值分解运算的加速系统,包括处理器及如上述所述的奇异值分解运算的加速装置。本专利技术实施例提供了一种奇异值分解运算的加速方法、装置及系统,包括接收处理器发送的待处理的奇异值分解数据及点乘运算指令;依据点乘运算指令调用FPGA硬件电路实现的点乘运算算法,并依据点乘运算算法对待处理的奇异值分解数据进行处理,得到第一运算结果;将第一运算结果返回至处理器。本专利技术实施例通过FPGA并行计算平台实现奇异值分解运算中的点乘运算,在接收到处理器发送的待处理的奇异值分解数据及点乘运算指令后,调用FPGA硬件电路实现的点成算法以进行相应的计算,本专利技术实施例在实现并行运算、保证计算效率的同时,降低了运算过程中的功耗,从而降低了计算成本。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种奇异值分解运算的加速方法的流程示意图;图2为本专利技术实施例提供的一种奇异值分解运算的加速装置的结构示意图;图3为本专利技术实施例提供的另一种奇异值分解运算的加速装置的结构示意图。具体实施方式本专利技术实施例提供了一种奇异值分解运算的加速方法、装置及系统,在实现并行运算、保证计算效率的同时,降低了运算过程中的功耗,从而降低了计算成本。为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参照图1,图1为本专利技术实施例提供的一种奇异值分解运算的加速方法的流程示意图。该方法包括:S11:接收处理器发送的待处理的奇异值分解数据及运算指令;S12:依据运算指令调用相应的、通过FPGA硬件电路实现的运算算法,并依据运算算法对待处理的奇异值分解数据进行处理,得到运算结果;S13:将运算结果返回至处理器;运算指令包括点乘运算指令,运算算法包括点乘运算算法,运算结果包括第一运算结果。需要说明的是,本专利技术实施例通过FPGA并行计算平台实现奇异值分解运算,可以在一定程度上对计算过程进行加速,提高计算速度。具体的,通过预先将奇异值分解中的相关运算(例如点乘运算等)通过opencl(OpenComputingLaguage,开放式计算语言)移植到FPAG(Field-ProgrammableGateArray,现场可编程门阵列)的板卡上,也即移植到FPGA的kernel端,以便可以通过调用实现相应运算算法的FPGA硬件电路来对待处理的数据进行计算处理,并且在具体计算过程中可以通过Pragaunrollx指令实现并行计算,其中x为展开层数,其具体取值可以根据PCIe带宽进行确定。具体的,可以预先将奇异值分解运算中的点乘运算通过opencl移植到FPAG的板卡上,其中,点乘运算的数学关系式为:其中,X1=m1*a1+m2*a2+...mN*aN;X2=m1*b1+m2*b2+...mN*bN;X3、X4等以此类推。还需要说明的是,第一运算结果是与相应的运算算法对应的运算结果,例如,当运算指令为点乘运算指令时,将依据该点乘运算指令调用通过FPGA硬件电路实现的点乘运算算法,并通过该算法对待处理的奇异值分解数据进行计算处理,得到第一运算结果。进一步的,运算指令还包括向量累加运算指令,运算算法还包括向量累加运算算法,运算结果还包括第二运算结果。具体的,还可以预先将奇异值分解运算中的向量累加运算算法通过opencl移植到FPAG的板卡上,其中,向量累加运算算法的数学关系式为:其中,u1=X1*a1+X1*b1+...X1*size1,u2=X2*a2+X2*b2+...X2*size2,u3、u4等依次类推。需要说明的是,接收到的运算指令还可以包括向量累加运算指令,此时,将依据该向量累加运算指令调用通过FPGA硬件电路实现的向量累加运算算法,并通过该算法对待处理的奇异值分解数据进行计算处理,得到相应的第二运算结果。另外,在需要对待处理的奇异值分解数据进行点乘运算和向量累加运算时,点乘运算和向量累加运算可以通过流水的关系实现。具体的,上述S11中接收处理器发送的本文档来自技高网...
一种奇异值分解运算的加速方法、装置及系统

【技术保护点】
一种奇异值分解运算的加速方法,其特征在于,包括:接收处理器发送的待处理的奇异值分解数据及运算指令;依据所述运算指令调用相应的、通过FPGA硬件电路实现的运算算法,并依据所述运算算法对所述待处理的奇异值分解数据进行处理,得到运算结果;将所述运算结果返回至所述处理器;所述运算指令包括点乘运算指令,所述运算算法包括点乘运算算法,所述运算结果包括第一运算结果。

【技术特征摘要】
1.一种奇异值分解运算的加速方法,其特征在于,包括:接收处理器发送的待处理的奇异值分解数据及运算指令;依据所述运算指令调用相应的、通过FPGA硬件电路实现的运算算法,并依据所述运算算法对所述待处理的奇异值分解数据进行处理,得到运算结果;将所述运算结果返回至所述处理器;所述运算指令包括点乘运算指令,所述运算算法包括点乘运算算法,所述运算结果包括第一运算结果。2.根据权利要求1奇异值分解运算的加速方法,其特征在于,所述运算指令还包括向量累加运算指令,所述运算算法还包括向量累加运算算法,所述运算结果还包括第二运算结果。3.根据权利要求2奇异值分解运算的加速方法,其特征在于,所述接收处理器发送的待处理的奇异值分解数据及运算指令的过程具体为:接收处理器发送的待处理的奇异值分解数据及运算指令;缓存所述待处理的奇异值分解数据。4.一种奇异值分解运算的加速装置,其特征在于,包括:接收模块,用于接收处理器发送的待处理的奇异值分解数据及运算指...

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

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

1