面向异构众核并行计算机的模态并行计算方法及系统技术方案

技术编号:25598264 阅读:90 留言:0更新日期:2020-09-11 23:56
本发明专利技术提供了一种面向异构众核并行计算机的模态并行计算方法及系统,包括如下步骤:步骤S1:通过有限元程序生成有限元模型刚度矩阵、质量矩阵数据,将生成的有限元模型刚度矩阵、质量矩阵数据剖分为N个子区域,并将每个区域的有限元模型刚度矩阵和质量矩阵数据单独保存于一个文件中,其中N为单个核组的整数倍;步骤S2:令进行并行计算的各核组主核同步读取各子区域对应的有限元模型刚度矩阵和质量矩阵数据,各核组间无数据通信交流,核组内各从核间无数据通信交流。本发明专利技术通过分层策略实现了计算过程和数据通信的分层,将大量数据通信限定在各核组内部,充分发挥国产异构众核并行计算机核组内通信速率较高的优势。

【技术实现步骤摘要】
面向异构众核并行计算机的模态并行计算方法及系统
本专利技术涉及计算机
,具体地,涉及面向异构众核并行计算机的模态并行计算方法及系统。
技术介绍
随着交通运输业、能源勘探与开发业和航空航天业等的发展,对于大型、特大型装备的需求越来越多,如:高速动车组、3000m超深钻机、大飞机、跨江隧道等。这些特殊装备系统的研制往往涉及大规模复杂动力学系统的计算,而模态分析则是其最耗费时间的计算环节,也是其余计算环节的基础,需借助大规模有限元模型进行高性能计算,故而对传统串行有限元计算方法和工具形成了挑战。传统串行计算是以牺牲大型、特大型装备局部关键细节进行简化建模来保证计算效率,因而造成局部关键细节预测能力和大量密集模态的丢失,计算精度较低,无法满足其系统级高精度高效率数值分析的需求。随着并行计算机的快速发展,利用并行计算机研究和开发相应的并行算法则为大型、特大型装备系统模态的求解提供了切实可行的途径,正逐步成为各国学者的研究热点。在硬件方面,异构众核分布式存储并行计算机具备计算能力强、性能功耗比高等优点,已成为当前超级计算机的重要发展方向,典型的异构众核处理器包括Intel的MIC、Nvidia和AMD的GPU、Godson-T以及神威众核处理器等。目前国内外基于神威众核处理器架构的模态并行求解算法尚未见有关研究,而基于神威众核处理器架构的并行计算机-“神威太湖之光”在峰值性能、持续性能、性能功耗比3项关键指标均居于世界第一。因此,利用基于神威众核处理器架构的并行计算机进行模态并行计算研究对于提高大型、超大型装备系统模态的计算规模、计算精度和计算效率具有重要意义。考虑到“神威太湖之光”并行计算机核组内通信时间远小于核组间通信,且其访存能力较弱,故利用“神威太湖之光”并行计算机提高并行效率的关键在于处理好大规模数据的存储以及各计算核心间的通信和协作问题。经对现有技术文献的检索发现,模态分析的数学实质可以归结为大型稀疏矩阵的广义特征值问题,该类问题的求解大多基于子空间类投影技术,主要包括Davidson类子空间方法和Krylov类子空间方法等。Davidson类子空间方法主要用于求解对角占优的对称矩阵特征值问题,其问题适应性不如Krylov类子空间方法。Krylov类子空间方法可以追溯到20世纪50年代提出的Lanczos算法和Arnoldi算法。后来国内外诸多学者在Lanczos算法和Arnoldi算法的基础上进行了一系列重启动改进,比较著名的是:Arnoldi/Lanczos算法、Krylov-Schur算法、加速子空间迭代法等。三种算法在数学上具有等价性,是目前Krylov类子空间算法中的主流算法。与前两种算法相比,加速子空间迭代法更容易收敛,且代码实现难度较低。国内外尚无基于国产神威异构并行计算机和加速子空间迭代法的模态并行计算的相关研究。
技术实现思路
本专利技术针对现有技术的不足,提出一种面向国产神威异构众核并行计算机的模态并行计算方法及系统。根据本专利技术提供的一种面向异构众核并行计算机的模态并行计算方法,包括如下步骤:步骤S1:通过有限元程序生成有限元模型刚度矩阵、质量矩阵数据,将生成的有限元模型刚度矩阵、质量矩阵数据剖分为N个子区域,并将每个区域的有限元模型刚度矩阵和质量矩阵数据单独保存于一个文件中,其中N为单个核组的整数倍;步骤S2:令进行并行计算的各核组主核同步读取各子区域对应的有限元模型刚度矩阵和质量矩阵数据,各核组间无数据通信交流,核组内各从核间无数据通信交流;步骤S3:令各核组通过核组间相互通信及核组内通信,利用并行SuperLU算法并行求解预处理线性方程组,得到该方程组的求解结果后,分布式存储至各核组主核指定的向量存储空间;步骤S4:各核组同步进行第一指定矩阵运算,并将计算结果传递至核组0,核组0主核通过组集各核组传递数据形成等效广义特征方程;步骤S5:核组0利用QZ法求解等效广义特征方程;若迭代结束则输出结果,否则核组0进行Cholesky分解和第二指定矩阵运算,并将求解结果传递至各核组主核指定向量存储空间后返回矩阵运算步骤继续执行。优选地,所述步骤S1中,所述子区域是指经分区软件对有限元模型刚度矩阵、质量矩阵数据直接剖分所得,这些子区域的方程阶数相等。优选地,所述步骤S3中,所述并行SuperLU算法并行求解预处理线性方程组的数据分布式存储在各核组主核上,中间计算结果也以矩阵和向量积的形式分布式存储在各核组主核上,从核仅用于计算。优选地,所述步骤S3中,所述预处理线性方程组如下式(1)所示:(K-σM)x=M(1)其中,K表示大规模、超大规模装置系统的整体刚度矩阵;M表示大规模、超大规模装置系统的整体质量矩阵;σ表示表示广义特征方程的移位值;x表示广义特征方程的特征向量。优选地,所述步骤S4中,所述等效广义特征方程符合广义特征方程的一般形式,如下所示:AA*ν=λj*BB*ν(2)其中,AA表示方程左端等效矩阵;BB表示方程右端等效矩阵;λj表示第j次迭代所求得的特征值;ν表示该特征值对应的特征向量。优选地,所述步骤S4中,所述第一指定矩阵运算如下式(3)~(7)所示;As=(K-σM)-1(3)Y=As*Q(4)AA=Y’*(As*Y)(5)BB=Y’*(E*Y)(6)BBB=((VV’*BB*VV)’+(VV’*BB*VV))/2(7)VV=VV/LL’(8)Q=Y*VV(9)其中,As为所述步骤S3中预处理方程的求解结果;Y为中间计算结果;Q在进行第一次运算时随机生成,进行其余循环运算时Q由式(6)~(9)计算所得;式(8)表示将VV/LL’后的值作为新的向量空间VV,重新对VV进行赋值;VV为v构成的向量空间;LL为BBB做Cholesky分解产生的上三角矩阵LL;AA表示方程左端等效矩阵;BB表示方程右端等效矩阵;*表示矩阵乘法;’表示矩阵转置;Y’表示矩阵Y的转置矩阵;E表示与Y同阶的单位矩阵;BBB表示中间计算矩阵,用以储存数据。优选地,所述步骤S5中,所述Cholesky分解是由64从核同步进行运算,求解结果存储在对应的核组主核上,所述第二指定矩阵运算是指公式(6)至(8)。根据本专利技术提供的一种面向异构众核并行计算机的模态并行计算系统,包括如下模块:模块S1:通过有限元程序生成有限元模型刚度矩阵、质量矩阵数据,将生成的有限元模型刚度矩阵、质量矩阵数据剖分为N个子区域,并将每个区域的有限元模型刚度矩阵和质量矩阵数据单独保存于一个文件中,其中N为单个核组的整数倍;模块S2:令进行并行计算的各核组主核同步读取各子区域对应的有限元模型刚度矩阵和质量矩阵数据,各核组间无数据通信交流,核组内各从核间无数据通信交流;模块S3本文档来自技高网
...

【技术保护点】
1.一种面向异构众核并行计算机的模态并行计算方法,其特征在于,包括如下步骤:/n步骤S1:通过有限元程序生成有限元模型刚度矩阵、质量矩阵数据,将生成的有限元模型刚度矩阵、质量矩阵数据剖分为N个子区域,并将每个区域的有限元模型刚度矩阵和质量矩阵数据单独保存于一个文件中,其中N为单个核组的整数倍;/n步骤S2:令进行并行计算的各核组主核同步读取各子区域对应的有限元模型刚度矩阵和质量矩阵数据,各核组间无数据通信交流,核组内各从核间无数据通信交流;/n步骤S3:令各核组通过核组间相互通信及核组内通信,利用并行SuperLU算法并行求解预处理线性方程组,得到该方程组的求解结果后,分布式存储至各核组主核指定的向量存储空间;/n步骤S4:各核组同步进行第一指定矩阵运算,并将计算结果传递至核组0,核组0主核通过组集各核组传递数据形成等效广义特征方程;/n步骤S5:核组0利用QZ法求解等效广义特征方程;若迭代结束则输出结果,否则核组0进行Cholesky分解和第二指定矩阵运算,并将求解结果传递至各核组主核指定向量存储空间后返回矩阵运算步骤继续执行。/n

【技术特征摘要】
1.一种面向异构众核并行计算机的模态并行计算方法,其特征在于,包括如下步骤:
步骤S1:通过有限元程序生成有限元模型刚度矩阵、质量矩阵数据,将生成的有限元模型刚度矩阵、质量矩阵数据剖分为N个子区域,并将每个区域的有限元模型刚度矩阵和质量矩阵数据单独保存于一个文件中,其中N为单个核组的整数倍;
步骤S2:令进行并行计算的各核组主核同步读取各子区域对应的有限元模型刚度矩阵和质量矩阵数据,各核组间无数据通信交流,核组内各从核间无数据通信交流;
步骤S3:令各核组通过核组间相互通信及核组内通信,利用并行SuperLU算法并行求解预处理线性方程组,得到该方程组的求解结果后,分布式存储至各核组主核指定的向量存储空间;
步骤S4:各核组同步进行第一指定矩阵运算,并将计算结果传递至核组0,核组0主核通过组集各核组传递数据形成等效广义特征方程;
步骤S5:核组0利用QZ法求解等效广义特征方程;若迭代结束则输出结果,否则核组0进行Cholesky分解和第二指定矩阵运算,并将求解结果传递至各核组主核指定向量存储空间后返回矩阵运算步骤继续执行。


2.根据权利要求1所述的面向异构众核并行计算机的模态并行计算方法,其特征在于,所述步骤S1中,所述子区域是指经分区软件对有限元模型刚度矩阵、质量矩阵数据直接剖分所得,这些子区域的方程阶数相等。


3.根据权利要求1所述的面向异构众核并行计算机的模态并行计算方法,其特征在于,所述步骤S3中,所述并行SuperLU算法并行求解预处理线性方程组的数据分布式存储在各核组主核上,中间计算结果也以矩阵和向量积的形式分布式存储在各核组主核上,从核仅用于计算。


4.根据权利要求1所述的面向异构众核并行计算机的模态并行计算方法,其特征在于,所述步骤S3中,所述预处理线性方程组如下式(1)所示:
(K-σM)x=M(1)
其中,
K表示大规模、超大规模装置系统的整体刚度矩阵;
M表示大规模、超大规模装置系统的整体质量矩阵;
σ表示广义特征方程的移位值;
x表示广义特征方程的特征向量。


5.根据权利要求1所述的面向异构众核并行计算机的模态并行计算方法,其特征在于,所述步骤S4中,所述等效广义特征方程符合广义特征方程的一般形式,如下所示:
AA*ν=λj*BB*ν(2)
其中,
AA表示方程左端等效矩阵;
BB表示方程右端等效矩阵;
λj表示第j次迭代所求得的特征值;
ν表示该特征值对应的特征向量。


6.根据权利要求1所述的面向异构众核并行计算机的模态并行计算方法,其特征在于,所述步骤S4中,所述第一指定矩阵运算如下式(3)~(7)所示;
As=(K-σM)-1(3)
Y=As*Q(4)
AA=Y’*(As*Y)(5)
BB=Y’*(E*Y)(6)
BBB=((VV’*BB*VV)’+(VV’*BB*VV))/2(7)
VV=VV/LL’(8)
Q=Y*VV(9)
其中,
As为所述步骤S3中预处理方程的求解结果;
Y为中间计算结果;
Q在进行第一次运算时随机生成,进行其余循环运算时Q由式(6)~(9)计算所得;式(8)表示将VV/LL’后的值作为新的向量空间VV,重新对VV进行赋值;
VV为v构成的向量空间;
LL为BBB做Cholesky分解产生的上三角矩阵LL;
AA表示方程左端等效矩阵;
BB表示方程右端等效矩阵;
*表示矩阵乘法;
’表示矩阵转置;
Y’表示矩阵Y的转置矩阵;
E表示与Y同阶的单位矩阵;
BBB表示中间计算矩阵,用以储存数据。


7.根据权利要求6所述的面向异构众核并行计算...

【专利技术属性】
技术研发人员:喻高远金先龙马志强李俊杰王倩廖鹏
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海;31

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

1