Hi I hope that this question is not outside the scope of this mailinglist. As far as I understand PETSc uses preconditioned GMRES(or another KSP method) as pre- and postsmoother on all multigrid levels? I was just wondering why and where in the literature I can read about that method? I thought that a fast method would be to use MG (with Gauss-Seidel RB/zebra smothers) as a preconditioner for GMRES? I have looked at papers written by Oosterlee etc. Kind Regards
On Wed, Feb 27, 2008 at 1:31 PM, <[email protected]> wrote:
Hi
I hope that this question is not outside the scope of this mailinglist.
As far as I understand PETSc uses preconditioned GMRES(or another KSP method) as pre- and postsmoother on all multigrid levels? I was just
This is the default. However, you can use any combination of KSP/PC on any given level with options. For instance, -mg_level_ksp_type richardson -mg_level_pc_type sor gives "regulation" MG. We default to GMRES because it is more robust.
wondering why and where in the literature I can read about that method? I thought that a fast method would be to use MG (with Gauss-Seidel RB/zebra smothers) as a preconditioner for GMRES? I have looked at papers written by Oosterlee etc.
In order to prove something about GMRES/MG, you would need to prove something about the convergence of GMRES on the operators at each level. Good luck. GMRES is the enemy of all convergence proofs. See paper by Greenbaum, Strakos, & Ptak. If SOR works, great and it is much faster. However, GMRES/ILU(0) tends to be more robust. Matt
Kind Regards -- 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
The reason we default to these "very strong" (gmres + ILU(0)) smoothers is robustness, we'd rather have the solver "just work" for our users and be a little bit slower than have it often fail but be optimal for special cases. Most of the MG community has a mental block about using Krylov methods, this is why you find few papers that discuss their use with multigrid. Note also that using several iterations of GMRES (with or without ILU(0)) is still order n work so you still get the optimal convergence of mutligrid methods (when they work, of course). Barry On Feb 27, 2008, at 1:40 PM, Matthew Knepley wrote:
On Wed, Feb 27, 2008 at 1:31 PM, <[email protected]> wrote:
Hi
I hope that this question is not outside the scope of this mailinglist.
As far as I understand PETSc uses preconditioned GMRES(or another KSP method) as pre- and postsmoother on all multigrid levels? I was just
This is the default. However, you can use any combination of KSP/PC on any given level with options. For instance,
-mg_level_ksp_type richardson -mg_level_pc_type sor
gives "regulation" MG. We default to GMRES because it is more robust.
wondering why and where in the literature I can read about that method? I thought that a fast method would be to use MG (with Gauss-Seidel RB/ zebra smothers) as a preconditioner for GMRES? I have looked at papers written by Oosterlee etc.
In order to prove something about GMRES/MG, you would need to prove something about the convergence of GMRES on the operators at each level. Good luck. GMRES is the enemy of all convergence proofs. See paper by Greenbaum, Strakos, & Ptak. If SOR works, great and it is much faster. However, GMRES/ILU(0) tends to be more robust.
Matt
Kind Regards -- 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
Ok Thanks Matthew and Barry First I solve 2d boundary value problems of size 512^2 - 2048^2. Typically either kind of problem(solve for phi) I) poisson type equation: \nabla^2 \phi(x,y) = f(x,y) II) \nabla \cdot (g(x,y) \nabla\phi(x,y)) = f(x,y) Successively with new f and g functions Do you know where to read about the smoothing properties of GMRES and CG? All refs that I find are only describing smoothing with GS-RB etc. My vague idea on how a fast solver is to use a (preconditioned ILU?) krylov (CG for spd ie. problem I, GMRES for II)) method with additional MG preconditioning(GS-RB smoother, Krylov solver on coarsest level)? As my problems are not that big I fear that I will get no MG speedup if I use krylov methods as smoothers? Kind Regards Jens -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Barry Smith Sent: Wednesday, February 27, 2008 8:49 PM To: [email protected] Subject: Re: MG question The reason we default to these "very strong" (gmres + ILU(0)) smoothers is robustness, we'd rather have the solver "just work" for our users and be a little bit slower than have it often fail but be optimal for special cases. Most of the MG community has a mental block about using Krylov methods, this is why you find few papers that discuss their use with multigrid. Note also that using several iterations of GMRES (with or without ILU(0)) is still order n work so you still get the optimal convergence of mutligrid methods (when they work, of course). Barry On Feb 27, 2008, at 1:40 PM, Matthew Knepley wrote:
On Wed, Feb 27, 2008 at 1:31 PM, <[email protected]> wrote:
Hi
I hope that this question is not outside the scope of this mailinglist.
As far as I understand PETSc uses preconditioned GMRES(or another KSP method) as pre- and postsmoother on all multigrid levels? I was just
This is the default. However, you can use any combination of KSP/PC on any given level with options. For instance,
-mg_level_ksp_type richardson -mg_level_pc_type sor
gives "regulation" MG. We default to GMRES because it is more robust.
wondering why and where in the literature I can read about that method? I thought that a fast method would be to use MG (with Gauss-Seidel RB/ zebra smothers) as a preconditioner for GMRES? I have looked at papers written by Oosterlee etc.
In order to prove something about GMRES/MG, you would need to prove something about the convergence of GMRES on the operators at each level. Good luck. GMRES is the enemy of all convergence proofs. See paper by Greenbaum, Strakos, & Ptak. If SOR works, great and it is much faster. However, GMRES/ILU(0) tends to be more robust.
Matt
Kind Regards -- 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
On Wed, Feb 27, 2008 at 2:22 PM, <[email protected]> wrote:
Ok
Thanks Matthew and Barry
First I solve 2d boundary value problems of size 512^2 - 2048^2.
Typically either kind of problem(solve for phi)
I) poisson type equation:
\nabla^2 \phi(x,y) = f(x,y)
II)
\nabla \cdot (g(x,y) \nabla\phi(x,y)) = f(x,y)
Successively with new f and g functions
Do you know where to read about the smoothing properties of GMRES and CG? All refs that I find are only describing smoothing with GS-RB etc.
My vague idea on how a fast solver is to use a (preconditioned ILU?) krylov (CG for spd ie. problem I, GMRES for II)) method with additional MG preconditioning(GS-RB smoother, Krylov solver on coarsest level)?
As my problems are not that big I fear that I will get no MG speedup if I use krylov methods as smoothers?
Well, you might need to prove things, but I would not worry about that first. It is so easy to code up, just run everything and see what actually works. Then sit down and try to show it. Matt
Kind Regards Jens
-----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Barry Smith Sent: Wednesday, February 27, 2008 8:49 PM To: [email protected] Subject: Re: MG question
The reason we default to these "very strong" (gmres + ILU(0)) smoothers is robustness, we'd rather have the solver "just work" for our users and be a little bit slower than have it often fail but be optimal for special cases.
Most of the MG community has a mental block about using Krylov methods, this is why you find few papers that discuss their use with multigrid. Note also that using several iterations of GMRES (with or without ILU(0)) is still order n work so you still get the optimal convergence of mutligrid methods (when they work, of course).
Barry
On Feb 27, 2008, at 1:40 PM, Matthew Knepley wrote:
On Wed, Feb 27, 2008 at 1:31 PM, <[email protected]> wrote:
Hi
I hope that this question is not outside the scope of this mailinglist.
As far as I understand PETSc uses preconditioned GMRES(or another KSP method) as pre- and postsmoother on all multigrid levels? I was just
This is the default. However, you can use any combination of KSP/PC on any given level with options. For instance,
-mg_level_ksp_type richardson -mg_level_pc_type sor
gives "regulation" MG. We default to GMRES because it is more robust.
wondering why and where in the literature I can read about that method? I thought that a fast method would be to use MG (with Gauss-Seidel RB/ zebra smothers) as a preconditioner for GMRES? I have looked at papers written by Oosterlee etc.
In order to prove something about GMRES/MG, you would need to prove something about the convergence of GMRES on the operators at each level. Good luck. GMRES is the enemy of all convergence proofs. See paper by Greenbaum, Strakos, & Ptak. If SOR works, great and it is much faster. However, GMRES/ILU(0) tends to be more robust.
Matt
Kind Regards -- 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
-- 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
On Feb 27, 2008, at 2:22 PM, [email protected] wrote:
Ok
Thanks Matthew and Barry
First I solve 2d boundary value problems of size 512^2 - 2048^2.
Typically either kind of problem(solve for phi)
I) poisson type equation:
\nabla^2 \phi(x,y) = f(x,y)
There is no reason to use GMRES here, use -ksp_type richardson -mg_levels_pc_type sor -mg_levels_ksp_type richardson should require about 5-10 outter iterations to get reasonable convergence on the norm of the residual.
II)
\nabla \cdot (g(x,y) \nabla\phi(x,y)) = f(x,y)
If g(x,y) is smooth and not highly varying again you should not need GMRES. If it is a crazy function than the whole kitchen sink will likely give better convergence. I do not understand your questions. If you don't need GMRES/CG then don't use it and if you think you might need it just try it and see if it helps. Barry
Successively with new f and g functions
Do you know where to read about the smoothing properties of GMRES and CG? All refs that I find are only describing smoothing with GS-RB etc.
My vague idea on how a fast solver is to use a (preconditioned ILU?) krylov (CG for spd ie. problem I, GMRES for II)) method with additional MG preconditioning(GS-RB smoother, Krylov solver on coarsest level)?
As my problems are not that big I fear that I will get no MG speedup if I use krylov methods as smoothers?
Kind Regards Jens
-----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Barry Smith Sent: Wednesday, February 27, 2008 8:49 PM To: [email protected] Subject: Re: MG question
The reason we default to these "very strong" (gmres + ILU(0)) smoothers is robustness, we'd rather have the solver "just work" for our users and be a little bit slower than have it often fail but be optimal for special cases.
Most of the MG community has a mental block about using Krylov methods, this is why you find few papers that discuss their use with multigrid. Note also that using several iterations of GMRES (with or without ILU(0)) is still order n work so you still get the optimal convergence of mutligrid methods (when they work, of course).
Barry
On Feb 27, 2008, at 1:40 PM, Matthew Knepley wrote:
On Wed, Feb 27, 2008 at 1:31 PM, <[email protected]> wrote:
Hi
I hope that this question is not outside the scope of this mailinglist.
As far as I understand PETSc uses preconditioned GMRES(or another KSP method) as pre- and postsmoother on all multigrid levels? I was just
This is the default. However, you can use any combination of KSP/PC on any given level with options. For instance,
-mg_level_ksp_type richardson -mg_level_pc_type sor
gives "regulation" MG. We default to GMRES because it is more robust.
wondering why and where in the literature I can read about that method? I thought that a fast method would be to use MG (with Gauss-Seidel RB/ zebra smothers) as a preconditioner for GMRES? I have looked at papers written by Oosterlee etc.
In order to prove something about GMRES/MG, you would need to prove something about the convergence of GMRES on the operators at each level. Good luck. GMRES is the enemy of all convergence proofs. See paper by Greenbaum, Strakos, & Ptak. If SOR works, great and it is much faster. However, GMRES/ILU(0) tends to be more robust.
Matt
Kind Regards -- 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
Thanks again :-) The reason why I ask is that my code is actually much faster without GMRES.. I thought that MG accelerated Krylov methods were always the fastest methods.... I am no expert, so I was just wondering why the default in DMMG is GMRES/ILU. In the articles I have been able to find, PCG/MG(GS-RB/zebra)(SPD) and GMRES/ MG(GS-RB/zebra) on the problems I) and II) respectively, seems to be faster than (one level) preconditioned Krylov methods and MG. I am new in this field and find it very difficult even to choose which methods to test and compare(there are so many possibilities). :-D I will keep on testing :-) Thanks you very much for your answers. Jens -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Barry Smith Sent: Wednesday, February 27, 2008 9:45 PM To: [email protected] Subject: Re: MG question On Feb 27, 2008, at 2:22 PM, [email protected] wrote:
Ok
Thanks Matthew and Barry
First I solve 2d boundary value problems of size 512^2 - 2048^2.
Typically either kind of problem(solve for phi)
I) poisson type equation:
\nabla^2 \phi(x,y) = f(x,y)
There is no reason to use GMRES here, use -ksp_type richardson -mg_levels_pc_type sor -mg_levels_ksp_type richardson should require about 5-10 outter iterations to get reasonable convergence on the norm of the residual.
II)
\nabla \cdot (g(x,y) \nabla\phi(x,y)) = f(x,y)
If g(x,y) is smooth and not highly varying again you should not need GMRES. If it is a crazy function than the whole kitchen sink will likely give better convergence. I do not understand your questions. If you don't need GMRES/CG then don't use it and if you think you might need it just try it and see if it helps. Barry
Successively with new f and g functions
Do you know where to read about the smoothing properties of GMRES and CG? All refs that I find are only describing smoothing with GS-RB etc.
My vague idea on how a fast solver is to use a (preconditioned ILU?) krylov (CG for spd ie. problem I, GMRES for II)) method with additional MG preconditioning(GS-RB smoother, Krylov solver on coarsest level)?
As my problems are not that big I fear that I will get no MG speedup if I use krylov methods as smoothers?
Kind Regards Jens
-----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Barry Smith Sent: Wednesday, February 27, 2008 8:49 PM To: [email protected] Subject: Re: MG question
The reason we default to these "very strong" (gmres + ILU(0)) smoothers is robustness, we'd rather have the solver "just work" for our users and be a little bit slower than have it often fail but be optimal for special cases.
Most of the MG community has a mental block about using Krylov methods, this is why you find few papers that discuss their use with multigrid. Note also that using several iterations of GMRES (with or without ILU(0)) is still order n work so you still get the optimal convergence of mutligrid methods (when they work, of course).
Barry
On Feb 27, 2008, at 1:40 PM, Matthew Knepley wrote:
On Wed, Feb 27, 2008 at 1:31 PM, <[email protected]> wrote:
Hi
I hope that this question is not outside the scope of this mailinglist.
As far as I understand PETSc uses preconditioned GMRES(or another KSP method) as pre- and postsmoother on all multigrid levels? I was just
This is the default. However, you can use any combination of KSP/PC on any given level with options. For instance,
-mg_level_ksp_type richardson -mg_level_pc_type sor
gives "regulation" MG. We default to GMRES because it is more robust.
wondering why and where in the literature I can read about that method? I thought that a fast method would be to use MG (with Gauss-Seidel RB/ zebra smothers) as a preconditioner for GMRES? I have looked at papers written by Oosterlee etc.
In order to prove something about GMRES/MG, you would need to prove something about the convergence of GMRES on the operators at each level. Good luck. GMRES is the enemy of all convergence proofs. See paper by Greenbaum, Strakos, & Ptak. If SOR works, great and it is much faster. However, GMRES/ILU(0) tends to be more robust.
Matt
Kind Regards -- 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
On Feb 27, 2008, at 3:21 PM, [email protected] wrote:
Thanks again :-)
The reason why I ask is that my code is actually much faster without GMRES.. I thought that MG accelerated Krylov methods were always the fastest methods.... I am no expert, so I was just wondering why the default in DMMG is GMRES/ILU.
It is just for robustness, not for speed.
In the articles I have been able to find, PCG/MG(GS-RB/zebra)(SPD) and GMRES/ MG(GS-RB/zebra) on the problems I) and II) respectively, seems to be faster than (one level) preconditioned Krylov methods and MG.
I am new in this field and find it very difficult even to choose which methods to test and compare(there are so many possibilities). :-D
I will keep on testing :-)
Thanks you very much for your answers.
Jens
-----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Barry Smith Sent: Wednesday, February 27, 2008 9:45 PM To: [email protected] Subject: Re: MG question
On Feb 27, 2008, at 2:22 PM, [email protected] wrote:
Ok
Thanks Matthew and Barry
First I solve 2d boundary value problems of size 512^2 - 2048^2.
Typically either kind of problem(solve for phi)
I) poisson type equation:
\nabla^2 \phi(x,y) = f(x,y)
There is no reason to use GMRES here, use
-ksp_type richardson -mg_levels_pc_type sor -mg_levels_ksp_type richardson should require about 5-10 outter iterations to get reasonable convergence on the norm of the residual.
II)
\nabla \cdot (g(x,y) \nabla\phi(x,y)) = f(x,y)
If g(x,y) is smooth and not highly varying again you should not need GMRES. If it is a crazy function than the whole kitchen sink will likely give better convergence.
I do not understand your questions. If you don't need GMRES/CG then don't use it and if you think you might need it just try it and see if it helps.
Barry
Successively with new f and g functions
Do you know where to read about the smoothing properties of GMRES and CG? All refs that I find are only describing smoothing with GS-RB etc.
My vague idea on how a fast solver is to use a (preconditioned ILU?) krylov (CG for spd ie. problem I, GMRES for II)) method with additional MG preconditioning(GS-RB smoother, Krylov solver on coarsest level)?
As my problems are not that big I fear that I will get no MG speedup if I use krylov methods as smoothers?
Kind Regards Jens
-----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Barry Smith Sent: Wednesday, February 27, 2008 8:49 PM To: [email protected] Subject: Re: MG question
The reason we default to these "very strong" (gmres + ILU(0)) smoothers is robustness, we'd rather have the solver "just work" for our users and be a little bit slower than have it often fail but be optimal for special cases.
Most of the MG community has a mental block about using Krylov methods, this is why you find few papers that discuss their use with multigrid. Note also that using several iterations of GMRES (with or without ILU(0)) is still order n work so you still get the optimal convergence of mutligrid methods (when they work, of course).
Barry
On Feb 27, 2008, at 1:40 PM, Matthew Knepley wrote:
On Wed, Feb 27, 2008 at 1:31 PM, <[email protected]> wrote:
Hi
I hope that this question is not outside the scope of this mailinglist.
As far as I understand PETSc uses preconditioned GMRES(or another KSP method) as pre- and postsmoother on all multigrid levels? I was just
This is the default. However, you can use any combination of KSP/PC on any given level with options. For instance,
-mg_level_ksp_type richardson -mg_level_pc_type sor
gives "regulation" MG. We default to GMRES because it is more robust.
wondering why and where in the literature I can read about that method? I thought that a fast method would be to use MG (with Gauss-Seidel RB/ zebra smothers) as a preconditioner for GMRES? I have looked at papers written by Oosterlee etc.
In order to prove something about GMRES/MG, you would need to prove something about the convergence of GMRES on the operators at each level. Good luck. GMRES is the enemy of all convergence proofs. See paper by Greenbaum, Strakos, & Ptak. If SOR works, great and it is much faster. However, GMRES/ILU(0) tends to be more robust.
Matt
Kind Regards -- 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
participants (3)
-
Barry Smith -
jens.madsen@risoe.dk -
Matthew Knepley