Flexible, Scalable Mesh and Data Management using PETSc DMPlex
File(s)1505.04633v1.pdf (477.38 KB)
Accepted version
Author(s)
Lange, M
Knepley, MG
Gorman, GJ
Type
Conference Paper
Abstract
Designing a scientific software stack to meet the needs of the
next-generation of mesh-based simulation demands, not only scalable and
efficient mesh and data management on a wide range of platforms, but also an
abstraction layer that makes it useful for a wide range of application codes.
Common utility tasks, such as file I/O, mesh distribution, and work
partitioning, should be delegated to external libraries in order to promote
code re-use, extensibility and software interoperability. In this paper we
demonstrate the use of PETSc's DMPlex data management API to perform mesh input
and domain partitioning in Fluidity, a large scale CFD application. We
demonstrate that raising the level of abstraction adds new functionality to the
application code, such as support for additional mesh file formats and mesh re-
ordering, while improving simulation startup cost through more efficient mesh
distribution. Moreover, the separation of concerns accomplished through this
interface shifts critical performance and interoperability issues, such as
scalable I/O and file format support, to a widely used and supported open
source community library, improving the sustainability, performance, and
functionality of Fluidity.
next-generation of mesh-based simulation demands, not only scalable and
efficient mesh and data management on a wide range of platforms, but also an
abstraction layer that makes it useful for a wide range of application codes.
Common utility tasks, such as file I/O, mesh distribution, and work
partitioning, should be delegated to external libraries in order to promote
code re-use, extensibility and software interoperability. In this paper we
demonstrate the use of PETSc's DMPlex data management API to perform mesh input
and domain partitioning in Fluidity, a large scale CFD application. We
demonstrate that raising the level of abstraction adds new functionality to the
application code, such as support for additional mesh file formats and mesh re-
ordering, while improving simulation startup cost through more efficient mesh
distribution. Moreover, the separation of concerns accomplished through this
interface shifts critical performance and interoperability issues, such as
scalable I/O and file format support, to a widely used and supported open
source community library, improving the sustainability, performance, and
functionality of Fluidity.
Date Issued
2015-04-21
Date Acceptance
2015-01-01
Citation
EASC '15 Proceedings of the 3rd International Conference on Exascale Applications and Software, 2015, pp.71-76
ISBN
978-0-9926615-1-9
Publisher
ACM
Start Page
71
End Page
76
Journal / Book Title
EASC '15 Proceedings of the 3rd International Conference on Exascale Applications and Software
Copyright Statement
© 2015 ACM
Identifier
http://arxiv.org/abs/1505.04633v1
Source
3rd International Conference on Exascale Applications and Software
Subjects
cs.MS
cs.MS
Notes
6 pages, 6 figures, to appear in EASC 2015
Publication Status
Published
Start Date
2015-04-21
Finish Date
2015-04-23
Coverage Spatial
Edinburgh, Scotland, UK