inducer / pymetis

A Python wrapper around Metis, a graph partitioning package
http://mathema.tician.de/software/pymetis
Other
164 stars 32 forks source link

Wrap partMeshNodal #42

Open stoiver opened 2 years ago

stoiver commented 2 years ago

Is your feature request related to a problem? Please describe. @inducer thanks for this great work of wrapping metis. I am developer of the flood and tsunami package https://github.com/anuga-community/anuga_core and we use metis (indeed your pymetis wrapper) to partition our triangular mesh for mpi runs.

In the past for our python 2 version we used metis 4 and our own wrapper of the partMeshNodal procedure. When we moved to python 3 we decided to upgrade to using metis 5. Instead of writing our own wrapper we decided to use your wrapper, and your pymetis.part_graph procedure. Worked a charm.

But on closer examination the quality of our partitions (using pymetis.part_graph) and the scaling of our parallel code, it seems that the partitions produced by pymetis.part_graph are a little inferior to the partitions created by partMeshNodal. Our communication regions seem to be about 20% larger with pymetis.part_graph

Describe the solution you'd like So I would like to request that you also add a wrapper to partMeshNodal

Describe alternatives you've considered I did have a very short look at your wrapper code. I would be willing to try to code up the extension myself, but would appreciate any help from you.

inducer commented 2 years ago

I'd be happy to consider a PR.

but would appreciate any help from you.

What type of help are you looking for?