Efficient mesh management in Firedrake using PETSc-DMPlex
Michael Lange, Lawrence Mitchell, Matthew G. Knepley, Gerard J. Gorman

TL;DR
This paper presents a method that integrates PETSc DMPlex with Firedrake to enable flexible, high-performance finite element computations with efficient mesh management and data layout optimizations.
Contribution
It demonstrates how to combine PETSc DMPlex with Firedrake for flexible, high-performance PDE solving, supporting various mesh formats and domain decompositions.
Findings
Enhanced cache coherency through data layout optimizations
Support for multiple mesh input formats and runtime domain decomposition
Improved performance in finite element assembly processes
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 optimisations. 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 utilises 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 discretisations, while utilising data layout optimisations that improve cache coherency and ensure overlapped communication during assembly…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
