Closed maximerenault closed 3 months ago
Hi,
The main objective or ParMmg is to allow to remesh meshes that are too large to be stored in the memory of a single compute node and it targets large architectures, not personnal computers. Even if we hope to save time when the number of MPI processes is sufficiently large, it is not our first target (and for now we haven't found the time and ressources to work on the software scalability).
It relies on an iterative remeshing-repartitioning algorithm (see https://github.com/MmgTools/ParMmg/wiki/Outline-of-the-algorithm for an overview) that calls Mmg multiple times (a strict minimum of 3 iterations are needed to ensure that the entire mesh as been remeshed but a larger number is often needed) and, comparing to Mmg, it adds an extra layer of data, computations and MPI communications to exchange informations between the partitions and maintain the mesh consistency. In consequence, it is not expected to have better performances than Mmg under ~8 MPI processes.
I attach a curve of the weak scalability of ParMmg for the uniform refinment of a sphere:
To get better performances, you can:
develop
branch instead of the master
one (we will release a new version of the software soon);Few remarks:
-hgrad
): a value strictly greater than 1 is expected. This threshold is the authorized ratio between the sizes of two connected edges. It controls the size variation and element deformation please, keep in mind that ParMmg is a research and open-source project: do not hesitate to contribute and improve it ;-).
Best
I may be using it wrong but when I run ParMmg on my computer with OpenMPI on 2 cores, the software is just 10x slower than Mmg on its own. It is also slower when running it on 1, 8 or 16 cores and generally gets slower as the number of processes increases. I am remeshing a 3 million elements mesh with this command : "mpirun -n 2 parmmg_O3 Mesh.mesh -met Met.sol -hgrad 0"
I must mention that I get this warning at runtime "## Warning: MMG5_scotchCall: fail to determine scotch version. No renumbering." and failed to find a way to treat it.