<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Sep 18, 2022 at 7:04 PM Barry Smith <<a href="mailto:bsmith@petsc.dev" target="_blank">bsmith@petsc.dev</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><br></div>  Right, but I want to run with the old options MIS (instead of MIS-2) and get the same times as before. But instead I am getting much larger times.<br></div></blockquote><div><br></div><div>Yea, the new MIS is noticeably slower</div><div><br></div><div>New:</div><div>petsc/src/ksp/ksp/tutorials$ mpiexec -n 4 ./ex55 -ne 511 -ksp_type cg -pc_type gamg -log_view -pc_gamg_square_graph 0 -mat_coarsen_type misk<br></div><div>PCSetUp_GAMG+          1 1.0 6.8526e-01 1.0 2.14e+08 1.0 1.2e+03 6.3e+03 7.3e+02 44 21 28 38 88 100100100100100  1242<br> GAMG Coarsen          5 1.0 5.7050e-02 1.0 0.00e+00 0.0 3.0e+02 7.1e+02 1.5e+02  4  0  7  1 18   8  0 26  3 20     0<br>  GAMG MIS/Agg         5 1.0 5.0056e-02 1.0 0.00e+00 0.0 3.0e+02 7.1e+02 1.5e+02  3  0  7  1 18   7  0 26  3 20     0<br></div><div><br></div><div>Old:</div><div>petsc/src/ksp/ksp/tutorials$ mpiexec -n 4 ./ex55 -ne 511 -ksp_type cg -pc_type gamg -log_view -pc_gamg_square_graph 0 <b>-mat_coarsen_type mis</b><br></div><div>...</div><div>PCSetUp_GAMG+          1 1.0 6.7866e-01 1.0 2.14e+08 1.0 1.1e+03 7.1e+03 5.9e+02 43 21 26 39 85 100100100100100  1254<br> GAMG Coarsen          5 1.0 1.3564e-02 1.0 0.00e+00 0.0 1.6e+02 9.6e+02 1.5e+01  1  0  4  1  2   2  0 15  2  3     0<br>  GAMG MIS/Agg         5 1.0 7.5110e-03 1.0 0.00e+00 0.0 1.6e+02 9.6e+02 1.5e+01  0  0  4  1  2   1  0 15  2  3     0<br></div><div><br></div><div>Same in serial:</div><div><br></div><div>(conda_env) 05:15 adams/landau-ex13-fixes= ~/Codes/petsc/src/ksp/ksp/tutorials$ mpiexec -n 1 ./ex55 -ne 511 -ksp_type cg -pc_type gamg -log_view -pc_gamg_square_graph 0 <b>-mat_coarsen_type mis</b> | g MIS<br>  GAMG MIS/Agg         5 1.0 <b>3.7858e-02</b> 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  1  0  0  0  0   2  0  0  0  0     0<br>(conda_env) 05:16 adams/landau-ex13-fixes= ~/Codes/petsc/src/ksp/ksp/tutorials$ mpiexec -n 1 ./ex55 -ne 511 -ksp_type cg -pc_type gamg -log_view -pc_gamg_square_graph 0 -mat_coarsen_type misk | g MIS<br>  GAMG MIS/Agg         5 1.0 <b>8.5015e-02</b> 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  3  0  0  0  0   5  0  0  0  0     0<br></div><div><br></div><div>I did find that there is an unneeded MatDuplicate in MISk with just one MIS (MIS-1), but it is still slower than the old:</div><div><br></div><div>(conda_env) 05:31 adams/landau-ex13-fixes *= ~/Codes/petsc/src/ksp/ksp/tutorials$ mpiexec -n 1 ./ex55 -ne 511 -ksp_type cg -pc_type gamg -log_view -pc_gamg_square_graph 0 -mat_coarsen_type misk | g MIS<br>  GAMG MIS/Agg         5 1.0 <b>5.9566e-02</b> 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  2  0  0  0  0   4  0  0  0  0     0<br></div><div><br></div><div>MISk is organized differently and goes through some hoops that the old MIS does not do that are not as easy as the MatDuplicate to avoid.</div><div><br></div><div>Mark</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><br><blockquote type="cite"><div>On Sep 18, 2022, at 6:58 PM, Mark Adams <<a href="mailto:mfadams@lbl.gov" target="_blank">mfadams@lbl.gov</a>> wrote:</div><br><div><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Sep 18, 2022 at 6:19 PM Barry Smith <<a href="mailto:bsmith@petsc.dev" target="_blank">bsmith@petsc.dev</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><br></div>  Mark,<div><br></div><div>    Some how your changes to GAMG in June slowed down the time to compute the MIS dramatically. I cannot figure out what options to use to </div><div>get the exact same performance as an older branch. -mat_coarsen_type mis -pc_gamg_threshold 0 result in longer times than the older code with its default options.</div></div></blockquote><div><br></div><div>The new MIS-2 folds in the square graph with the MIS. Before the square graph was in a separate method that created an squared graph explicitly.  So don't use aggressive coarsening (you will see a PtAP if you use aggressive coarsening in the new code)</div><div>And -pc_gamg_threshold 0 will filter (zeros only). Use < 0 for no filtering.</div><div>The old code also had this optimization to not create a graph for bs==1 and no filter,</div><div><br></div><div>Mark</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><br></div><div><br><div><br><blockquote type="cite"><div>On Sep 18, 2022, at 4:21 PM, Mark Adams <<a href="mailto:mfadams@lbl.gov" target="_blank">mfadams@lbl.gov</a>> wrote:</div><br><div><div dir="ltr"><div dir="ltr"><br></div><br><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" target="_blank">bsmith@petsc.dev</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
  Mark,<br>
<br>
   Do all MIS algorithms  in PETSc require a symmetric graph structure? And parallel ones can hang if not structurally symmetric?<br></blockquote><div><br></div><div>Yes,</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
   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><br></div><div>It is fine in serial and it is not necessarily an MIS of the symmetrized graph.</div><div>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> </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></blockquote><div><br></div><div>It will be fine for GAMG. The MIS is just a heuristic.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
  Barry<br>
<br>
</blockquote></div></div>
</div></blockquote></div><br></div></div></blockquote></div></div>
</div></blockquote></div><br></div></blockquote></div></div>