[petsc-users] How to use multigrid?

Thomas Witkowski thomas.witkowski at tu-dresden.de
Fri Nov 9 11:37:40 CST 2012

While we're at it, can some of you tell me some world about parallel 
scaling of algebraic multigrid methods? In most of my codes I use them 
to precondition some simple blocks, e.g. Laplace matrix. I'm pretty sure 
that parallel scaling of my solver is limited mostly by scaling of the 
AMG method which is used. What are the expectations, when going to 10^3 
or 10^4 cores?


Am 09.11.2012 18:09, schrieb Mark F. Adams:
> On Nov 9, 2012, at 11:37 AM, "A.L. Siahaan" <als88 at cam.ac.uk> wrote:
>> Is PCGAMG a combination of AMG and geometric multigrid ? Do we have to choose either pure AMG (when using -pc_type gamg -pc_gamg_agg_nsmooths 1) or pure geometric MG (type="geo") ?
> Thing of GAMG as an AMG solver.  "geo" is an unstructured GMG method that is there as a reference implementation, to stress the framework a bit, but is not for real use.
>>  From my thread search in this mailing list about using PCGAMG, it is mostly advised to use pure AMG (-pc_type gamg -pc_gamg_agg_nsmooths 1).
> Yes
>> Of all algebraic multigrid implemented or interfaced in PETSc, i.e. BoomerAMG (PCHypre), ML(PCML), and PCGAMG("agg"), what is the order of the cost (memory) to set up the preconditioner (setting nullspace etc) ?
> Not a simple question.  ML and GAMG use very similar algorithms and ML is implemented in a more "native" way than hypre (GAMG is completely native).  GAMG/ML are probably better for elasticity, hypre is great for 2D low order discretizations of Laplacian, and it is a very hardened implementation.  hypre is not native so there are some things that don't work as well.
>> Regards,
>> Antony
>> On Nov 9 2012, Mark F. Adams wrote:
>>> On Nov 9, 2012, at 10:05 AM, w_ang_temp <w_ang_temp at 163.com> wrote:
>>>> Hello,Jed
>>>>        Sorry again for the interruption.
>>>>         As you said, if I want to use Algebraic multigrid, I can just use '-pc_type gamg -pc_gamg_agg_nsmooths 1' in the command line. I think there are many other -pc_gamg_XXX parameters. How can I find all the -pc_gamg_XXX?
>>> -help
>>>>         Besides, I want to know more about AMG. Are there any details from PETSc, like manual, documentaion, FAQ, etc?
>>> I would recommend the book "Multigrid" by Trottenberg, et al, and the classic "Multigrid Tutorial" is good to look at also.
>>>>     Also, from the above post, I want to know that if AMG can not be used in 3.2 by command line option, because now I have to use 3.3 for using AMG. I just donot want to change my version 3.2 now.
>>> You can use 3.2 if you like (free country) but this code was developed a lot between 3.2 and 3.3. I forget what was in 3.2 exactly. If you have a straight forward problem and 3.2 works then its is probably OK for your current purposes.
>>>>         I am major in Civil Engineering and not good at math and programming. So please forgive my weakness.
>>>>     Thanks.
>>>>                                 Jim  > At 2012-10-28 21:17:00,"Jed Brown" <jedbrown at mcs.anl.gov> wrote: > Algebraic multigrid can be used directly, -pc_type gamg > -pc_gamg_agg_nsmooths 1. Geometric either required that you use the > PCMG interface to set >interpolation (and provide a coarse operator > for non-Galerkin) or use a DM that provides coarsening capability.
>>>>> What kind of problem are you solving?
>>>>>> On Oct 28, 2012 6:09 AM, "w_ang_temp" <w_ang_temp at 163.com> wrote:
>>>>>> Hello,
>>>>>>   I want to use the multigrid as a preconditioner. The introduction  >> about it in the manual is little.
>>>>>> So are there some typical examples or details about multigrid? Is it >> used just like other preconditioners like jacobi, sor, which can be >> simply used in the cammand line options?
>>>>>>   Thanks.
>>>>>>                                                                        > > Jim

More information about the petsc-users mailing list