RECURSIVE ALGORITHMS FOR DISTRIBUTED FORESTS OF OCTREES
Tobin Isaac, Carsten Burstedde, Lucas C. Wilcox, Omar · 2014
Abstract. The forest-of-octrees approach to parallel adaptive mesh refinement and coarsening (AMR) has recently been demonstrated in the context of a number of large-scale PDE-based appli-cations. Efficient reference software has been made freely available to the public both in the form of the standalone p4est library and more indirectly by the general-purpose finite element library deal.II, which has been equipped with a p4est backend. Although linear octrees, which store only leaf octants, have an underlying tree structure by definition, it is not often exploited in previously published mesh-related algorithms. This is because the branches are not explicitly stored, and because the topological relationships in meshes, such as the adjacency between cells, introduce dependencies that do not respect the octree hierarchy. In this work we combine hierarchical and topological relationships between octree branches to design efficient recursive algorithms that operate on distributed forests of octrees. We present three important algorithms with recursive implementations. The first is a parallel search for leaves matching any of a set of multiple search criteria, such as leaves that contain points or intersect polytopes. The second is a ghost layer construction algorithm that handles arbitrarily refined octrees that are not covered by previous algorithms, which require a 2:1 condition between neighboring leaves. The third is a universal mesh topology iterator. This iterator visits every cell in a domain partition, as well as every interface (face, edge and corner) between these cells. The iterator calculates the local topological information for every interface that it visits, taking into account the nonconforming interfaces that increase the complexity of describing the local topology. To demonstrate the utility of the topology iterator, we use it to compute the numbering and encoding of higher-order C0 nodal basis functions used for finite elements. We analyze the complexity of the new recursive algorithms theoretically, and assess their perfor-mance, both in terms of single-processor efficiency and in terms of parallel scalability, demonstrating good weak and strong scaling up to 458k cores of the JUQUEEN supercomputer.