基于递归剖分和重排序的非结构网格并行处理方法和装置制造方法及图纸

技术编号:38773049 阅读:14 留言:0更新日期:2023-09-10 10:46
本申请涉及基于递归剖分和重排序的非结构网格并行处理方法和装置,该方法包括:调用网格剖分工具按照设定的正常剖分策略,对待求解的航行器非结构网格逐层进行递归剖分并对剖分后生成的各个子网格分区内的网格实体进行重排序;网格实体包括非结构网格单元、网格面和网格结点;将每次递归剖分和重排序后的各个子网格分区存储在树数据结构MeshTree中,直到非结构网格的分区网格数小于特定阈值;根据设计的基于MeshTree遍历的并行算法,对构建的树数据结构MeshTree进行递归遍历的并行计算,得到航行器的特性预测结果。大幅提高了非结构网格CFD的并行计算效率。网格CFD的并行计算效率。网格CFD的并行计算效率。

【技术实现步骤摘要】
基于递归剖分和重排序的非结构网格并行处理方法和装置


[0001]本专利技术属于非结构网格计算及高性能计算
,涉及一种基于递归剖分和重排序的非结构网格并行处理方法和装置。

技术介绍

[0002]为了应对能源约束和满足高性能需求,越来越多地采用众核处理器或异构加速器来构建百万兆次级的顶级高性能计算(HPC)系统。目前,共享内存计算节点可能包含划分为多个非统一内存访问(NUMA)域的CPU,总共有数百个CPU内核或硬件线程。同时,当前硬件设计中的某些资源(如内存或每个内核的通信带宽)没有相应地扩展甚至减少。这种不平衡的硬件趋势将在可预见的未来盛行,对开发高效和可扩展的HPC应用程序提出严峻挑战。除了从程序中挤出足够的并行度来使用海量内核之外,还应该谨慎处理由于缓存、内存、通信或连贯链路等受限资源的争用而可能导致的性能瓶颈。根据Amdahl定律,任何瓶颈都会随着多核处理器计算能力的提高而被放大;并行算法和编译器、运行时等工具都在努力和发展以克服前述不平衡的趋势。
[0003]随着高性能计算技术的发展,以计算流体力学(CFD)为代表的数值模拟软件已经在众多应用领域成为一种强大的计算工具,典型的应用领域包括飞机和车辆气动力学、船舶的流体动力学、内燃发动机、燃气轮机、环境工程和生物医学工程等。非结构网格能够适应复杂外形需求,在计算精度方面也比结构网格高很多,是目前CFD工程应用中最为广泛采用的一类网格。与结构网格CFD相比,基于非结构网格的CFD软件工具通常需要显式存储网格的拓扑信息,数据结构较为复杂,计算过程中需要间接索引,导致访存效率很低,同时由于循环内部的数据竞争,难以实现共享存储结点内高效的细粒度(如线程并行和向量化并行等)并行计算。例如在非结构网格CFD软件工具中,求解器的计算过程涉及到通量的计算,在计算面(face)的通量时会带入面所接触的两个单元(cell)的数据,由单元编号间接访问存储单元数据,在直接使用共享内存并行化策略时,会出现多个面对同个单元进行访存,形成数据冲突,故传统非结构网格CFD仍存在计算效率不高的技术问题。

技术实现思路

[0004]针对上述传统方法中存在的问题,本专利技术提出了一种基于递归剖分和重排序的非结构网格并行处理方法以及一种基于递归剖分和重排序的非结构网格并行处理装置,能够提高非结构网格CFD的并行计算效率,实现非结构网格的大型仿真系统大规模并行。
[0005]为了实现上述目的,本专利技术实施例采用以下技术方案:
[0006]一方面,提供一种基于递归剖分和重排序的非结构网格并行处理方法,包括步骤:
[0007]调用网格剖分工具按照设定的正常剖分策略,对待求解的航行器非结构网格逐层进行递归剖分并对剖分后生成的各个子网格分区内的网格实体进行重排序;网格实体包括非结构网格单元、网格面和网格结点;
[0008]将每次递归剖分和重排序后的各个子网格分区存储在树数据结构MeshTree中,直
到非结构网格的分区网格数小于特定阈值;
[0009]根据设计的基于MeshTree遍历的并行算法,对构建的树数据结构MeshTree进行递归遍历的并行计算,得到航行器的特性预测结果。
[0010]另一方面,还提供一种基于递归剖分和重排序的非结构网格并行处理装置,包括:
[0011]剖分排序模块,用于调用网格剖分工具按照设定的正常剖分策略,对待求解的航行器非结构网格逐层进行递归剖分并对剖分后生成的各个子网格分区内的网格实体进行重排序;网格实体包括非结构网格单元、网格面和网格结点;
[0012]树构建模块,用于将每次递归剖分和重排序后的各个子网格分区存储在树数据结构MeshTree中,直到非结构网格的分区网格数小于特定阈值;
[0013]树执行模块,用于根据设计的基于MeshTree遍历的并行算法,对构建的树数据结构MeshTree进行递归遍历的并行计算,得到航行器的特性预测结果。
[0014]又一方面,还提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述的基于递归剖分和重排序的非结构网格并行处理方法的步骤。
[0015]再一方面,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的基于递归剖分和重排序的非结构网格并行处理方法的步骤。
[0016]上述技术方案中的一个技术方案具有如下优点和有益效果:
[0017]上述基于递归剖分和重排序的非结构网格并行处理方法和装置,通过调用网格剖分工具,采用设定的正常剖分策略,对待求解的航行器非结构网格逐层进行递归剖分并对剖分后生成的各个子网格分区内的网格实体进行重排序,并将每次递归剖分和重排序后的各个子网格分区存储在树数据结构MeshTree中,该正常剖分策略下,对所有的分区都不断进行递归分解,直到非结构网格的分区网格数小于特定阈值,然后根据设计的基于MeshTree遍历的并行算法,对构建的树数据结构MeshTree进行递归遍历的并行计算,从而高效实现非结构网格CFD的并行计算,高效输出航行器的特性预测结果。
[0018]相比较于现如今的网格剖分方法,上述方案通过设置物理分割区,使得各个分区之间的数据不存在冲突,可以实现同时消除多种循环的数据依赖,实现代码大面积的并行加速,大幅提高了非结构网格CFD的并行计算效率,从而实现非结构网格的大型仿真系统大规模并行。此外,在通用性上,一方面上述方案可集成封装为一个通用的并行代码库,能够很好地兼容空气动力学、水动力学、反应堆热工水力、发动机内流仿真以及结构力学和电磁学等多种应用领域软件的开发;另一方面这种高层次抽象增加了方法对应的软件代码的可读性和可维护性,开发人员不需要深入理解具体的应用领域计算方法就能很容易找到各个层次需要维护和开发的接口。
附图说明
[0019]为了更清楚地说明本申请实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020]图1为传统非结构网格CFD软件中的数据依赖关系示意图;
[0021]图2为一个实施例中基于递归剖分和重排序的非结构网格并行处理方法的流程示意图;
[0022]图3为一个实施例中原始网格与递归剖分重排序后的网格对比示意图,其中,(a)为原始网格,(b)为剖分和重排序后的网格;
[0023]图4为一个实施例中递归剖分和重排序处理的流程示意图;
[0024]图5为一个实施例中构建的树数据结构MeshTree示意图;
[0025]图6为一个实施例中基于递归剖分和重排序的非结构网格并行处理装置的模块结构图。
具体实施方式
[0026]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于递归剖分和重排序的非结构网格并行处理方法,其特征在于,包括步骤:调用网格剖分工具按照设定的正常剖分策略,对待求解的航行器非结构网格逐层进行递归剖分并对剖分后生成的各个子网格分区内的网格实体进行重排序;所述网格实体包括非结构网格单元、网格面和网格结点;将每次递归剖分和重排序后的各个子网格分区存储在树数据结构MeshTree中,直到所述非结构网格的分区网格数小于特定阈值;根据设计的基于MeshTree遍历的并行算法,对构建的所述树数据结构MeshTree进行递归遍历的并行计算,得到航行器的特性预测结果。2.根据权利要求1所述的基于递归剖分和重排序的非结构网格并行处理方法,其特征在于,调用网格剖分工具按照设定的正常剖分策略,对待求解的航行器非结构网格逐层进行递归剖分并对剖分后生成的各个子网格分区内的网格实体进行重排序的步骤,包括:对于待求解的所述航行器非结构网格的每层网格,在当前次递归分解中调用所述网格剖分工具把非结构网格分解多个子网格分区;多个所述子网格分区中包括普通子网格分区和物理分割区;对于每个所述子网格分区,遍历所述子网格分区内所有的网格单元并检测所述网格单元是否与其他子网格分区内的网格单元存在数据依赖;将存在数据依赖的所述网格单元及相应的网格面和网格点划分到所述物理分割区中;将不存在依赖的所述网格单元及相应的网格面和网格结点划分到对应的所述普通子网格分区;将各所述子网格分区内的所述网格实体按照所在分区进行重排序,使分区内所述网格实体的编号连续;所述普通子网格分区和所述物理分割区均参与下次递归分解。3.根据权利要求2所述的基于递归剖分和重排序的非结构网格并行处理方法,其特征在于,设计的基于MeshTree遍历的并行算法为采用任务Task并行编程模型对所述树数据结构MeshTree的树结点进行递归遍历,调度执行各叶子结点。4.根据权利要求3所述的基于递归剖分和重排序的非结构网格并行处理方法,其特征...

【专利技术属性】
技术研发人员:徐传福邱昊中陈世钊丁越车永刚郭晓威高翔李超张翔林拥真汪青松戴未希周正
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:

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

1