p4est: Scalable Algorithms for Parallel Adaptive Mesh Refinement on Forests of Octrees

We present scalable algorithms for parallel adaptive mesh refinement and coarsening (AMR), partitioning, and 2:1 balancing on computational domains composed of multiple connected two-dimensional quadtrees or three-dimensional octrees, referred to as a forest of octrees. By distributing the union of octants from all octrees in parallel, we combine the high scalability proven previously for adaptive single-octree algorithms with the geometric flexibility that can be achieved by arbitrarily connected hexahedral macromeshes, in which each macroelement is the root of an adapted octree. A key concept of our approach is an encoding scheme of the interoctree connectivity that permits arbitrary relative orientations between octrees. Based on this encoding we develop interoctree transformations of octants. These form the basis for high-level parallel octree algorithms, which are designed to interact with an application code such as a numerical solver for partial differential equations. We have implemented and tested these algorithms in the p4est software library. We demonstrate the parallel scalability of p4est on its own and in combination with two geophysics codes. Using p4est we generate and adapt multioctree meshes with up to $5.13\times10^{11}$ octants on as many as 220,320 CPU cores and execute the 2:1 balance algorithm in less than 10 seconds per million octants per process.

[1]  Timothy J. Tautges,et al.  The "Hex-Tet" Hex-Dominant Meshing Algorithm as Implemented in CUBIT , 1998, IMR.

[2]  Karen D. Devinea,et al.  New Challenges in Dynamic Load Balancing , 2004 .

[3]  Michael Griebel,et al.  Parallel multigrid in an adaptive PDE solver based on hashing and space-filling curves , 1999, Parallel Comput..

[4]  Courtenay T. Vaughan,et al.  Zoltan data management services for parallel dynamic applications , 2002, Comput. Sci. Eng..

[5]  Ulrich Rüde,et al.  Is 1.7 x 10^10 Unknowns the Largest Finite Element System that Can Be Solved Today? , 2005, ACM/IEEE SC 2005 Conference (SC'05).

[6]  Vipin Kumar,et al.  A Parallel Algorithm for Multilevel Graph Partitioning and Sparse Matrix Ordering , 1998, J. Parallel Distributed Comput..

[7]  Martin Kronbichler,et al.  Algorithms and data structures for massively parallel generic adaptive finite element codes , 2011, ACM Trans. Math. Softw..

[8]  Hermann Tropf,et al.  Multimensional Range Search in Dynamically Balanced Trees , 1981, Angew. Inform..

[9]  George Biros,et al.  A Parallel Geometric Multigrid Method for Finite Elements on Octree Meshes , 2010, SIAM J. Sci. Comput..

[10]  Boleslaw K. Szymanski,et al.  Adaptive Local Refinement with Octree Load Balancing for the Parallel Solution of Three-Dimensional Conservation Laws , 1997, J. Parallel Distributed Comput..

[11]  U. Frisch Turbulence: The Legacy of A. N. Kolmogorov , 1996 .

[12]  David R. O'Hallaron,et al.  Scalable Parallel Octree Meshing for TeraScale Applications , 2005, ACM/IEEE SC 2005 Conference (SC'05).

[13]  Benjamin S. Kirk,et al.  Library for Parallel Adaptive Mesh Refinement / Coarsening Simulations , 2006 .

[14]  Carlos Torres-Verdín,et al.  A parallel direct solver for the self-adaptive hp Finite Element Method , 2010, J. Parallel Distributed Comput..

[15]  Georg Stadler,et al.  Parallel scalable adjoint-based adaptive solution of variable-viscosity Stokes flow problems , 2009 .

[16]  Christos Davatzikos,et al.  Low-constant parallel algorithms for finite element simulations using linear octrees , 2007, Proceedings of the 2007 ACM/IEEE Conference on Supercomputing (SC '07).

[17]  Tiankai Tu,et al.  High Resolution Forward And Inverse Earthquake Modeling on Terascale Computers , 2003, ACM/IEEE SC 2003 Conference (SC'03).

[18]  T. Tu,et al.  From Mesh Generation to Scientific Visualization: An End-to-End Approach to Parallel Supercomputing , 2006, ACM/IEEE SC 2006 Conference (SC'06).

[19]  Michael Zingale,et al.  High-Performance Reactive Fluid Flow Simulations Using Adaptive Mesh Refinement on Thousands of Processors , 2000, ACM/IEEE SC 2000 Conference (SC'00).

[20]  Georg Stadler,et al.  A high-order discontinuous Galerkin method for wave propagation through coupled elastic-acoustic media , 2010, J. Comput. Phys..

[21]  Georg Stadler,et al.  Scalable adaptive mantle convection simulation on petascale supercomputers , 2008, HiPC 2008.

[22]  Hari Sundar,et al.  Bottom-Up Construction and 2: 1 Balance Refinement of Linear Octrees in Parallel , 2008, SIAM J. Sci. Comput..

[23]  John Shalf,et al.  The Cactus Framework and Toolkit: Design and Applications , 2002, VECPAR.

[24]  M. Berger,et al.  Adaptive mesh refinement for hyperbolic partial differential equations , 1982 .

[25]  Martin Burtscher,et al.  ALPS: A framework for parallel adaptive PDE solution , 2009 .

[26]  W. Bangerth,et al.  deal.II—A general-purpose object-oriented finite element library , 2007, TOMS.

[27]  Michael L. Norman,et al.  Achieving extreme resolution in numerical cosmology using adaptive mesh refinement: resolving primordial star formation , 2001, SC.

[28]  Hari Sundar,et al.  Dendro: parallel algorithms for multigrid and AMR methods on 2:1 balanced octrees , 2008, HiPC 2008.

[29]  Donald Meagher,et al.  Geometric modeling using octree encoding , 1982, Computer Graphics and Image Processing.

[30]  Abani K. Patra,et al.  Simple data management, scheduling and solution strategies for managing the irregularities in parallel adaptive hp finite element simulations , 2000, Parallel Comput..

[31]  John Z. Lou,et al.  Status and directions for the PYRAMID parallel unstructured AMR library , 2001, Proceedings 15th International Parallel and Distributed Processing Symposium. IPDPS 2001.

[32]  Georg Stadler,et al.  Towards adaptive mesh PDE simulations on petascale computers , 2008 .

[33]  Georg Stadler,et al.  The Dynamics of Plate Tectonics and Mantle Flow: From Local to Global Scales , 2010, Science.

[34]  James R. Stewart,et al.  A framework approach for developing parallel adaptive multiphysics applications , 2004 .

[35]  S. Popinet Gerris: a tree-based adaptive solver for the incompressible Euler equations in complex geometries , 2003 .

[36]  Jon Louis Bentley,et al.  Quad trees a data structure for retrieval on composite keys , 1974, Acta Informatica.

[37]  M. Berzins,et al.  Scalable Parallel AMR for the Uintah Multi-Physics Code , 2007 .

[38]  Phillip Colella,et al.  Performance and scaling of locally-structured grid methods for partial differential equations - eScholarship , 2008 .

[39]  R. Dietmar Müller,et al.  Catastrophic initiation of subduction following forced convergence across fracture zones , 2003 .

[40]  Laxmikant V. Kalé,et al.  ParFUM: a parallel framework for unstructured meshes for scalable dynamic physics applications , 2006, Engineering with Computers.