<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Feb 24, 2022 at 6:24 AM 赵刚 <<a href="mailto:zhaog6@lsec.cc.ac.cn">zhaog6@lsec.cc.ac.cn</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">Dear Mark and PETSc team,<br>
<br>
I have a question when using PETSc/GAMG. For the parameter options `-pc_gamg_process_eq_limit <a>` and `-pc_gamg_coarse_eq_limit <b>`, when or for what kind of problems can it bring significant performance improvement? <br>
In addition, generally, what relationship do the `a`, `b` and number of processes need to meet?</blockquote><div><br></div><div>`-pc_gamg_process_eq_limit <a>` guides the process reduction on coarse grids. 'a' is the number of equations that you want to aim for on each active process. So if you have 1000 processors and a = 100, then GAMG should make 10 processes active and leave the rest empty on that level. <br></div><div>`-pc_gamg_coarse_eq_limit <b>` tells GAMG when to stop coarsening. So 'b' should be the size problem that you can solve (eg, not factor) fast on your machine and problem.<br></div><div><br></div><div>You can run with '-info' and grep on GAMG to see what GAMG is doing with respect to the active number of processes, size of each level, average number of non-zeros per level.</div><div>-log_view will print the time in the coarse grid solver.</div><div> <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>
If there are some papers or numerical examples that show the performance advantages and importance of using the both parameters, could you provide it to me? Thanks a lot.<br></blockquote><div><br></div><div>These parameters are not too important until you get to a very large scale, but you can play with them (on as large a problem as you can deal with so that you see something).</div><div>-log_view prints info about time on each level that can help to see the effects of this, but it is a bit hard to interpret.</div><div>Some of my old papers had some data on this but it is so machine specific, and problem specific, that you really just need to test it.</div><div>Setup a problem, again as large as possible, start with the defaults and search for the minimum. It will be a convex function so it is not hard.</div><div>The two parameters are almost orthogonal.</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">
<br>
<br>
Best Regards,<br>
Gang Zhao<br>
<br>
<br>
</b></a></blockquote></div></div>