本发明涉及计算机,尤其涉及一种数据处理方法、装置、设备、存储介质及程序产品。
背景技术:
1、目前标准的计算软件库(linearalgebra packag,lapack)中的分治法求解特征值实现方案是通过逐个生成各个子矩阵在整个矩阵中的顶点的二维索引序号和子矩阵特征值序列中的首末一维索引序号去进行索引得到合并以及运算所需要的数据,也即需要逐个计算和合并每个子矩阵的特征值,每计算一次都要返回多个调度层中的某一个调度层进行索引更新,更新索引本身也涉及到大量辅助参量的计算。这种方法非常繁琐,导致计算效率较低。
技术实现思路
1、本发明提供一种数据处理方法、装置、设备、存储介质及程序产品,可以减少计算层和调度层之间的通信次数,提高计算效率。
2、第一方面,本公开实施例提供了一种数据处理方法,包括:调度层将第一待处理数据的总序列长度、子序列长度以及第二待处理数据发送至第一计算层,其中,所述第一待处理数据与第二待处理数据相同;第n计算层基于所述总序列长度以及所述子序列长度对所述第二待处理数据进行处理,获得第n中间结果;其中,所述n为正整数,初始为1;第n+1计算层基于所述子序列长度对所述第n中间结果进行处理,获得第n+1中间结果;若所述n+1小于设定阈值,则将所述n+1作为n,返回至第n+1计算层基于所述子序列长度对所述第n中间结果进行处理,获得第n+1中间结果步骤,继续执行;若所述n+1等于所述设定阈值,则调度层更新所述子序列长度;若更新后的子序列长度小于或等于所述总序列长度,则将所述更新后的子序列长度作为所述子序列长度,将1作为所述n,将所述第n+1中间结果作为所述第二待处理数据,返回至第n计算层基于所述总序列长度以及所述子序列长度对所述第二待处理数据进行处理,获得第n中间结果步骤,继续执行;若更新后的子序列长度大于所述总序列长度,则将所述第n+1中间结果作为第一待处理数据的目标数据处理结果。
3、第二方面,本公开实施例还提供了一种数据处理装置,包括:发送模块,用于调度层将第一待处理数据的总序列长度、子序列长度以及第二待处理数据发送至第一计算层,其中,所述第一待处理数据与第二待处理数据相同;第一处理模块,用于第n计算层基于所述总序列长度以及所述子序列长度对所述第二待处理数据进行处理,获得第n中间结果;其中,所述n为正整数,初始为1;第二处理模块,用于第n+1计算层基于所述子序列长度对所述第n中间结果进行处理,获得第n+1中间结果;第一返回模块,用于若所述n+1小于设定阈值,则将所述n+1作为n,返回至第n+1计算层基于所述子序列长度对所述第n中间结果进行处理,获得第n+1中间结果步骤,继续执行;子序列长度更新模块,用于若所述n+1等于所述设定阈值,则调度层更新所述子序列长度;第二返回模块,用于若更新后的子序列长度小于或等于所述总序列长度,则将所述更新后的子序列长度作为所述子序列长度,将1作为所述n,将所述第n+1中间结果作为所述第二待处理数据,返回至第n计算层基于所述总序列长度以及所述子序列长度对所述第二待处理数据进行处理,获得第n中间结果步骤,继续执行;目标数据处理结果确定模块,用于若更新后的子序列长度大于所述总序列长度,则将所述第n+1中间结果作为第一待处理数据的目标数据处理结果。
4、第三方面,本公开实施例还提供了一种电子设备,所述电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开实施例所述数据处理方法。
5、第四方面,本公开实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本公开实施例所述的数据处理方法。
6、第五方面,本公开实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如本公开实施例所述的数据处理方法。
7、本公开实施例的技术方案,调度层将第一待处理数据的总序列长度、子序列长度以及第二待处理数据发送至第一计算层,其中,所述第一待处理数据与第二待处理数据相同;第n计算层基于所述总序列长度以及所述子序列长度对所述第二待处理数据进行处理,获得第n中间结果;其中,所述n为正整数,初始为1;第n+1计算层基于所述子序列长度对所述第n中间结果进行处理,获得第n+1中间结果;若所述n+1小于设定阈值,则将所述n+1作为n,返回至第n+1计算层基于所述子序列长度对所述第n中间结果进行处理,获得第n+1中间结果步骤,继续执行;若所述n+1等于所述设定阈值,则调度层更新所述子序列长度;若更新后的子序列长度小于或等于所述总序列长度,则将所述更新后的子序列长度作为所述子序列长度,将1作为所述n,将所述第n+1中间结果作为所述第二待处理数据,返回至第n计算层基于所述总序列长度以及所述子序列长度对所述第二待处理数据进行处理,获得第n中间结果步骤,继续执行;若更新后的子序列长度大于所述总序列长度,则将所述第n+1中间结果作为第一待处理数据的目标数据处理结果。本公开实施例,通过一个调度层和多个计算层的计算框架,每个计算层基于总序列长度和子序列长度对数据进行处理,并逐层迭代直至达到设定阈值,当子序列长度超过总序列长度时,结束整个迭代流程,获得目标数据处理结果的方式,可以减少计算层和调度层之间的通信次数,提高计算效率。
1.一种数据处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,第n计算层基于所述总序列长度以及所述子序列长度对所述第二待处理数据进行处理,获得第n中间结果,包括:
3.根据权利要求2所述的方法,其特征在于,其中,每个计算层之间共享所述子数据处理批次。
4.根据权利要求2所述的方法,其特征在于,第n+1计算层基于所述子序列长度对所述第n中间结果进行处理,获得第n+1中间结果,包括:
5.根据权利要求1所述的方法,其特征在于,其中,所述设定阈值为10。
6.根据权利要求1所述的方法,其特征在于,在若更新后的子序列长度大于所述总序列长度,则将所述第n+1中间结果作为第一待处理数据的目标数据处理结果之后,还包括:
7.一种数据处理装置,其特征在于,包括:
8.一种电子设备,其特征在于,所述电子设备包括:
9.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-6中任一所述的数据处理方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序在被处理器执行时实现如权利要求1-6中任一项所述的数据处理方法。