CN113191046A - 一种基于ras对等式交互的有限元程序并行化方法 - Google Patents

一种基于ras对等式交互的有限元程序并行化方法 Download PDF

Info

Publication number
CN113191046A
CN113191046A CN202110423631.4A CN202110423631A CN113191046A CN 113191046 A CN113191046 A CN 113191046A CN 202110423631 A CN202110423631 A CN 202110423631A CN 113191046 A CN113191046 A CN 113191046A
Authority
CN
China
Prior art keywords
finite element
matrix
partition
mapping
peer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110423631.4A
Other languages
English (en)
Inventor
齐慧君
李同春
高林钢
刘晓青
赵兰浩
郑斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hohai University HHU
Original Assignee
Hohai University HHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hohai University HHU filed Critical Hohai University HHU
Priority to CN202110423631.4A priority Critical patent/CN113191046A/zh
Publication of CN113191046A publication Critical patent/CN113191046A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明公开了一种基于RAS对等式交互的有限元程序并行化方法,包括以下步骤:步骤一,初始化MPI并行环境,获取进程号和总进程个数;步骤二,读取数据文件;步骤三,建立局部到整体的映射关系;步骤四,确定本进程存储刚度矩阵的起始行IStart和终止行Iend,预分配分布式刚度矩阵;步骤五,按照未知量eqmap映射关系组装分布式整体刚度矩阵k;步骤六,使用并行求解器求解有限元方程组;步骤七,按照未知量eqmap映射获取本进程结果,并散发其他进程需求的解;步骤八,后处理,终止并行环境。本发明在利用MPI函数库实现并行化的基础上,在对现有有限元程序改动最小的情况下,显著提高了有限元并行计算的效率。

Description

一种基于RAS对等式交互的有限元程序并行化方法
技术领域
本发明属于力学工程设计与计算领域,具体涉及一种基于RAS对等式交互的有限元程序并行化方法。
背景技术
有限元方法作为一种应用于解决工程学和数学物理学的数值方法,被广泛应用于结构分析等工程领域典型问题。通过将结构的特定研究区域离散为数个特定形状的单元,能够将最初描述物理现象的偏微分方程转变为某种形式的矩阵方程,利用特定离散点的计算结果来表征结构内任一点的物理量计算结果,从而简化问题。利用有限元方法对工程问题进行分析,能够为工程实际中问题的研究提供指导,缩短结构设计周期、节约试验成本。
然而随着某些工程问题越来越复杂,有限元方法的求解规模也越来越大,传统的开源串行计算方法无论在性能还是求解速度上都难以满足要求,同时也对计算机内存提出了更高的要求。除此之外,随着Eigen、MKL等线性代数运算库的飞速发展,如何将有限元过程与现有的功能强大的库函数相结合从而显著减少总运算时间,也成为了一个严峻的问题。
当考虑结构计算的材料非线性、结构非线性和接触非线性时,有限元计算规模迅速增加,如果考虑抗震特性或者可靠度等情况,将进一步增加计算耗时。随着科技水平的发展,计算机硬件技术得到了快速发展,除了大型化的超级计算机面向科研人员开放使用,小型超级计算集群也成为了很多科研单位的计算资源。然而,在硬件技术提高的同时,应该开发对应性能的有限元分析软件。
采用并行计算是提高有限元计算效率的必要前提,有限元离散的基本思想结合并行计算的分而治之,使有限元计算的并行化有了依据。当前实现有限元并行算法的方法较少,仅部分商用软件实现了该功能,且存在很多局限性:1)商用软件不开放其源代码,使得求解问题的局限性增大,对其参数的设置需要不断尝试,收敛性也不易控制;2)不利用使用者自主开发高效的本构模型和算法,针对不断涌现的工程问题不能及时的更新;3)商业软件一般价格比较昂贵,且每次重新升级都需要重新授权。与此同时,针对并行环境计算的各种开源程序不断涌现,使得自主开发并行程序成为了可能。因此亟需一种基于高效、便捷、与其他库函数结合方便的有限元并行分析方法,从而大幅缩短有限元方法中大型矩阵的形成时间,减少试验成本。
发明内容
本发明的目的是提供一种基于RAS对等式交互的有限元程序并行化方法,通过分析现有有限元程序求解的特点,分析子空间迭代方法中常用算法的求解流程,在利用MPI函数库实现并行化的基础上,在对现有有限元程序改动最小的情况下,实现高效率有限元并行计算。
为实现上述目的,本发明采用的技术方案是:
一种基于RAS对等式交互的有限元程序并行化方法,包括以下步骤:
步骤一,初始化MPI并行环境,获取进程号和总进程个数;
步骤二,读取数据文件;
步骤三,建立局部到整体的映射关系;
步骤四,确定本进程存储刚度矩阵的起始行IStart和终止行Iend,预分配分布式刚度矩阵;
步骤五,按照未知量eqmap映射关系组装分布式整体刚度矩阵k;
步骤六,使用并行求解器求解有限元方程组;
步骤七,按照未知量eqmap映射获取本进程结果,并散发其他进程需求的解;
步骤八,后处理,终止并行环境。
具体地,步骤一中,所述MPI是一种跨语言的通讯协议,用于编写并行计算机;每个所述进程都对应一个进程号。
具体地,步骤二中,所述数据文件包括有限元模型数据,所述有限元模型数据包括节点、单元、分区、材料、载荷、约束和交互界面;其中,Di为第i个分区,为重叠型分区,
Figure BDA0003028858790000021
为限制分区,为非重叠分区;分区Di包含限制分区
Figure BDA0003028858790000022
和镜像点区域。
具体地,步骤三中,所述映射关系包括自由度映射dofmap和未知量映射eqmap;其中,自由度映射dofmap是局部自由度编号和整体自由度编号之间的关系;未知量映射eqmap是局部未知量编号和整体未知量编号之间的关系,由不包含约束的节点自由度按照dof映射累加之后填充得到。
具体地,步骤四中,所述预分配刚度矩阵按照未知量映射eqmap对整体刚度矩阵进行遍历,形成整体刚度矩阵的指示矩阵,确定第i个进程的整体刚度矩阵ki中的主对角阵和非主对角阵每一行非零元素个数,然后预分配分布式刚度矩阵。
具体地,步骤五中,所述分布式整体刚度矩阵k按照每个节点分别组装ki
Figure BDA0003028858790000031
其中,
Figure BDA0003028858790000032
为Di刚度矩阵非重叠部分,
Figure BDA0003028858790000033
为Di刚度矩阵重叠部分,i∈1,2,…,n,n为进程个数。
具体地,步骤六中,所述有限元方程组为:
ku=f
其中,u为有限元控制方程中的位移,f为有限元控制方程中的等效节点荷载;
对于重叠型分区,第i个分区Di区域上的解为:
ui=Riu
其中,Ri为Di的限制矩阵,将整个区域的解集成可以得到:
Figure BDA0003028858790000034
对于非重叠型分区,
Figure BDA0003028858790000035
上的解为:
Figure BDA0003028858790000036
其中,
Figure BDA0003028858790000037
Figure BDA0003028858790000038
的限制矩阵;将整个区域的解集成可以得到:
Figure BDA0003028858790000039
其中,整个区域的解由所有的限制分区
Figure BDA00030288587900000310
上的解组成,对于Di的重叠区域的解
Figure BDA00030288587900000311
Figure BDA00030288587900000312
则由相邻的分区
Figure BDA00030288587900000313
Figure BDA00030288587900000314
传递得到,在
Figure BDA00030288587900000315
上不求解;
Figure BDA00030288587900000316
为限制区域的解,
Figure BDA00030288587900000317
为相邻区域传递回来的解,i∈1,2,…,n,n为进程个数。
与现有技术相比,本发明的有益效果是:本发明的有限元程序并行化方法通过分析现有有限元程序求解的特点,分析子空间迭代方法中常用算法的求解流程,在利用MPI函数库实现并行化的基础上,在对现有有限元程序改动最小的情况下,显著提高了有限元并行计算的效率。
附图说明
图1为本发明实施例一种基于RAS对等式交互的有限元程序并行化方法的流程图;
图2为本发明实施例中验证算例有限元网格和分区示意图;
图3为本发明实施例中RAS区域分解示意图;
图4为本发明实施例中验证算例Z向位移图;
图5为本发明实施例中验证算例求解消耗总时间与进程数量关系图;
图6为本发明实施例中验证算例求解加速比与进程数量关系图。
具体实施方式
下面将结合本发明中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动条件下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,本实施例提供了一种基于RAS对等式交互的有限元程序并行化方法,主要包括以下几个步骤:
第一步,初始化MPI并行环境,获取进程号和总进程个数;
第二步,读取数据文件,尺寸为200m×200m×100m的立方体,网格划分为100×100×10,底部固定约束,受自重荷载作用,有限元网格和分区如附图2所示;材料参数如表1所示;
表1材料参数
Figure BDA0003028858790000041
如附图3所示,Di为第i个分区,为重叠型分区,
Figure BDA0003028858790000042
为限制分区,为非重叠分区;分区Di包含限制分区
Figure BDA0003028858790000043
和镜像点区域;
第三步,建立局部到整体映射关系,包括自由度映射dofmap和未知量映射eqmap;其中,自由度映射dofmap是局部自由度编号和整体自由度编号之间的关系;未知量映射eqmap是局部未知量编号和整体未知量编号之间的关系,由不包含约束的节点自由度按照dof映射累加之后填充得到;
第四步,确定本进程存储刚度矩阵的起始行IStart和终止行Iend,按照未知量映射eqmap对整体刚度矩阵进行遍历,形成整体刚度矩阵的指示矩阵,确定第i个进程的整体刚度矩阵ki中的主对角阵和非主对角阵每一行非零元素个数,然后预分配分布式刚度矩阵;
第五步,按照未知量eqmap映射关系组装分布式整体刚度矩阵k,所述分布式整体刚度矩阵k按照每个节点分别组装ki
Figure BDA0003028858790000051
其中,
Figure BDA0003028858790000052
为Di刚度矩阵非重叠部分,
Figure BDA0003028858790000053
为Di刚度矩阵重叠部分,i∈1,2,…,n,n为进程个数。
第六步,使用并行求解器求解有限元方程组;有限元方程组为:
ku=f
其中,u为有限元控制方程中的位移,f为有限元控制方程中的等效节点荷载;
对于重叠型分区,第i个分区Di区域上的解为:
ui=Riu
其中,
Figure BDA0003028858790000054
Figure BDA0003028858790000055
的限制矩阵,将整个区域的解集成可以得到:
Figure BDA0003028858790000056
对于非重叠型分区,
Figure BDA0003028858790000057
上的解为:
Figure BDA0003028858790000058
其中,
Figure BDA0003028858790000059
Figure BDA00030288587900000510
的限制矩阵;将整个区域的解集成可以得到:
Figure BDA0003028858790000061
其中,整个区域的解由所有的限制分区
Figure BDA0003028858790000062
上的解组成,对于Di的重叠区域的解
Figure BDA0003028858790000063
Figure BDA0003028858790000064
则由相邻的分区
Figure BDA0003028858790000065
Figure BDA0003028858790000066
传递得到,在
Figure BDA0003028858790000067
上不求解;
Figure BDA0003028858790000068
为限制区域的解,
Figure BDA0003028858790000069
为相邻区域传递回来的解,i∈1,2,…,n,n为进程个数。
第七步,按照未知量eqmap映射获取本进程结果,并散发其他进程需要的解;
第八步,后处理,终止并行环境。
采用本实施例的基于RAS对等式交互的有限元程序并行化方法对有限元进行计算,得到的算例Z向位移如图4所示,验证算例求解消耗总时间与进程数量关系如图5所示,验证算例求解加速比与进程数量关系如图6所示;从上图4至6可以看出,采用本实施例的基于RAS对等式交互的有限元程序并行化方法,相较于现有的有限元计算方法,显著提高了有限元并行计算的效率。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (7)

1.一种基于RAS对等式交互的有限元程序并行化方法,其特征在于,包括以下步骤:
步骤一,初始化MPI并行环境,获取进程号和总进程个数;
步骤二,读取数据文件;
步骤三,建立局部到整体的映射关系;
步骤四,确定本进程存储刚度矩阵的起始行IStart和终止行Iend,预分配分布式刚度矩阵;
步骤五,按照未知量eqmap映射关系组装分布式整体刚度矩阵k;
步骤六,使用并行求解器求解有限元方程组;
步骤七,按照未知量eqmap映射获取本进程结果,并散发其他进程需求的解;
步骤八,后处理,终止并行环境。
2.根据权利要求1所述的一种基于RAS对等式交互的有限元程序并行化方法,其特征在于,步骤一中,所述MPI是一种跨语言的通讯协议,用于编写并行计算机;每个所述进程都对应一个进程号。
3.根据权利要求1所述的一种基于RAS对等式交互的有限元程序并行化方法,其特征在于,步骤二中,所述数据文件包括有限元模型数据,所述有限元模型数据包括节点、单元、分区、材料、载荷、约束和交互界面;其中,Di为第i个分区,为重叠型分区,
Figure FDA0003028858780000011
为限制分区,为非重叠分区;分区Di包含限制分区
Figure FDA0003028858780000012
和镜像点区域。
4.根据权利要求3所述的一种基于RAS对等式交互的有限元程序并行化方法,其特征在于,步骤三中,所述映射关系包括自由度映射dofmap和未知量映射eqmap;其中,自由度映射dofmap是局部自由度编号和整体自由度编号之间的关系;未知量映射eqmap是局部未知量编号和整体未知量编号之间的关系,由不包含约束的节点自由度按照dof映射累加之后填充得到。
5.根据权利要求4所述的一种基于RAS对等式交互的有限元程序并行化方法,其特征在于,步骤四中,所述预分配刚度矩阵按照未知量映射eqmap对整体刚度矩阵进行遍历,形成整体刚度矩阵的指示矩阵,确定第i个进程的整体刚度矩阵ki中的主对角阵和非主对角阵每一行非零元素个数,然后预分配分布式刚度矩阵。
6.根据权利要求5所述的一种基于RAS对等式交互的有限元程序并行化方法,其特征在于,步骤五中,所述分布式整体刚度矩阵k按照每个节点分别组装ki
Figure FDA0003028858780000021
其中,
Figure FDA0003028858780000022
为Di刚度矩阵非重叠部分,
Figure FDA0003028858780000023
为Di刚度矩阵重叠部分,i∈1,2,…,n,n为进程个数。
7.根据权利要求6所述的一种基于RAS对等式交互的有限元程序并行化方法,其特征在于,步骤六中,所述有限元方程组为:
ku=f
其中,u为有限元控制方程中的位移,f为有限元控制方程中的等效节点荷载;
对于重叠型分区,第i个分区Di区域上的解为:
ui=Riu
其中,Ri为Di的限制矩阵,将整个区域的解集成可以得到:
Figure FDA0003028858780000024
对于非重叠型分区,
Figure FDA0003028858780000025
上的解为:
Figure FDA0003028858780000026
其中,
Figure FDA0003028858780000027
Figure FDA0003028858780000028
的限制矩阵;将整个区域的解集成可以得到:
Figure FDA0003028858780000029
其中,整个区域的解由所有的限制分区
Figure FDA00030288587800000210
上的解组成,对于Di的重叠区域的解
Figure FDA00030288587800000211
Figure FDA00030288587800000212
则由相邻的分区
Figure FDA00030288587800000213
Figure FDA00030288587800000214
传递得到,在
Figure FDA00030288587800000215
上不求解;
Figure FDA00030288587800000216
为限制区域的解,
Figure FDA00030288587800000217
为相邻区域传递回来的解,i∈1,2,…,n,n为进程个数。
CN202110423631.4A 2021-04-20 2021-04-20 一种基于ras对等式交互的有限元程序并行化方法 Pending CN113191046A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110423631.4A CN113191046A (zh) 2021-04-20 2021-04-20 一种基于ras对等式交互的有限元程序并行化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110423631.4A CN113191046A (zh) 2021-04-20 2021-04-20 一种基于ras对等式交互的有限元程序并行化方法

Publications (1)

Publication Number Publication Date
CN113191046A true CN113191046A (zh) 2021-07-30

Family

ID=76977667

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110423631.4A Pending CN113191046A (zh) 2021-04-20 2021-04-20 一种基于ras对等式交互的有限元程序并行化方法

Country Status (1)

Country Link
CN (1) CN113191046A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070203679A1 (en) * 2005-11-17 2007-08-30 Macura Matthew J Virtual prototyping system and method
CN109033733A (zh) * 2018-10-24 2018-12-18 河海大学 一种有限元区域分解改进ssorpcg求解温度场的并行方法
CN109241620A (zh) * 2018-09-05 2019-01-18 河海大学 基于有限元区域分解的改进ssorpcg并行求解边坡应力场的方法
CN112506568A (zh) * 2016-12-31 2021-03-16 英特尔公司 用于异构计算的系统、方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070203679A1 (en) * 2005-11-17 2007-08-30 Macura Matthew J Virtual prototyping system and method
CN112506568A (zh) * 2016-12-31 2021-03-16 英特尔公司 用于异构计算的系统、方法和装置
CN109241620A (zh) * 2018-09-05 2019-01-18 河海大学 基于有限元区域分解的改进ssorpcg并行求解边坡应力场的方法
CN109033733A (zh) * 2018-10-24 2018-12-18 河海大学 一种有限元区域分解改进ssorpcg求解温度场的并行方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
齐慧君等: ""基于PETSc构架的对等式有限元并行求解"", 《第五届全国水工抗震防灾学术交流会论文集》 *

Similar Documents

Publication Publication Date Title
US10296556B2 (en) System and method for efficient sparse matrix processing
Koanantakool et al. Communication-avoiding parallel sparse-dense matrix-matrix multiplication
Markowitz The elimination form of the inverse and its application to linear programming
L'Excellent Multifrontal methods: parallelism, memory usage and numerical aspects
Ballard et al. Avoiding communication in successive band reduction
Dongarra et al. An overview of heterogeneous high performance and grid computing
Ye et al. Global optimization method using ensemble of metamodels based on fuzzy clustering for design space reduction
Ko et al. High-performance statistical computing in the computing environments of the 2020s
Deng et al. Cost-driven autonomous mobility
CN113191046A (zh) 一种基于ras对等式交互的有限元程序并行化方法
Kruse et al. Parallel solution of saddle point systems with nested iterative solvers based on the Golub‐Kahan Bidiagonalization
Dongarra et al. Key concepts for parallel out-of-core LU factorization
Ramachandran et al. Emulations between QSM, BSP and LogP: a framework for general-purpose parallel algorithm design
Gonz'lez-Domínguez et al. Design and performance issues of cholesky and lu solvers using upcblas
Lastovetsky Scientific Programming for Heterogeneous Systems-Bridging the Gap between Algorithms and Applications
Jacob et al. ParNCL and ParGAL: Data-parallel tools for postprocessing of large-scale Earth science data
Luo et al. A parallel computational model for the finite element method on a memory-sharing multiprocessor computer
Hao et al. Swmpas-a: scaling mpas-a to 39 million heterogeneous cores on the new generation sunway supercomputer
Andonovski et al. Introduction to scientific computing technologies for global analysis of multidimensional nonlinear dynamical systems
Bošanský et al. Parallel Approach To Solve Of The Direct Solution Of Large Sparse Systems Of Linear Equations
US11809849B1 (en) Global modulo allocation in neural network compilation
Neytcheva et al. Multidimensional performance and scalability analysis for diverse applications based on system monitoring data
Wang et al. Scaling neural simulations in STACS
Yüzügüler Hardware-Software Co-design for Improved Resource Utilization in DNN Accelerators
Xiao et al. Adaptive Workload-Balanced Scheduling Strategy for Global Ocean Data Assimilation on Massive GPUs

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20210730

RJ01 Rejection of invention patent application after publication