一种均匀结构化网格并行分区方法技术

技术编号:32183249 阅读:24 留言:0更新日期:2022-02-08 15:45
本发明专利技术提出了一种均匀结构化网格并行分区方法,包括:S1,对象为矩形或长方体计算域并采用均匀、结构化网格对计算域进行离散;S2,判断总进程数是否为质数,若是,则沿网格数量最多的方向实行带状进程分布;若否,执行下一步骤;S3,根据总进程数和X方向的网格数量、Y方向的网格数量、Z方向的网格数量,求得满足计算域并行分区的进程分布方案;S4,若S3中所得进程分布不为整数,则使各个方向进程数之比尽可能近似于各方向网格数之比;S5,若根据S4得到的进程分布无法均分网格,则将各方向的多余网格数r

【技术实现步骤摘要】
一种均匀结构化网格并行分区方法


[0001]本专利技术涉及计算流体力学及并行计算领域,尤其涉及一种均匀结构化网格并行分区方法。

技术介绍

[0002]当前,流体仿真计算所用的网格规模呈现几何量级增长,由此所导致的计算耗时问题严重影响了工业设计的发展,并行计算技术是当前解决该问题的主要手段,其中网格分区是最常用的并行计算任务分配方法。在并行计算中,负载均衡、通信单元数都是影响并行效率的因素,其中的通信单元数直接影响并行效率。因此,需要在各进程网格规模近似一致的情况下拥有最少的通信单元即影像区单元。
[0003]常用的网格分区工具如Metis,主要针对非结构化网格,优点是适应所有网格类型,且能够较好的保证负载均衡。缺点在于,针对结构化网格尤其是非常规则的计算域,如矩形计算域、长方体计算域,划分后的网格并不能利用结构网格在拓扑上的优势优化通信过程,如图1所示。
[0004]对于矩形和长方体计算域,当采用均匀结构化网格对计算域进行离散时,由于整体上网格表现出极好的正交性和均匀性,此时可设计使总进程数为X、Y、Z三个方向进程数之积,依此对计算域进行均匀划分,既保证了负载均衡,同时由于在进程边界上是均匀的,其通信单元分布具有明显的规律。如图2,为8进程下长方体计算域所对应的3种区域划分方式,均能够较好的满足负载均衡,但不能够保证通信单元最少,即拥有最优的并行效率。相应的二维矩形计算域16进程下的并行分区如图3所示,同样的,在负载均衡的前提下不能保证找出通信单元数最少的进程分布。

技术实现思路

[0005]本专利技术旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种均匀结构化网格并行分区方法。
[0006]为了实现本专利技术的上述目的,本专利技术提供了一种均匀结构化网格并行分区方法,包括以下步骤:
[0007]S1,对象为矩形计算域并采用均匀、结构化网格对计算域进行离散;
[0008]S2,判断总进程数是否为质数,若是,则沿网格数量最多的方向实行带状进程分布;若否,执行下一步骤;
[0009]S3,根据总进程数和X方向的网格数量、Y方向的网格数量,求得满足计算域并行分区的进程分布方案;
[0010]S4,若S3中所得进程分布不为整数,则使各个方向进程数之比尽可能近似于各方向网格数之比;
[0011]S5,若根据S4得到的进程分布无法均分网格,则将X方向的多余网格数r
x
,Y方向的多余网格数r
y
分别均匀分配在0~r
x

1,0~r
y

1号进程,最终得到各方向的进程分布。
[0012]进一步地,所述S3中的满足计算域并行分区的式子为:
[0013]P=m*n;
[0014]其中,P为总进程数,m为X方向进程数,n为Y方向进程数。
[0015]进一步地,所述S3中的进程分布方案包括:
[0016][0017][0018]其中m为X方向进程数,n为Y方向进程数;
[0019]A为X方向网格单元数,B为Y方向网格单元数,P为总进程数。
[0020]本专利技术还提供一种均匀结构化网格并行分区方法,包括以下步骤:
[0021]S1,对象为长方体计算域并采用均匀、结构化网格对计算域进行离散;
[0022]S2,判断总进程数是否为质数,若是,则沿网格数量最多的方向实行带状进程分布;若否,执行下一步骤;
[0023]S3,根据总进程数和X方向的网格数量、Y方向的网格数量、Z方向的网格数量,求得满足计算域并行分区的进程分布方案;
[0024]S4,若S3中所得进程分布不为整数,则使各个方向进程数之比尽可能近似于各方向网格数之比;
[0025]S5,若根据S4得到的进程分布无法均分网格,则将X方向的多余网格数r
x
,Y方向的多余网格数r
y
,Z方向的多余网格数r
z
分别均匀分配在0~r
x

1,0~r
y

1,0~r
z

1号进程,最终得到各方向的进程分布。
[0026]进一步地,所述S3中的满足计算域并行分区的式子为:
[0027]P=m*n*k;
[0028]其中,P为总进程数,m为X方向进程数,n为Y方向进程数,k为Z方向进程数。
[0029]进一步地,所述S3中的进程分布方案包括:
[0030][0031][0032][0033]其中m为X方向进程数,n为Y方向进程数,k为Z方向进程数;
[0034]A为X方向网格单元数,B为Y方向网格单元数,C为Y方向网格单元数。
[0035]综上所述,由于采用了上述技术方案,本专利技术的有益效果是:在网格分区方面针对矩形、长方体计算域,网格划分结果能够充分利用非结构网格额拓扑特征,使通信单元分布规律,为后续的通信设计提供便利,其次给出的寻找最优进程分布方法,能够在保证各进程负载均衡的前提下,使并行计算过程中各进程间的通信数据最少,从而获得最优的并行加
速效果及并行效率。
[0036]本专利技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。
附图说明
[0037]本专利技术的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0038]图1是现有采用Metis对长方体结构化网格进行网格分区示意图。
[0039]图2是现有技术对三维8进程下计算域分区方式示意图。
[0040]图3是现有技术对二维16进程计算域分区方式示意图。
[0041]图4是本专利技术二维4进程通信单元分布及数量对比示意图。
[0042]图5是本专利技术具体实施的流程示意图。
[0043]图6是Metis和本专利技术网格并行分区结果对比示意图。
[0044]图7是计算域分区后的进程排序方式示意图。
[0045]图8是本专利技术网格为180*120*60,64进程下的通信单元数随进程分布的变化趋势示意图。
[0046]图9是本专利技术不同进程分布下3D顶板驱动方腔流MPI并行计算各部分耗时统计图。
[0047]图10是本专利技术不同进程分布下3D顶板驱动方腔流MPI并行计算过程中的通信单元数统计图。
[0048]图11是本专利技术余数放入不同进程的示意图。
具体实施方式
[0049]下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能理解为对本专利技术的限制。
[0050]本实施例公开一种均匀结构化网格并行分区方法,参见图5所示,包括:
[0051]S1,对于计算域为长方体,各方向网格数量分别为A本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种均匀结构化网格并行分区方法,其特征在于,包括以下步骤:S1,对象为矩形计算域并采用均匀、结构化网格对计算域进行离散;S2,判断总进程数是否为质数,若是,则沿网格数量最多的方向实行带状进程分布;若否,执行下一步骤;S3,根据总进程数和X方向的网格数量、Y方向的网格数量,求得满足计算域并行分区的进程分布方案;S4,若S3中所得进程分布不为整数,则使各个方向进程数之比尽可能近似于各方向网格数之比;S5,若根据S4得到的进程分布无法均分网格,则将X方向的多余网格数r
x
,Y方向的多余网格数r
y
分别均匀分配在0~r
x

1,0~r
y

1号进程,最终得到各方向的进程分布。2.根据权利要求1所述的一种均匀结构化网格并行分区方法,其特征在于,所述S3中的满足计算域并行分区的式子为:P=m*n;其中,P为总进程数,m为X方向进程数,n为Y方向进程数。3.根据权利要求1所述的一种均匀结构化网格并行分区方法,其特征在于,所述S3中的进程分布方案包括:进程分布方案包括:其中m为X方向进程数,n为Y方向进程数;A为X方向网格单元数,B为Y方向网格单元数,P为总进程数。4.一种均匀结构化网格并行分区方法,其特征在于,包括以下步骤:S1,对象为长方体计算域并采用均匀、结构化网格对...

【专利技术属性】
技术研发人员:张亚英吴乘胜王建春王星金奕星
申请(专利权)人:中船重工奥蓝托无锡软件技术有限公司
类型:发明
国别省市:

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

1