[petsc-dev] sor smoothers

Barry Smith bsmith at mcs.anl.gov
Fri Aug 16 18:40:06 CDT 2013


On Aug 16, 2013, at 6:37 PM, "Mark F. Adams" <mfadams at lbl.gov> wrote:

> My new best friend for AMG is richardson/sor smoothers.  
> 
> I have an embedded boundary, FV, problem that failed with cheb/jacobi because …. well not sure but it is unsymmetric so all bets are off with cheb.  richardson/sor is the default smoother in hypre, which I have found over the years do be very robust. (PETSc has optimizations to use a special rich with sor.)  Some hypre papers have shown that cheb/jacobi is faster for some problems but for me robustness trumps this for default solver parameters in PETSc.
> 
> Jed's analysis suggests that Eisenstat's method saves almost 50% work but needs a specialized matrix to get good flop rates.  Something to think about doing … I might be up for it if people think it would be a good thing to have around.

  Even if you don't use Eisenstat's method, just plain Richardson/sor it would benefit from a specialized matrix data structure and optimized SOR.

   Barry

> 
> If we are working on PFLOTRAN problems then this smoother should be tested (Hong?)
> 
> Mark
> 
> On Aug 13, 2013, at 3:19 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> 
>> 
>> Another note for the archive. If one uses SSOR smoothing directly (no Cheby) with the trick of saving the accumulated action of the upper or lower half of the matrix then the matrix-vector product to compute the residual after the pre smoothing can be done using those accumulated values at a cost of .5 work units instead of 1 unit.
>> 
>>  Barry
>> 
>> Each approach has its handful of tricks to shave off work.
>> 
>> 
>> 
>> On Aug 13, 2013, at 1:19 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
>> 
>>> "Mark F. Adams" <mfadams at lbl.gov> writes:
>>> 
>>>> On Aug 12, 2013, at 7:19 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>>>> 
>>>>> 
>>>>> Jed,
>>>>> 
>>>>> I don't understand your computations. I run
>>>>> 
>>>>> ./ex29 -ksp_type chebyshev -ksp_max_it 2 -ksp_monitor -pc_type eisenstat -log_summary -ksp_view -ksp_chebyshev_eigenvalues 1.0,2.0 -ksp_norm_type none
>>>>> 
>>>> 
>>>> I thought we wanted to use richardson to get PCApplyRichardson_SOR to
>>>> get invoked and save the MatMults in the KSP, because SOR is a strange
>>>> PC that can use an existing solution w/o doing residual correction.
>>>> What am I missing.
>>> 
>>> Chebyshev allows us to accelerate it (sometimes) relative to Richardson.
>>> The cost of Richardson(2)/SOR is remarkably similar to
>>> Cheby(2)/Eisenstat.
>> 
> 




More information about the petsc-dev mailing list