Skip to main content
QUICK REVIEW

[论文解读] Scalable Algorithms for Parallel Tree-based Adaptive Mesh Refinement with General Element Types

Johannes Holke|arXiv (Cornell University)|Mar 13, 2018
Computational Geometry and Mesh Generation参考文献 34被引用 6
一句话总结

本论文提出了一种可扩展的、与单元类型无关的自适应网格加密(AMR)框架,采用一种新型的四面体Morton空间填充曲线(TM-SFC)用于单纯形单元。该框架通过锚点节点坐标与单元类型的位域交错,实现了对三角形和四面体的常数时间、低级别操作,可在高达917,504个核心上实现强可扩展性与弱可扩展性,支持8580亿个单元。该方法支持动态负载均衡、ghost层管理及混合网格,通过与p4est集成,展示了在包括棱柱和六面体在内的多种单元类型上的高性能表现。

ABSTRACT

In this thesis, we develop, discuss and implement algorithms for scalable parallel tree-based adaptive mesh refinement (AMR) using space-filling curves (SFCs). We create an AMR software that works independently of the used element type, such as for example lines, triangles, tetrahedra, quadrilaterals, hexahedra, and prisms. Along with a detailed mathematical discussion, this requires the implementation as a numerical software and its validation, as well as scalability tests on current supercomputers. For triangular and tetrahedral elements (simplices) with red-refinement (1:4 in 2D, 1:8 in 3D), we develop a new SFC index, the tetrahedral Morton index (TM-index). Its construction is similar to the Morton index for quadrilaterals/hexahedra, as it is also based on bitwise interleaving the coordinates of a certain vertex of the simplex, the anchor node. We develop and demonstrate a new simplicial SFC and create a fast and scalable tree-based AMR software that offers a flexibility and generality that was previously not available.

研究动机与目标

  • 开发一种通用的、可扩展的AMR框架,支持任意单元类型,包括单纯形、四边形、六面体和棱柱。
  • 设计一种用于四面体和三角形单元的空间填充曲线(SFC),以实现高效、常数时间的网格操作,并保持良好的并行划分特性。
  • 实现一种模块化、低级别的API,将单元类型特定的逻辑与高层AMR算法解耦,从而在不同单元类型间实现复用。
  • 优化粗网格重划分与ghost层管理,实现高性能并行AMR,同时将通信开销降至最低。
  • 在百亿规模超算系统上验证该框架,支持高达8580亿个网格单元,并展示对混合2D/3D网格的支持。

提出的方法

  • 提出四面体Morton空间填充曲线(TM-SFC),通过将锚点节点坐标与单纯形单元的类型标识符交错,扩展经典Morton索引。
  • 定义一种低级别API,通过SFC索引抽象单元局部操作(如父单元、子单元、面邻接单元),实现类型无关的实现。
  • 实现一种自顶向下的搜索优化方法,用于树到树的面邻接单元计算,使ghost层生成速度提升10至20倍。
  • 设计一种粗网格重划分算法,最小化通信开销并实现负载均衡,在JUQUEEN超算上于917,504个进程中对3710亿棵树的网格实现1.2秒内完成。
  • 将TM-SFC集成至t8code库中,复用p4est处理六面体和四边形单元,并通过并发实现扩展支持棱柱单元。
  • 采用基于SFC的划分方法,并给出面连接组件的理论界:2D中为2(L−1),3D中为2L+1,确保通信开销可预测。

实验结果

研究问题

  • RQ1能否为四面体和三角形单元设计一种空间填充曲线,使其支持常数时间的单元操作并保持良好的并行划分特性?
  • RQ2如何设计一种模块化、与单元类型无关的AMR框架,以支持包括棱柱和单纯形在内的多种单元类型?
  • RQ3基于SFC的四面体网格划分中,面连接组件数量的理论上限是多少?
  • RQ4能否对粗网格重划分进行优化,使其在极端规模超算上高效扩展,同时最小化通信开销?
  • RQ5在不牺牲性能的前提下,如何高效地生成和管理类型无关的AMR框架中的ghost层?

主要发现

  • TM-SFC仅使用每单元14字节和10字节的存储空间,即可实现对四面体和三角形单元的父单元、子单元及面邻接单元的常数时间计算,其存储效率与经典Morton索引相当。
  • SFC划分中面连接组件的数量在2D中受2(L−1)限制,在3D中受2L+1限制,确保了随细化级别L的通信开销可预测。
  • 在JUQUEEN超算上,对3710亿棵树的网格进行粗网格重划分,算法运行时间仅为1.2秒,适用于917,504个进程。
  • 采用优化的自顶向下搜索方法生成ghost层,相比朴素方法实现10至20倍的加速,性能接近固定类型实现。
  • 该框架在高达917,504个进程、8580亿个网格单元下表现出色的强可扩展性与弱可扩展性,证实其具备exascale规模的可扩展性。
  • t8code与p4est对六面形单元的集成,以及棱柱单元的并发实现,实现了对混合2D和3D网格中多种单元类型的完整支持。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。