[petsc-users] Correlation between da_refine and pg_mg_levels

Justin Chang jychang48 at gmail.com
Thu Mar 30 15:38:29 CDT 2017


Okay, got it. What are the options for setting GAMG as the coarse solver?

On Thu, Mar 30, 2017 at 3:37 PM, Matthew Knepley <knepley at gmail.com> wrote:

> On Thu, Mar 30, 2017 at 3:04 PM, Justin Chang <jychang48 at gmail.com> wrote:
>
>> Yeah based on my experiments it seems setting pc_mg_levels to $DAREFINE +
>> 1 has decent performance.
>>
>> 1) is there ever a case where you'd want $MGLEVELS <= $DAREFINE? In some
>> of the PETSc tutorial slides (e.g., http://www.mcs.anl.gov/
>> petsc/documentation/tutorials/TutorialCEMRACS2016.pdf on slide 203/227)
>> they say to use $MGLEVELS = 4 and $DAREFINE = 5, but when I ran this, it
>> was almost twice as slow as if $MGLEVELS >= $DAREFINE
>>
>
> Depending on how big the initial grid is, you may want this. There is a
> balance between coarse grid and fine grid work.
>
>
>> 2) So I understand that one cannot refine further than one grid point in
>> each direction, but is there any benefit to having $MGLEVELS > $DAREFINE by
>> a lot?
>>
>
> Again, it depends on the size of the initial grid.
>
> On really large problems, you want to use GAMG as the coarse solver, which
> will move the problem onto a smaller number of nodes
> so that you can coarsen further.
>
>    Matt
>
>
>> Thanks,
>> Justin
>>
>> On Thu, Mar 30, 2017 at 2:35 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>>
>>>
>>>   -da_refine $DAREFINE  determines how large the final problem will be.
>>>
>>>   By default if you don't supply pc_mg_levels then it uses $DAREFINE + 1
>>> as the number of levels of MG to use; for example -da_refine 1 would result
>>> in 2 levels of multigrid.
>>>
>>>
>>> > On Mar 30, 2017, at 2:17 PM, Justin Chang <jychang48 at gmail.com> wrote:
>>> >
>>> > Hi all,
>>> >
>>> > Just a general conceptual question: say I am tinkering around with
>>> SNES ex48.c and am running the program with these options:
>>> >
>>> > mpirun -n $NPROCS -pc_type mg -M $XSEED -N $YSEED -P $ZSEED
>>> -thi_mat_type baij -da_refine $DAREFINE -pc_mg_levels $MGLEVELS
>>> >
>>> > I am not too familiar with mg, but it seems to me there is a very
>>> strong correlation between $MGLEVELS and $DAREFINE as well as perhaps even
>>> the initial coarse grid size (provided by $X/YZSEED).
>>> >
>>> > Is there a rule of thumb on how these parameters should be? I am
>>> guessing it probably is also hardware/architectural dependent?
>>> >
>>> > Thanks,
>>> > Justin
>>>
>>>
>>
>
>
> --
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20170330/788456a9/attachment.html>


More information about the petsc-users mailing list