[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article

Efficient Mesh Management in Firedrake Using PETSc DMPlex

Published: 27 October 2016 Publication History

Abstract

The use of composable abstractions allows the application of new and established algorithms to a wide range of problems, while automatically inheriting the benefits of well-known performance optimizations. This work highlights the composition of the PETSc DMPlex domain topology abstraction with the Firedrake automated finite element system to create a PDE solving environment that combines expressiveness, flexibility, and high performance. We describe how Firedrake utilizes DMPlex to provide the indirection maps required for finite element assembly, while supporting various mesh input formats and runtime domain decomposition. In particular, we describe how DMPlex and its accompanying data structures allow the generic creation of user-defined discretizations, while utilizing data layout optimizations that improve cache coherency and ensure overlapped communication during assembly computation.

References

[1]
M. S. Aln\aes, A. Logg, K. B. Ølgaard, M. E. Rognes, and G. N. Wells, Unified form language: A domain-specific language for weak formulations of partial differential equations, ACM Trans. Math. Software, 40 (2014), 9. http://dl.acm.org/citation.cfm?id=2566630
[2]
S. Balay, S. Abhyankar, M. F. Adams, J. Brown, P. Brune, K. Buschelman, L. Dalcin, V. Eijkhout, W. Gropp, D. Kaushik, M.Knepley, L. C. McInnes, K. Rupp, B. Smith, S. Zampini, and H. Zhang, PETSc Users Manual, Technical report ANL-95/11 - Revision 3.6, Mathematics and Computer Science Division, Argonne National Laboratory, Lemont, IL, 2015. Available online at http://www.mcs.anl.gov/petsc/petsc-3.6/docs/manual.pdf.
[3]
J. Brown, Star Forests as a Parallel Communication Model, Technical report, 2011. http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20111224/7bfa1e70/attachment.pdf.
[4]
J. Brown, M. G. Knepley, D. A. May, L. C. McInnes, and B. Smith, Composable linear solvers for multiphysics, in Proceedings of the 11th International Symposium on Parallel and Distributed Computing (ISPDC), IEEE Computer Society, Washington, DC, 2012, pp. 55--62. http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6341494
[5]
J. Brown, M. G. Knepley, and B. F. Smith, Run-time extensibility and librarization of simulation software, IEEE Comput. Sci. Engrg., 17 (2015), pp. 38--45.
[6]
P. R. Brune, M. G. Knepley, and L. R. Scott, Unstructured geometric multigrid in two and three dimensions on complex and graded meshes, SIAM J. Sci. Comput., 35 (2013), pp. A173--A191. http://epubs.siam.org/doi/abs/10.1137/110827077
[7]
E. Cuthill and J. McKee, Reducing the bandwidth of sparse symmetric matrices, in Proceedings of the 24th National Conference (ACM '69), ACM, New York, 1969, pp. 157--172.
[8]
R. D. Falgout, J. E. Jones, and U. M. Yang, The design and implementation of hypre, a library of parallel high performance preconditioners, in Numerical Solution of Partial Differential Equations on Parallel Computers, A. M. Bruaset and A. Tveito, eds., Lecture Notes in Comput. Sci. Eng. 51, Springer, Berlin, 2006, pp. 267--294.
[9]
A. George and J. W. Liu, Computer Solution of Large Sparse Positive Definite Systems, Prentice-Hall Ser. Comput. Math., Prentice-Hall, Englewood Cliffs, NJ, 1981.
[10]
C. Geuzaine and J.-F. Remacle, Gmsh: A 3-D finite element mesh generator with built-in pre- and post-processing facilities, Internat. J. Numer. Methods Engrg., 79 (2009), pp. 1309--1331. http://onlinelibrary.wiley.com/doi/10.1002/nme.2579/abstract
[11]
F. Günther, M. Mehl, M. Pögl, and C. Zenger, A cache-aware algorithm for PDEs on hierarchical data structures based on space-filling curves, SIAM J. Sci. Comput., 28 (2006), pp. 1634--1650. http://epubs.siam.org/doi/abs/10.1137/040604078
[12]
G. Haase, M. Liebmann, and G. Plank, A Hilbert-order multiplication scheme for unstructured sparse matrices, Inter. J. Parallel Emergent Distrib. Syst., 22 (2007), pp. 213--220.
[13]
D. A. Ibanez, E. S. Seol, C. W. Smith, and M. S. Shephard, PUMI: Parallel unstructured mesh infrastructure, submitted.
[14]
R. C. Kirby, Algorithm 839: Fiat, a new paradigm for computing finite element basis functions, ACM Trans. Math. Software, 30 (2004), pp. 502--516. http://dl.acm.org/citation.cfm?doid=1039813.1039820
[15]
M. G. Knepley and D. A. Karpeev, Mesh algorithms for PDE with Sieve I: Mesh distribution, Sci. Program., 17 (2009), pp. 215--230.
[16]
M. G. Knepley, M. Lange, and G. J. Gorman, Unstructured overlapping mesh distribution in parallel, submitted. Preprint version available online at http://arxiv.org/abs/1506.06194 arXiv:1506.06194[cs.MS].
[17]
M. Lange, M. G. Knepley, and G. J. Gorman, Flexible, scalable mesh and data management using PETSc DMPlex, in Proceedings of the 3rd International Conference on Exascale Applications and Software (EASC 2015), The University of Edinburgh, Edinburgh, UK, 2015, pp. 71--76. Available online at http://www.easc2015.ed.ac.uk/sites/default/files/attachments/EASC15Proceedings.pdf.
[18]
A. Logg, Efficient representation of computational meshes, Internat. J. Comput. Sci. Engrg., 4 (2009), pp. 283--295. http://www.inderscience.com/offer.php?id=29164
[19]
A. Logg, G. N. Wells, and J. Hake, DOLFIN: A C++/Python finite element library, in Automated Solution of Differential Equations by the Finite Element Method, A. Logg, K.-A. Mardal, and G. Wells, eds., Lecture Notes in Comput. Sci. Engrg. 84, Springer, Berlin, 2012, pp. 173--225.
[20]
G. R. Mudalige, M. B. Giles, I. Reguly, C. Bertolli, and P. H. J. Kelly, OP2: An active library framework for solving unstructured mesh-based applications on multi-core and many-core architectures, in Proceedings of Innovative Parallel Computing (InPar), IEEE Computer Society, Washington, DC, 2012, pp. 1--12.
[21]
C. Ollivier-Gooch, A mesh-database-independent edge-and face-swapping tool, in Proceedings of the 44th AIAA Aerospace Sciences Meeting and Exhibit, Reno, NV, 2006, AIAA 2006-533.
[22]
C. Ollivier-Gooch, L. Diachin, M. S. Shephard, T. Tautges, J. Kraftcheck, V. Leung, X. Luo, and M. Miller, An interoperable, data-structure-neutral component for mesh query and manipulation, ACM Trans. Math. Software, 37 (2010), 29. http://dl.acm.org/citation.cfm?id=1864430
[23]
F. Rathgeber, D. A. Ham, L. Mitchell, M. Lange, F. Luporini, A. T. T. McRae, G.-T. Bercea, G. R. Markall, and P. H. J. Kelly, Firedrake: Automating the finite element method by composing abstractions, submitted. Preprint version available online at http://arXiv.org/abs/1501.01809 arxiv:1501.01809[cs.MS].
[24]
F. Rathgeber, G. R. Markall, L. Mitchell, N. Loriant, D. A. Ham, C. Bertolli, and P. H. J. Kelly, PyOP2: A high-level framework for performance-portable simulations on unstructured meshes, in Proceedings of High Performance Computing, Networking, Storage and Analysis (2012 SC Companion), IEEE Computer Society, Washington, DC, pp. 1116--1123. http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6495916
[25]
T. J. Tautges, R. Meyers, K. Merkley, C. Stimpson, and C. Ernst, MOAB: A Mesh-Oriented Database, Technical report SAND2004-1592, Sandia National Laboratories, Albuquerque, NM, 2004.
[26]
S.-E. Yoon, P. Lindstrom, V. Pascucci, and D. Manocha, Cache-oblivious mesh layouts, ACM Trans. Graph., 24 (2005), pp. 886--893. http://dl.acm.org/citation.cfm?id=1073278

Cited By

View all
  • (2023)Communication-Avoiding Optimizations for Large-Scale Unstructured-Mesh Applications with OP2Proceedings of the 52nd International Conference on Parallel Processing10.1145/3605573.3605604(380-391)Online publication date: 7-Aug-2023
  • (2021)Irksome: Automating Runge–Kutta Time-stepping for Finite Element MethodsACM Transactions on Mathematical Software10.1145/346616847:4(1-26)Online publication date: 28-Sep-2021

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image SIAM Journal on Scientific Computing
SIAM Journal on Scientific Computing  Volume 38, Issue 5
Special Section on Two Themes: CSE Software and Big Data in CSE
2016
1789 pages
ISSN:1064-8275
DOI:10.1137/sjoce3.38.5
Issue’s Table of Contents

Publisher

Society for Industrial and Applied Mathematics

United States

Publication History

Published: 27 October 2016

Author Tags

  1. mesh
  2. topology
  3. partitioning
  4. renumbering
  5. Firedrake
  6. PETSc

Author Tags

  1. 65Y05
  2. 65Y15
  3. 65M60
  4. 68N99

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Communication-Avoiding Optimizations for Large-Scale Unstructured-Mesh Applications with OP2Proceedings of the 52nd International Conference on Parallel Processing10.1145/3605573.3605604(380-391)Online publication date: 7-Aug-2023
  • (2021)Irksome: Automating Runge–Kutta Time-stepping for Finite Element MethodsACM Transactions on Mathematical Software10.1145/346616847:4(1-26)Online publication date: 28-Sep-2021

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media