<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Hi Matt,<br>
<br>
I think there is a misunderstanding here. I am referring to the
case where DMPlexDistribute() is run with overlap=1 (which is not
the case in SNES ex12) and vertices in the overlap/halo region are
assigned to the wrong rank. This can lead to a case where a proc
may own a vertex that is not in its original (non-overlapping)
partition, although the attached cell is not owned and will be
marked as "ghost" by DMPlexConstructGhostCells().<br>
<br>
To illustrate this, I have attached an example consisting of a
unit square with 3 faces in each dimension and a section with only
vertex dofs. If run with two ranks, rank 1 will own all its
vertices (13 roots), whereas rank 0 only owns vertices not in the
overlap/halo of rank 1 (3 roots). My understanding is that, since
the original partition splits the square along its diagonal, the
vertex distribution should be 10 to 6 with the 4 diagonal vertices
assigned to rank 1 and all other vertices assigned according to
the original partition. Is this correct, or am I missing something
here?<br>
<br>
Many thanks for all your help<br>
Michael<br>
<br>
On 16/11/13 13:54, Matthew Knepley wrote:<br>
</div>
<blockquote
cite="mid:CAMYG4Gk+SzY7erGs+4+iOzjMv+rnwO=5PH2AOeJoj9vyGxSgsA@mail.gmail.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">On Sat, Nov 16, 2013 at 7:22 AM,
Michael Lange <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:michael.lange@imperial.ac.uk"
target="_blank">michael.lange@imperial.ac.uk</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hi,<br>
<br>
I notice that, when creating the point SF for the parallel
partition in DMPlexDistribute, cells are assigned to procs
according to the original partition but vertices aren't.
Was this done by design or is this a bug?<br>
</blockquote>
<div><br>
</div>
<div>If this were true, there would be no communication for
the P1 test of SNES ex12. Here is running it with</div>
<div>-interpolate 1 and -dm_view ::ascii_info_detail</div>
<div><br>
</div>
<div>
<div>PetscSF Object: 2 MPI processes</div>
<div> type: basic</div>
<div> sort=rank-order</div>
<div> [0] Number of roots=19, leaves=5, remote ranks=1</div>
<div> [0] 4 <- (1,6)</div>
<div> [0] 5 <- (1,8)</div>
<div>
[0] 7 <- (1,9)</div>
<div> [0] 10 <- (1,13)</div>
<div> [0] 11 <- (1,17)</div>
<div> [1] Number of roots=19, leaves=0, remote ranks=0</div>
<div> [0] Roots referenced by my leaves, by rank</div>
<div> [0] 1: 5 edges</div>
<div> [0] 4 <- 6</div>
<div> [0] 5 <- 8</div>
<div> [0] 7 <- 9</div>
<div> [0] 10 <- 13</div>
<div> [0] 11 <- 17</div>
<div> [1] Roots referenced by my leaves, by rank</div>
</div>
<div><br>
</div>
<div>So there are 3 vertices and 2 edges in the point SF.</div>
<div><br>
</div>
<div> Matt</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">In
case it is a bug, I have attached a patch that fixes this
by using the closure of the original partition instead.<br>
<br>
Thanks and kind regards<span class=""><font
color="#888888"><br>
Michael<br>
</font></span></blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
What most experimenters take for granted before they begin
their experiments is infinitely more interesting than any
results to which their experiments lead.<br>
-- Norbert Wiener
</div>
</div>
</blockquote>
<br>
</body>
</html>