1.一种面向SIMD的并行LU直接求解的数据处理方法,其特征在于,包括:获取待处理数据,其中,待处理数据包含2 m 个模式矩阵,m∈Z + ,每个模式矩阵具有相同的非零元素分布模式;若模式矩阵为复数矩阵,对每个模式矩阵进行实数化处理,得到每个模式矩阵对应的实数矩阵;对每个模式矩阵对应的实数矩阵进行置换,得到对应的变换矩阵和相应的置换矩阵,其中,变换矩阵为实数矩阵经过变换后得到的矩阵,置换矩阵为反映实数矩阵变换过程的矩阵;基于2 m 个模式矩阵对应的变换矩阵和置换矩阵,进行向量化处理,得到向量化后的一维数组进行存储;利用SIMD扩展部件读取向量化后的一维数组,进行并行的LU分解和直接求解,输出直接求解结果。
2.根据权利要求1所述的面向SIMD的并行LU直接求解的数据处理方法,其特征在于,对每个模式矩阵进行实数化处理,得到每个模式矩阵对应的实数矩阵,包括:对于每个模式矩阵,采用以下公式进行实数化处理:Kx=b,K为当前的模式矩阵,x为未知量向量,b为右端向量,K r 和K i 分别为模式矩阵K的实数部分和虚数部分,b r 和b i 为右端向量b的实数部分和虚数部分,x r 和x i 为未知量向量x的实数部分和虚数部分,K r 、-K i 、-K i 、-K r 分别对应四个实数矩阵形式的子矩阵,记为第一子矩阵、第二子矩阵、第三子矩阵、第四子矩阵;将第一子矩阵、第二子矩阵、第三子矩阵、第四子矩阵按照从左到右及从上到下的形式分布,形成模式矩阵对应的实数矩阵。
3.根据权利要求1所述的面向SIMD的并行LU直接求解的数据处理方法,其特征在于,对每个模式矩阵对应的实数矩阵进行置换,得到对应的变换矩阵和相应的置换矩阵,包括:针对每个模式矩阵对应的实数矩阵A j ,j∈[1,2 m ]:创建一个置换矩阵P j ,在A j x=b j 两端同时乘上P j ,有:P j A j x j =P j b j ,其中,置换矩阵P j 初始为单位矩阵,A j 为模式矩阵对应的实数矩阵,x j 为未知量向量,b j 为右端向量;对于实数矩阵A j 中的每一列,按主元顺序从主元位置所在列中确定出最大绝对值元素,将包含该最大绝对值元素的行与主元位置所在行进行交换,并更新置换矩阵P j 以记录这些行交换,得到实数矩阵A j 对应的变换矩阵A j ′和相应的置换矩阵P j ,有A j ′x j =P j b j ,其中,主元表示矩阵主对角线上的元素,主元位置表示矩阵主对角线上元素的位置。
4.根据权利要求3所述的面向SIMD的并行LU直接求解的数据处理方法,其特征在于,基于2 m 个模式矩阵对应的变换矩阵和置换矩阵,进行向量化处理,得到向量化后的一维数组进行存储,包括:将所有模式矩阵对应的变换矩阵A j ′在同一位置的元素组合为该位置对应的一组向量,得到向量化后的一维数组A进行存储;将所有模式矩阵对应的右端向量P j b j 在同一位置的元素组合为该位置对应的一组向量,得到向量化后的一维数组B进行存储。
5.根据权利要求4所述的面向SIMD的并行LU直接求解的数据处理方法,其特征在于,利用SIMD扩展部件读取向量化后的一维数组,进行并行的LU分解和直接求解,包括:利用SIMD扩展部件读取向量化后的一维数组A,进行并行的LU分解,得到每个模式矩阵对应的下三角矩阵L j 、上三角矩阵U j ;将所有模式矩阵对应的下三角矩阵L j 在同一位置的元素组合为该位置对应的一组向量,得到向量化后的一维数组L进行存储,以及,将所有模式矩阵对应的上三角矩阵U j 在同一位置的元素组合为该位置对应的一组向量,得到向量化后的一维数组U进行存储;利用SIMD扩展部件读取向量化后的一维数组L、一维数组U和一维数组B,进行并行的直接求解计算。
6.根据权利要求5所述的面向SIMD的并行LU直接求解的数据处理方法,其特征在于,利用SIMD扩展部件读取向量化后的一维数组A,进行并行的LU分解,得到每个模式矩阵对应的下三角矩阵L j 、上三角矩阵U j ,包括:初始化 为双精度类型,并且数值设置为0.0;SIMD扩展部件逐个读取一维数组A中的每组向量,每组向量包含2 m 个元素,基于每组向量中的2 m 个元素进行相应的并行乘加计算,更新 的值,最终得到每个模式矩阵对应更新后的下三角矩阵L j 、上三角矩阵U j 。
7.根据权利要求5所述的面向SIMD的并行LU直接求解的数据处理方法,其特征在于,利用SIMD扩展部件读取向量化后的一维数组L、一维数组U和一维数组B,进行并行的直接求解计算,包括:基于每个模式矩阵对应的下三角矩阵L j 、上三角矩阵U j ,有:初始化每个中间向量y j ,j∈[1,2 m ];SIMD扩展部件逐个读取一维数组L中的每组向量和一维数组B中的每组向量,每组向量包含2 m 个元素,基于每组向量中的2 m 个元素进行相应的并行乘加计算,求解出每个中间向量y j ;以及,SIMD扩展部件逐个读取一维数组U中的每组向量,每组向量包含2 m 个元素,基于每组向量中的2 m 个元素与每个中间向量y j 进行相应的并行乘加计算,求解出每个未知量向量x j 。
8.一种面向SIMD的并行LU直接求解的数据处理装置,其特征在于,包括:数据获取单元,用于获取待处理数据,其中,待处理数据包含2 m 个模式矩阵,m∈Z + ,每个模式矩阵具有相同的非零元素分布模式;实数化单元,用于在模式矩阵为复数矩阵时,对每个模式矩阵进行实数化处理,得到每个模式矩阵对应的实数矩阵;矩阵置换单元,用于对每个模式矩阵对应的实数矩阵进行置换,得到对应的变换矩阵和相应的置换矩阵,其中,变换矩阵为实数矩阵经过变换后得到的矩阵,置换矩阵为反映实数矩阵变换过程的矩阵;向量化单元,用于基于2 m 个模式矩阵对应的变换矩阵和置换矩阵,进行向量化处理,得到向量化后的一维数组进行存储;并行求解单元,用于利用SIMD扩展部件读取向量化后的一维数组,进行并行的LU分解和直接求解,输出直接求解结果。
9.一种存储介质,其特征在于,所述存储介质设置在电子设备内,包括存储的程序,其中,在所述程序运行时控制所述存储介质所在电子设备执行权利要求1至7中任意一项所述的面向SIMD的并行LU直接求解的数据处理方法。
10.一种电子设备,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,其特征在于:所述程序指令被处理器加载并执行时实现权利要求1至7中任意一项所述的面向SIMD的并行LU直接求解的数据处理方法的步骤。