> What do you want to do? 
Count the global number of points per depth based on all_reduce’ing the maximum 
positive value returned from the IS’s listed below. This works as intended for 
anything but cells since global number of points = max(IS) + 1. For cells this 
breaks since 1 rank reports 3 as max, the next reports 6, etc.

>  The system should be flexible enough to distribute whatever you want
What is the best way to check that a non-standard distribute has been done? 

Best regards,

Jacob Faibussowitsch
(Jacob Fai - booss - oh - vitch)
Cell: (312) 694-3391

> On Apr 16, 2020, at 8:17 PM, Matthew Knepley <[email protected]> wrote:
> 
> On Thu, Apr 16, 2020 at 9:04 PM Jacob Faibussowitsch <[email protected] 
> <mailto:[email protected]>> wrote:
> Hello All,
> 
> TL;DR: Is it possible now, or is it a planned feature, for plex to distribute 
> over anything but points with height = 0? 
> 
> If I understand this correctly when plex currently partitions a graph, points 
> with height 0 are only owned by a single process, but all other points can be 
> co-owned by multiple procs.  For example for a 2D plex with 8 vertices, 12 
> edges, and 6 cells over 2 procs these are the global-local IS’s for all 
> points on processes (negative values indicate ownership by another proc) the 
> final IS corresponding to cells will always have positive values as each proc 
> is the sole owner of its cells.
> 
> What do you want to do? The system should be flexible enough to distribute 
> whatever you want, but the current guarantee
> is that the cone of any points is always available. So if you decide to 
> distribute something else, like faces, then it ends up
> looking just like an overlapping mesh with some custom overlap. Moreover, the 
> dual mesh only really makes sense for cells.
> For faces/edges you would need a hypergraph partitioner.
> 
>   Thanks,
> 
>      Matt
>  
> VERTICES
> IS Object: 2 MPI processes
>   type: general
> [0] Number of indices in set 7
> [0] 0 -2
> [0] 1 0
> [0] 2 -3
> [0] 3 -4
> [0] 4 -5
> [0] 5 -6
> [0] 6 -8
> [1] Number of indices in set 7
> [1] 0 1
> [1] 1 2
> [1] 2 3
> [1] 3 4
> [1] 4 5
> [1] 5 6
> [1] 6 7
> 
> EDGES
> IS Object: 2 MPI processes
>   type: general
> [0] Number of indices in set 9
> [0] 0 0
> [0] 1 1
> [0] 2 -4
> [0] 3 -5
> [0] 4 -6
> [0] 5 2
> [0] 6 -7
> [0] 7 -9
> [0] 8 -11
> [1] Number of indices in set 9
> [1] 0 3
> [1] 1 4
> [1] 2 5
> [1] 3 6
> [1] 4 7
> [1] 5 8
> [1] 6 9
> [1] 7 10
> [1] 8 11
> 
> CELLS
> IS Object: 2 MPI processes
>   type: general
> [0] Number of indices in set 3
> [0] 0 0
> [0] 1 1
> [0] 2 2
> [1] Number of indices in set 3
> [1] 0 3
> [1] 1 4
> [1] 2 5 
> 
> Best regards,
> 
> Jacob Faibussowitsch
> (Jacob Fai - booss - oh - vitch)
> Cell: (312) 694-3391
> 
> 
> 
> -- 
> 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.cse.buffalo.edu/~knepley/>

Reply via email to