Section: New Software and Platforms
PaMPA
Parallel Mesh Partitioning and Adaptation
Keywords: Dynamic load balancing - Unstructured heterogeneous meshes - Parallel remeshing - Subdomain decomposition - Parallel numerical solvers
Scientific Description
PaMPA is a parallel library for handling, redistributing and remeshing unstructured meshes on distributed-memory architectures. PaMPA dramatically eases and speeds-up the development of parallel numerical solvers for compact schemes. It provides solver writers with a distributed mesh abstraction and an API to:
-
describe unstructured and possibly heterogeneous meshes, on the form of a graph of interconnected entities of different kinds (e.g. elements, faces, edges, nodes);
-
distribute such meshes across processing elements, with an overlap of variable width;
-
perform synchronous or asynchronous data exchanges of values across processing elements;
-
describe numerical schemes by means of iterators over mesh entities and their connected neighbors of a given kind;
-
perform parallel dynamic remeshing, by applying adequately a user-provided sequential remesher to relevant areas of the distributed mesh.
PaMPA runs concurrently multiple sequential remeshing tasks to perform dynamic parallel remeshing and redistribution of very large unstructured meshes. E.g., it can remesh a tetrahedral mesh from 43 millio elements to more than 1 billion elements on 280 Broadwell processors in 20 minutes.
Functional Description
Parallel library for handling, redistributing and remeshing unstructured, heterogeneous meshes on distributed-memory architectures. PaMPA dramatically eases and speeds-up the development of parallel numerical solvers for compact schemes.