CN113191046A - 一种基于ras对等式交互的有限元程序并行化方法 - Google Patents
一种基于ras对等式交互的有限元程序并行化方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/23—Design 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对等式交互的有限元程序并行化方法。
背景技术
有限元方法作为一种应用于解决工程学和数学物理学的数值方法,被广泛应用于结构分析等工程领域典型问题。通过将结构的特定研究区域离散为数个特定形状的单元,能够将最初描述物理现象的偏微分方程转变为某种形式的矩阵方程,利用特定离散点的计算结果来表征结构内任一点的物理量计算结果,从而简化问题。利用有限元方法对工程问题进行分析,能够为工程实际中问题的研究提供指导,缩短结构设计周期、节约试验成本。
然而随着某些工程问题越来越复杂,有限元方法的求解规模也越来越大,传统的开源串行计算方法无论在性能还是求解速度上都难以满足要求,同时也对计算机内存提出了更高的要求。除此之外,随着Eigen、MKL等线性代数运算库的飞速发展,如何将有限元过程与现有的功能强大的库函数相结合从而显著减少总运算时间,也成为了一个严峻的问题。
当考虑结构计算的材料非线性、结构非线性和接触非线性时,有限元计算规模迅速增加,如果考虑抗震特性或者可靠度等情况,将进一步增加计算耗时。随着科技水平的发展,计算机硬件技术得到了快速发展,除了大型化的超级计算机面向科研人员开放使用,小型超级计算集群也成为了很多科研单位的计算资源。然而,在硬件技术提高的同时,应该开发对应性能的有限元分析软件。
采用并行计算是提高有限元计算效率的必要前提,有限元离散的基本思想结合并行计算的分而治之,使有限元计算的并行化有了依据。当前实现有限元并行算法的方法较少,仅部分商用软件实现了该功能,且存在很多局限性:1)商用软件不开放其源代码,使得求解问题的局限性增大,对其参数的设置需要不断尝试,收敛性也不易控制;2)不利用使用者自主开发高效的本构模型和算法,针对不断涌现的工程问题不能及时的更新;3)商业软件一般价格比较昂贵,且每次重新升级都需要重新授权。与此同时,针对并行环境计算的各种开源程序不断涌现,使得自主开发并行程序成为了可能。因此亟需一种基于高效、便捷、与其他库函数结合方便的有限元并行分析方法,从而大幅缩短有限元方法中大型矩阵的形成时间,减少试验成本。
发明内容
本发明的目的是提供一种基于RAS对等式交互的有限元程序并行化方法,通过分析现有有限元程序求解的特点,分析子空间迭代方法中常用算法的求解流程,在利用MPI函数库实现并行化的基础上,在对现有有限元程序改动最小的情况下,实现高效率有限元并行计算。
为实现上述目的,本发明采用的技术方案是:
一种基于RAS对等式交互的有限元程序并行化方法,包括以下步骤:
步骤一,初始化MPI并行环境,获取进程号和总进程个数;
步骤二,读取数据文件;
步骤三,建立局部到整体的映射关系;
步骤四,确定本进程存储刚度矩阵的起始行IStart和终止行Iend,预分配分布式刚度矩阵;
步骤五,按照未知量eqmap映射关系组装分布式整体刚度矩阵k;
步骤六,使用并行求解器求解有限元方程组;
步骤七,按照未知量eqmap映射获取本进程结果,并散发其他进程需求的解;
步骤八,后处理,终止并行环境。
具体地,步骤一中,所述MPI是一种跨语言的通讯协议,用于编写并行计算机;每个所述进程都对应一个进程号。
具体地,步骤二中,所述数据文件包括有限元模型数据,所述有限元模型数据包括节点、单元、分区、材料、载荷、约束和交互界面;其中,Di为第i个分区,为重叠型分区,为限制分区,为非重叠分区;分区Di包含限制分区和镜像点区域。
具体地,步骤三中,所述映射关系包括自由度映射dofmap和未知量映射eqmap;其中,自由度映射dofmap是局部自由度编号和整体自由度编号之间的关系;未知量映射eqmap是局部未知量编号和整体未知量编号之间的关系,由不包含约束的节点自由度按照dof映射累加之后填充得到。
具体地,步骤四中,所述预分配刚度矩阵按照未知量映射eqmap对整体刚度矩阵进行遍历,形成整体刚度矩阵的指示矩阵,确定第i个进程的整体刚度矩阵ki中的主对角阵和非主对角阵每一行非零元素个数,然后预分配分布式刚度矩阵。
具体地,步骤五中,所述分布式整体刚度矩阵k按照每个节点分别组装ki;
具体地,步骤六中,所述有限元方程组为:
ku=f
其中,u为有限元控制方程中的位移,f为有限元控制方程中的等效节点荷载;
对于重叠型分区,第i个分区Di区域上的解为:
ui=Riu
其中,Ri为Di的限制矩阵,将整个区域的解集成可以得到:
与现有技术相比,本发明的有益效果是:本发明的有限元程序并行化方法通过分析现有有限元程序求解的特点,分析子空间迭代方法中常用算法的求解流程,在利用MPI函数库实现并行化的基础上,在对现有有限元程序改动最小的情况下,显著提高了有限元并行计算的效率。
附图说明
图1为本发明实施例一种基于RAS对等式交互的有限元程序并行化方法的流程图;
图2为本发明实施例中验证算例有限元网格和分区示意图;
图3为本发明实施例中RAS区域分解示意图;
图4为本发明实施例中验证算例Z向位移图;
图5为本发明实施例中验证算例求解消耗总时间与进程数量关系图;
图6为本发明实施例中验证算例求解加速比与进程数量关系图。
具体实施方式
下面将结合本发明中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动条件下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,本实施例提供了一种基于RAS对等式交互的有限元程序并行化方法,主要包括以下几个步骤:
第一步,初始化MPI并行环境,获取进程号和总进程个数;
第二步,读取数据文件,尺寸为200m×200m×100m的立方体,网格划分为100×100×10,底部固定约束,受自重荷载作用,有限元网格和分区如附图2所示;材料参数如表1所示;
表1材料参数
第三步,建立局部到整体映射关系,包括自由度映射dofmap和未知量映射eqmap;其中,自由度映射dofmap是局部自由度编号和整体自由度编号之间的关系;未知量映射eqmap是局部未知量编号和整体未知量编号之间的关系,由不包含约束的节点自由度按照dof映射累加之后填充得到;
第四步,确定本进程存储刚度矩阵的起始行IStart和终止行Iend,按照未知量映射eqmap对整体刚度矩阵进行遍历,形成整体刚度矩阵的指示矩阵,确定第i个进程的整体刚度矩阵ki中的主对角阵和非主对角阵每一行非零元素个数,然后预分配分布式刚度矩阵;
第五步,按照未知量eqmap映射关系组装分布式整体刚度矩阵k,所述分布式整体刚度矩阵k按照每个节点分别组装ki;
第六步,使用并行求解器求解有限元方程组;有限元方程组为:
ku=f
其中,u为有限元控制方程中的位移,f为有限元控制方程中的等效节点荷载;
对于重叠型分区,第i个分区Di区域上的解为:
ui=Riu
第七步,按照未知量eqmap映射获取本进程结果,并散发其他进程需要的解;
第八步,后处理,终止并行环境。
采用本实施例的基于RAS对等式交互的有限元程序并行化方法对有限元进行计算,得到的算例Z向位移如图4所示,验证算例求解消耗总时间与进程数量关系如图5所示,验证算例求解加速比与进程数量关系如图6所示;从上图4至6可以看出,采用本实施例的基于RAS对等式交互的有限元程序并行化方法,相较于现有的有限元计算方法,显著提高了有限元并行计算的效率。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (7)
1.一种基于RAS对等式交互的有限元程序并行化方法,其特征在于,包括以下步骤:
步骤一,初始化MPI并行环境,获取进程号和总进程个数;
步骤二,读取数据文件;
步骤三,建立局部到整体的映射关系;
步骤四,确定本进程存储刚度矩阵的起始行IStart和终止行Iend,预分配分布式刚度矩阵;
步骤五,按照未知量eqmap映射关系组装分布式整体刚度矩阵k;
步骤六,使用并行求解器求解有限元方程组;
步骤七,按照未知量eqmap映射获取本进程结果,并散发其他进程需求的解;
步骤八,后处理,终止并行环境。
2.根据权利要求1所述的一种基于RAS对等式交互的有限元程序并行化方法,其特征在于,步骤一中,所述MPI是一种跨语言的通讯协议,用于编写并行计算机;每个所述进程都对应一个进程号。
4.根据权利要求3所述的一种基于RAS对等式交互的有限元程序并行化方法,其特征在于,步骤三中,所述映射关系包括自由度映射dofmap和未知量映射eqmap;其中,自由度映射dofmap是局部自由度编号和整体自由度编号之间的关系;未知量映射eqmap是局部未知量编号和整体未知量编号之间的关系,由不包含约束的节点自由度按照dof映射累加之后填充得到。
5.根据权利要求4所述的一种基于RAS对等式交互的有限元程序并行化方法,其特征在于,步骤四中,所述预分配刚度矩阵按照未知量映射eqmap对整体刚度矩阵进行遍历,形成整体刚度矩阵的指示矩阵,确定第i个进程的整体刚度矩阵ki中的主对角阵和非主对角阵每一行非零元素个数,然后预分配分布式刚度矩阵。
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)
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 | 英特尔公司 | 用于异构计算的系统、方法和装置 |
-
2021
- 2021-04-20 CN CN202110423631.4A patent/CN113191046A/zh active Pending
Patent Citations (4)
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)
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 |