<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><br class=""></div>   Does the MIS you use, use the numerical values in the matrix? Looking at the code it looks like not, while hem does seems to use them.<div class=""><br class=""></div><div class="">   But MatCreateGraph() seems to always get the numerical values, makes them positive and then scales them by the diagonal even when no filtering will be done. Can this be optimized out for no filtering and not HEM (for scalar matrices it looks like even the MatDuplicate() is not needed since it just processes a copy of the original matrix?)</div><div class=""><br class=""></div><div class="">   I think the current parallel symmetrization could be optimized especially when one doe not need numerical values. Probably can be done faster than MatTranspose() followed by MatMAXPY()</div><div class=""><br class=""></div><div class="">   The MIS also seems to slow down with multiple MPI ranks.</div><div class=""><br class=""></div><div class="">   These combine to make the total time to solution much slower in parallel than sequential for GAMG, while all the rest of GAMG gets good speedup. </div><div class=""><br class=""></div><div class="">   Is there a parallel coarse grid point selector that would be faster and not have the parallel bottle necks that could be coded up relatively easily?</div><div class=""><br class=""></div><div class=""> Barry</div><div class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Sep 18, 2022, at 4:21 PM, Mark Adams <<a href="mailto:mfadams@lbl.gov" class="">mfadams@lbl.gov</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><br class=""></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Sep 18, 2022 at 4:02 PM Barry Smith <<a href="mailto:bsmith@petsc.dev" class="">bsmith@petsc.dev</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br class="">
  Mark,<br class="">
<br class="">
   Do all MIS algorithms  in PETSc require a symmetric graph structure? And parallel ones can hang if not structurally symmetric?<br class=""></blockquote><div class=""><br class=""></div><div class="">Yes,</div><div class=""> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br class="">
   When used sequentially I guess it never hangs but it may not produce a "correct" MIS if the matrix structure is not symmetric?</blockquote><div class=""><br class=""></div><div class="">It is fine in serial and it is not necessarily an MIS of the symmetrized graph.</div><div class="">If there is a one way edge between two vertices and the order of the greedy MIS process picks the root of the edge it is an MIS of the symmetrized graph, otherwise both vertices could get selected.</div><div class=""> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> But like the MIS is fine for GAMG in this circumstance?<br class=""></blockquote><div class=""><br class=""></div><div class="">It will be fine for GAMG. The MIS is just a heuristic.</div><div class=""> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br class="">
  Barry<br class="">
<br class="">
</blockquote></div></div>
</div></blockquote></div><br class=""></div></body></html>