Abstract

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.

MSC codes

  1. 65M50
  2. 65Y05
  3. 68W10
  4. 65D18

Keywords

  1. forest of octrees
  2. parallel adaptive mesh refinement
  3. Morton code
  4. scalable algorithms
  5. large-scale scientific computing

Get full access to this article

View all available purchase options and get full access to this article.

References

1.
V. Akçelik, J. Bielak, G. Biros, I. Epanomeritakis, A. Fernandez, O. Ghattas, E. J. Kim, J. Lopez, D. R. O'Hallaron, T. Tu, and J. Urbanic, High resolution forward and inverse earthquake modeling on terascale computers, in SC '03: Proceedings of the ACM/IEEE International Conference for High Performance Computing, Networking, Storage, and Analysis, ACM, New York, 2003.
2.
W. Bangerth, C. Burstedde, T. Heister, and M. Kronbichler, Algorithms and data structures for massively parallel generic adaptive finite element codes, ACM Trans. Math. Software, to appear.
3.
W. Bangerth, R. Hartmann, and G. Kanschat, deal.II—a general-purpose object-oriented finite element library, ACM Trans. Math. Software, 33 (2007), article 24.
4.
B. K. Bergen, F. Hülsemann, and U. Rüde, Is $1.7\times10^{10}$ unknowns the largest finite element system that can be solved today?, in SC '05: Proceedings of the ACM/IEEE International Conference for High Performance Computing, Networking, Storage, and Analysis, ACM, New York, 2005.
5.
M. J. Berger and J. Oliger, Adaptive mesh refinement for hyperbolic partial differential equations, J. Comput. Phys., 53 (1984), pp. 484–512.
6.
G. L. Bryan, T. Abel, and M. L. Norman, Achieving extreme resolution in numerical cosmology using adaptive mesh refinement: Resolving primordial star formation, in SC '01: Proceedings of the ACM/IEEE International Conference for High Performance Computing, Networking, Storage, and Analysis, ACM, New York, 2001.
7.
C. Burstedde, M. Burtscher, O. Ghattas, G. Stadler, T. Tu, and L. C. Wilcox, ALPS: A framework for parallel adaptive PDE solution, J. Phys. Conf. Ser., 180 (2009), 012009.
8.
C. Burstedde, O. Ghattas, M. Gurnis, E. Tan, T. Tu, G. Stadler, L. C. Wilcox, and S. Zhong, Scalable adaptive mantle convection simulation on petascale supercomputers, in SC '08: Proceedings of the ACM/IEEE International Conference for High Performance Computing, Networking, Storage, and Analysis, ACM, New York, 2008.
9.
C. Burstedde, O. Ghattas, G. Stadler, T. Tu, and L. C. Wilcox, Towards adaptive mesh PDE simulations on petascale computers, in Proceedings of Teragrid '08, Las Vegas, NV, 2008.
10.
C. Burstedde, O. Ghattas, G. Stadler, T. Tu, and L. C. Wilcox, Parallel scalable adjoint-based adaptive solution for variable-viscosity Stokes flows, Comput. Methods Appl. Mech. Engrg., 198 (2009), pp. 1691–1700.
11.
A. C. Calder, B. C. Curtis, L. J. Dursi, B. Fryxell, G. Henry, P. MacNeice, K. Olson, P. Ricker, R. Rosner, F. X. Timmes, H. M. Tufo, J. W. Truran, and M. Zingale, High-performance reactive fluid flow simulations using adaptive mesh refinement on thousands of processors, in SC '00: Proceedings of the ACM/IEEE International Conference for High Performance Computing, Networking, Storage, and Analysis, ACM, New York, 2000, pp. 56–56.
12.
P. Colella, J. Bell, N. Keen, T. J. Ligocki, M. Lijewski, and B. Van Straalen, Performance and scaling of locally-structured grid methods for partial differential equations, J. Phys. Conf. Ser., 78 (2007), pp. 1–13.
13.
K. D. Devine, E. G. Boman, R. T. Heaphy, B. A. Hendrickson, J. D. Teresco, J. Faik, J. E. Flaherty, and L. G. Gervasio, New challenges in dynamic load balancing, Appl. Numer. Math., 52 (2005), pp. 133–152.
14.
R. A. Finkel and J. L. Bentley, Quad trees A data structure for retrieval on composite keys, Acta Inform., 4 (1974), pp. 1–9.
15.
J. E. Flaherty, R. M. Loy, M. S. Shephard, B. K. Szymanski, J. D. Teresco, and L. H. Ziantz, Adaptive local refinement with octree load balancing for the parallel solution of three-dimensional conservation laws, J. Parallel and Distributed Computing, 47 (1997), pp. 139–152.
16.
U. Frisch, Turbulence: The Legacy of A. N. Kolmogorov, Cambridge University Press, Cambridge, UK, 1995.
17.
J.-L. Gailly and M. Adler, A massively spiffy yet delicately unobtrusive compression library, http://zlib.net/.
18.
T. Goodale, G. Allen, G. Lanfermann, J. Masso, T. Radke, E. Seidel, and J. Shalf, The Cactus framework and toolkit: Design and applications, in Vector and Parallel Processing—VECPAR '2002, 5th International Conference, Springer, New York, 2003.
19.
G. Karypis and V. Kumar, A parallel algorithm for multilevel graph partitioning and sparse matrix ordering, J. Parallel and Distributed Computing, 48 (1998), pp. 71–95.
20.
B. S. Kirk, J. W. Peterson, R. H. Stogner, and G. F. Carey, libMesh: A C++ library for parallel adaptive mesh refinement/coarsening simulations, Engineering with Computers, 22 (2006), pp. 237–254.
21.
A. Laszloffy, J. Long, and A. K. Patra, Simple data management, scheduling and solution strategies for managing the irregularities in parallel adaptive hp finite element simulations, Parallel Computing, 26 (2000), pp. 1765–1788.
22.
O. S. Lawlor, S. Chakravorty, T. L. Wilmarth, N. Choudhury, I. Dooley, G. Zheng, and L. V. Kalé, ParFUM: A parallel framework for unstructured meshes for scalable dynamic physics applications, Engineering with Computers, 22 (2006), pp. 215–235.
23.
J. Luitjens, B. Worthen, M. Berzins, and T. C. Henderson, Scalable parallel AMR for the Uintah multiphysics code, in Petascale Computing Algorithms and Applications, D. A. Bader, ed., Chapman and Hall/CRC, Boca Raton, FL, 2007.
24.
D. Meagher, Geometric modeling using octree encoding, Computer Graphics and Image Processing, 19 (1982), pp. 129–147.
25.
R. J. Meyers, T. J. Tautges, and P. M. Tuchinsky, The hex-tet hex-dominant meshing algorithm as implemented in CUBIT, in Proceedings of the 7th International Meshing Roundtable, Sandia National Laboratory, Albuquerque, NM, 1998, pp. 151–158.
26.
G. M. Morton, A Computer Oriented Geodetic Data Base; and a New Technique in File Sequencing, Technical report, IBM Ltd., Armonk, NY, 1966.
27.
C. D. Norton, J. Z. Lou, and T. A. Cwik, Status and directions for the pyramid parallel unstructured amr library, in Proceedings of the 15th IEEE International Parallel and Distributed Processing Symposium (IPDPS), 2001, p. 120.
28.
M. Paszyński, D. Pardo, C. Torres-Verdín, L. Demkowicz, and V. Calo, A parallel direct solver for the self-adaptive hp-finite element method, J. Parallel and Distributed Computing, 70 (2010), pp. 270–281.
29.
S. Popinet, Gerris: A tree-based adaptive solver for the incompressible Euler equations in complex geometries, J. Comput. Phys., 190 (2003), pp. 572–600.
30.
R. S. Sampath, S. S. Adavani, H. Sundar, I. Lashuk, and G. Biros, Dendro: Parallel algorithms for multigrid and AMR methods on 2:1 balanced octrees, in SC '08: Proceedings of the ACM/IEEE International Conference for High Performance Computing, Networking, Storage, and Analysis, ACM, New York, 2008.
31.
R. S. Sampath and G. Biros, A parallel geometric multigrid method for finite elements on octree meshes, SIAM J. Sci. Comput., 32 (2010), pp. 1361–1392.
32.
G. Stadler, M. Gurnis, C. Burstedde, L. C. Wilcox, L. Alisic, and O. Ghattas, The dynamics of plate tectonics and mantle flow: From local to global scales, Science, 329 (2010), pp. 1033–1038.
33.
J. R. Stewart and H. C. Edwards, A framework approach for developing parallel adaptive multiphysics applications, Finite Elem. Anal. Des., 40 (2004), pp. 1599–1617.
34.
H. Sundar, R. S. Sampath, and G. Biros, Bottom-up construction and 2:1 balance refinement of linear octrees in parallel, SIAM J. Sci. Comput., 30 (2008), pp. 2675–2708.
35.
H. Sundar, R. S. Sampath, S. S. Adavani, C. Davatzikos, and G. Biros, Low-constant parallel algorithms for finite element simulations using linear octrees, in SC '07: Proceedings of the ACM/IEEE International Conference for High Performance Computing, Networking, Storage, and Analysis, ACM, New York, 2007.
36.
H. Tropf and H. Herzog, Multidimensional range search in dynamically balanced trees, Angewandte Informatik, 2 (1981), pp. 71–77.
37.
T. Tu, D. R. O'Hallaron, and O. Ghattas, Scalable parallel octree meshing for terascale applications, in SC '05: Proceedings of the ACM/IEEE International Conference for High Performance Computing, Networking, Storage, and Analysis, ACM, New York, 2005.
38.
T. Tu, H. Yu, L. Ramirez-Guzman, J. Bielak, O. Ghattas, K.-L. Ma, and D. R. O'Hallaron, From mesh generation to scientific visualization: An end-to-end approach to parallel supercomputing, in Proceedings of SC2006, Tampa, FL, 2006.
39.
L. C. Wilcox, G. Stadler, C. Burstedde, and O. Ghattas, A high-order discontinuous Galerkin method for wave propagation through coupled elastic-acoustic media, J. Comput. Phys., 229 (2010), pp. 9373–9396.

Information & Authors

Information

Published In

cover image SIAM Journal on Scientific Computing
SIAM Journal on Scientific Computing
Pages: 1103 - 1133
ISSN (online): 1095-7197

History

Submitted: 9 April 2010
Accepted: 2 February 2011
Published online: 17 May 2011

MSC codes

  1. 65M50
  2. 65Y05
  3. 68W10
  4. 65D18

Keywords

  1. forest of octrees
  2. parallel adaptive mesh refinement
  3. Morton code
  4. scalable algorithms
  5. large-scale scientific computing

Authors

Affiliations

Metrics & Citations

Metrics

Citations

If you have the appropriate software installed, you can download article citation data to the citation manager of your choice. Simply select your manager software from the list below and click Download.

Cited By

Media

Figures

Other

Tables

Share

Share

Copy the content Link

Share with email

Email a colleague

Share on social media

The SIAM Publications Library now uses SIAM Single Sign-On for individuals. If you do not have existing SIAM credentials, create your SIAM account https://my.siam.org.