We introduce an algorithm that performs a one-directional mesh overset of a parallel forest of octrees with another distributed mesh of unrelated partition. The forest mesh consists of several adaptively refined octrees. Individual smooth mappings for every tree allow to represent a broad range of geometric domains. The other mesh is generic and defines a distributed set of query points, e.g. stemming from a quadrature rule applied to each cell. We face the problem of finding data for all queries in the remote forest. The forest is partitioned according to its natural Morton ordering. Thus, the partition boundaries can be encoded globally with one Morton index per process, which allows for precise, communication-free searching of the queries in the partition geometry. This is necessary to organize non-blocking communication of the queries to the relevant processes only. In a subsequent local search of the forest, we process the incoming queries and return the data of interest to each query's origin. The algorithm can be generalized, for example to load balancing of the overset, or adaptive refinement of the meshes around their intersection area. In 2D and 3D example scenarios we demonstrate the algorithm's performance and scalability to 12,288 processes.
翻译:本文提出一种算法,可实现并行八叉树森林与另一具有无关分区的分布式网格之间的单向网格重叠。森林网格由多个自适应细化的八叉树构成,每个树通过独立的平滑映射可表示广泛的几何域。另一网格为通用分布式查询点集(例如源自各单元求积规则的应用)。我们需解决在远程森林中为所有查询点寻找对应数据的问题。森林根据其自然莫顿序进行分区,因此分区边界可通过每个进程的单一莫顿索引进行全局编码,从而实现对查询点在分区几何中的精确无通信搜索。此机制对于组织仅针对相关进程的非阻塞查询通信至关重要。在后续的森林本地搜索中,我们处理传入的查询并将目标数据返回至各查询源。该算法可进一步扩展,例如用于重叠区域的负载均衡,或围绕网格相交区域的自适应细化。通过二维与三维示例场景,我们验证了算法在12,288个进程上的性能与可扩展性。