EN FR
EN FR


Section: New Software and Platforms

PaMPA

Keywords: parallel numerical solvers, unstructured heterogeneous meshes, dynamic load balancing, subdomain decomposition, parallel remeshing

Functional Description PaMPA (“Parallel Mesh Partitioning and Adaptation”) is a library dedicated to the management of distributed meshes. Its purpose is to relieve solver writers from the tedious and error-prone task of writing again and again service routines for mesh handling, data communication and exchange, remeshing, and data redistribution. It is based on a distributed data structure that represents meshes as a set of entities (elements, faces, edges, nodes, etc.), linked by relations (that is, computation dependencies).

PaMPA interfaces with Scotch for mesh redistribution, and with MMG3D for parallel remeshing of tetrahedral elements. Other sequential remeshers can be plugged-in, in order to handle other types of elements.

Version 1.0 of PaMPA allows users to declare distributed meshes, to declare values attached to the entities of the meshes (e.g. temperature attached to elements, pressures to the faces, etc.), to exchange values between overlapping entities located at the boundaries of subdomains assigned to different processors, to iterate over the relations of entities (e.g. iterate over the faces of elements), to remesh in parallel the areas of a mesh that need to be remeshed, and to redistribute evenly the remeshed mesh across the processors of the parallel architecture. PaMPA is already used as the data structure manager for the AeroSol solver developed by teams CARDAMOM and CAGIRE.

Version 2.0 of PaMPA features parallel remeshing using any sequential remesher. At the time being, PaMPA is interfaced with the MMG3D tetrahedral remesher designed within team CARDAMOM. Its coupling with Tetgen is in progress. Meshes above one billion elements are generated with a quality similar to that offered by the sequential remesher alone. More than 1 billion of elements are obtained on a cluster with 600 processors in less than 20 minutes. Tests show a quite good weak scalability up to 600 processors, limited by cluster size. Extensive scalability testing will be performed during year 2016. An collaboration with Dassault Aviation demonstrated the use of PaMPA with their meshes during solver computations.

  • Participants: Cédric Lachat, François Pellegrini, Cécile Dobrzynski.

  • Contact: Cédric Lachat, François Pellegrini

  • URL: project.inria.fr/pampa