[petsc-dev] proposed minor PetscPartitioner changes
Smith, Barry F.
bsmith at mcs.anl.gov
Mon Nov 6 07:28:46 CST 2017
Vaclav,
Please don't do this as proposed. Please learn about all the partitioner interfaces in PETSc before attempting a refactorization.
Barry
> On Nov 6, 2017, at 7:25 AM, Matthew Knepley <knepley at gmail.com> wrote:
>
> On Mon, Nov 6, 2017 at 8:09 AM, Vaclav Hapla <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).
>
> Yes, that would be fine. I would say that
>
> src/dm/utils/petscpartitioner.c
>
> would be fine with me.
>
> I would also like to
> * add PetscPartitioner{Add,Set,Get}OptionsPrefix,
>
> Yes.
>
> * create the partitioner lazily in DMPlexGetPartitioner, followed by PetscObjectIncrementTabLevel, PetscLogObjectParent and PetscPartitionerSetOptionsPrefix calls,
>
> Yes. I am not sure that it helps anything to create the object later. Waiting the set the type is fine.
>
> * 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.
>
> I am not in favor of this one. I prefer you call
>
> ierr = PetscPartitionerSetFromOptions(part);CHKERRQ(ierr);
>
> there, as in SNES ex12. Refinement happens inside the SetFromOptions(), and usually people want this after distribution.
>
> Thanks,
>
> Matt
>
> 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/
More information about the petsc-dev
mailing list