[petsc-users] PetscSF clarification

Nicholas Arnold-Medabalimi narnoldm at umich.edu
Tue Aug 2 10:27:10 CDT 2022


I have been trying to follow how PetscSF works, and I'm observing some
behavior I don't quite understand. I have been looking at some of the past
petsc-user discussions involving PetsSF, and my understanding is that each
processor will have roots and leaves; roots are "owned" points, and leaves
are ghosts of another processor.

I have a setup when I've built the original mesh(6000 points) on just a
single processor and then distributed it using DMPlexDistrubute with an
overlap and then viewing the generated star forest.

My expectation is that roughly 1/p points will end up as roots on each
processor, with the overlap points being leaves on each processor. However,
instead I get the first processor having 6000 roots with ~ 1/p leaves
PetscSF Object: 4 MPI processes
  type: basic
  [0] Number of roots=6003, leaves=1587, remote ranks=1
  [0] 0 <- (0,0)
, and then each of the following processors having ~1/p leaves all pointed
at the root processor
  [1] Number of roots=0, leaves=1497, remote ranks=1
  [1] 0 <- (0,262)

Is this the expected outcome? At least to me, this implies the first
processor still "owns" all the points. I imagine I misunderstand something
here. Thank you for the assistance


Nicholas Arnold-Medabalimi

Ph.D. Candidate
Computational Aeroscience Lab
University of Michigan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20220802/2b1734ed/attachment.html>

More information about the petsc-users mailing list