[petsc-dev] proposed minor PetscPartitioner changes

Vaclav Hapla vaclav.hapla at erdw.ethz.ch
Mon Nov 6 07:30:23 CST 2017


> 6. 11. 2017 v 14:27, Matthew Knepley <knepley at gmail.com>:
> 
> On Mon, Nov 6, 2017 at 8:24 AM, Smith, Barry F. <bsmith at mcs.anl.gov <mailto:bsmith at mcs.anl.gov>> wrote:
> 
>    Vaclav,
> 
>       Actually you should not just do this! PETSc already has a full class for managing partitioning (that Matt ignored for no good reason)
> 
> Obviously, a good reason existed. All sorts of horrible Mat-specific crap was in these. It was impossible to use for mesh partitioning. In addition,
> when partitioning meshes, you need extra things (like calculation of the dual graph), which is not used in the matrix case.

This is what I thought; mesh and matrix partitioning is quite a different task to me, although typically using the same low-level libraries.

Vaclav

> 
>   Matt
> 
>  
> see MatPartitioningCreate(). Please look at all the functionality before doing anything.
> 
>      Any refactorization you do needs to combine, simplify, and cleanup the two interfaces to create one simpler one. And please let us know your design ideas (with for example an issue on bitbucket) before you go ahead and write a lot of code we may end up not liking.
> 
>      Thanks for looking at this,
> 
>    Barry
> 
> 
> > On Nov 6, 2017, at 7:09 AM, Vaclav Hapla <vaclav.hapla at erdw.ethz.ch <mailto:vaclav.hapla at erdw.ethz.ch>> wrote:
> >
> > Hello
> >
> > The whole PetscPartitioner class sources are part of src/dm/impls/plex/plexpartition.c, mixed together with some DMPlex* functions.
> > If you don't mind, I would move the PetscPartitioner* stuff into the separate file petscpartitioner.c
> > (in future, it could be even moved to a separate directory).
> >
> > I would also like to
> > * add PetscPartitioner{Add,Set,Get}OptionsPrefix,
> > * create the partitioner lazily in DMPlexGetPartitioner, followed by PetscObjectIncrementTabLevel, PetscLogObjectParent and PetscPartitionerSetOptionsPrefix calls,
> > * edit src/dm/impls/plex/examples/tutorials/ex5.c so that it calls DMSetFromOptions right after DMPlexCreateFromFile, in order to make the partitioner changeable from options.
> >
> > Do you have anything against?
> >
> > Vaclav
> 
> 
> 
> 
> -- 
> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
> -- Norbert Wiener
> 
> https://www.cse.buffalo.edu/~knepley/ <http://www.caam.rice.edu/~mk51/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20171106/abec0cc9/attachment-0001.html>


More information about the petsc-dev mailing list