【技术实现步骤摘要】
面向GPDSP的矩阵LU分解向量化计算的方法
本专利技术主要涉及通用计算数字信号处理器(General-PurposeDigitalSignalProcessor,简称GPDSP),特指一种适用于GPDSP的矩阵LU分解向量化计算的方法。
技术介绍
稠密线性方程组求解是高性能计算和科学计算领域内最普遍的计算应用,而矩阵LU分解(LUFactorization,LU)是求解稠密线性方程组最常用的一种方法,尤其是大规模稠密线性方程组求解。高性能基准测试程序(HighPerformanceLinpack,HPL)是TOP500最重要的测试基准,HPL通过求解稠密线性代数方程组,以测试和评价高性能计算机系统的浮点性能。HPL通过矩阵分块LU分解将大规模的矩阵分割为子块矩阵的LU分解计算,矩阵LU分解后再通过两次三角方程组求解实现最终的方程组求解,其中矩阵LU分解的计算量占据整个HPL计算量的95%以上。因此,优化矩阵LU分解的性能对提高HPL的效率具有非常重要的应用价值。在专利申请号为201310725118.6的文献(处于实审阶段)中提供了一种通用计算数字信号处理器(G ...
【技术保护点】
一种面向GPDSP的矩阵LU分解向量化计算的方法,其特征在于,步骤为:S1:根据GPDSP的体系结构特征确定最佳的LU分解的矩阵规模N值;S2:GPDSP的DSP核通过DMA从片外DDR存储器将需要处理的矩阵数据传输到片内共享存储阵列中;S3:GPDSP的DSP核按照列选主元方法,计算第i列的主元值以及对应的列元素序号值,初始i=0;S4:GPDSP的DSP核根据上述计算得到的列li的列主元Pi以及对应的列元素序号值Vi对矩阵A内列主元Pi所在的行与列首元l[i]所在的行进行交换;S5:GPDSP的DSP核对列li按照公式li=li/l[i]进行列消元计算,更新列li;S6 ...
【技术特征摘要】
1.一种面向GPDSP的矩阵LU分解向量化计算的方法,其特征在于,步骤为:S1:根据GPDSP的体系结构特征确定最佳的LU分解的矩阵规模N值;S2:GPDSP的DSP核通过DMA从片外DDR存储器将需要处理的矩阵数据传输到片内共享存储阵列中;S3:GPDSP的DSP核按照列选主元方法,计算第i列的主元值以及对应的列元素序号值,初始i=0;S4:GPDSP的DSP核根据上述计算得到的列li的列主元Pi以及对应的列元素序号值Vi对矩阵A内列主元Pi所在的行与列首元l[i]所在的行进行交换;S5:GPDSP的DSP核对列li按照公式li=li/l[i]进行列消元计算,更新列li;在所述步骤S5中,将片内共享存储阵列矩阵A中,列首元l[i]右下方的矩阵记为L’i,矩阵A中第i行位于上三角C的部分记为ui,列首元l[i]右方包括ui部分的矩阵记为Li,列li不包括列首元l[i]的部分记为列l’i;S6:GPDSP的DSP核按照L’i=L’i-l’i*ui进行更新矩阵panel的计算;S7:判断i是否等于N-1,若不是,令i=i+1,转步骤S3,若是转步骤S8;S8:矩阵A的LU分解计算完毕;DSP核使用DMA将矩阵A从片内共享存储阵列传输到片外DDR存储器的原存储位置;所述步骤S3的详细流程为:S3.1:DSP核通过DMA将列li从片内共享存储阵列中传输至片内向量阵列存储器;设初始值为全0的向量寄存器Z2和向量寄存器Z5,以及初始值为{0,1,2,…,p-1}的向量寄存器Z4;S3.2:DSP核的向量处理阵列依次通过向量LOAD指令加载p个元素,存入向量寄存器Z0;S3.3:DSP核的向量处理阵列对上述向量数据Z0进行向量绝对值操作,结果存入向量寄存器Z1;S3.4:DSP核的向量处理阵列对上述向量数据Z1与Z2的值进行向量比较操作,将比较结果存入向量寄存器Z3;S3.5:根据上述比较结果值Z3,DSP核的向量处理阵列使用向量MOV操作将Z1中比Z2数值更大的数据值更新向量寄存器Z2;DSP核的向量处理阵列将数值更大的数据所对应存储在Z4中的列元素序号替换存入向量寄存器Z5中;S3.6:DSP核的向量处理阵列使用向量加法操作将向量寄存器Z4的向量数值加p;上述步骤中向量寄存器Z4存储所处理列相对应的列元素序号;重复步骤S3.1至步骤S3.6,直到完成该列的所有元素计算,最终得到p个列元素值以及对应的p个列元素序号值;S3.7:DSP核的向量处理阵列对上述p个列元素值进行数值大小的比较,计算出绝对值最大的列元素值作为列li的列主元,标记为Pi,对应的列元素序号值标记为Vi。2.根据权利要求1所述的面向GPDSP的矩阵LU分解向量化计算的方法,其特征在于,在步骤S1中,设所处理的LU分解的矩阵规模为N×N阶非奇异矩阵,每个矩阵元素的数据为u字节;上述矩阵规模的N值的确定方法是:设条件(1)2*u*p*s*N≤q;(2)u*N*N≤r;按照满足条件(1)(2)取得的最大N值为所需要的N值;其中,GPDSP中DSP核的向量处理阵列计算单元数量为p个,每个计算单元包括s个MAC部件,DSP核的片内向量阵列存储器容量为q字节,GPDSP的片内共享存储阵列容量为r字节,GPDSP的片外共享DDR存储容量为t字节。3.根据权利要求2所述的面向GPDSP的矩阵LU分解向量化计算的方法,其特征在于,在步骤S2中,所述片内共享存储阵列中的矩阵标记为矩阵A,其规模为N×N阶,首地址记为AA00;沿左上至右下的对角线方向,将矩阵A划分为上三角区域,标记为C,以及下三角区域,标记为D;将下三角矩阵D按照从左至右的方向按列分别记为l0、l1、l2…lN-1,将每一列的在对角线上的数据,即列首元标记为l[0]、l[1]、l[2]…l[N-1]。4.根据权利要求3所述的面向GPDSP的矩阵LU分解向量化计算的方法,其特征在于,所述步骤S4的详细流程为:S4.1:根据列主元Pi的列元素序号值Vi,以及矩阵A在片内共享存储阵列中的首地址AA00,计算得出列主元Pi所在行的首地址APi=AA00+u*(Vi+i)*N;S4.2:根据列首元l[i]的列元素序号值,以及矩阵A在片内共享存储阵列中的首地址AA00,计算得出列首元l[i]所在行的首地址Al[i]=AA00+u*i*N;S4.3:将片内向量阵列存储器划分为上下两片半区,半区的大小为q/2字节,DSP核使用DMA将列主元Pi所在行共N个元素从片内共享存储阵列中传输至片内向量阵列存储器...
【专利技术属性】
技术研发人员:刘仲,陈书明,郭阳,陈海燕,田希,陈磊,胡封林,刘蓬侠,刘胜,雷元武,扈啸,陈跃跃,王耀华,
申请(专利权)人:中国人民解放军国防科学技术大学,
类型:发明
国别省市:湖南;43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。