[petsc-dev] Chebyshev hybrid option has no functional interface or man pages

Barry Smith bsmith at mcs.anl.gov
Fri Mar 14 14:32:51 CDT 2014


   Beats me. It is worth keeping only if the “slight performance advantage” is of practical use. Like while, for example, used in a multigrid smoother. If it just makes a bad algorithm you won’t use anyways slightly better than it is not work keeping

  Barry

On Mar 14, 2014, at 2:20 PM, Hong Zhang <hzhang at mcs.anl.gov> wrote:

> Barry,
> Currently, we have following options for hybrid Chebyshev:
>  -ksp_chebyshev_hybrid: <FALSE> Use hybrid Chebyshev ()
>  -ksp_chebyshev_hybrid_chebysteps <20000>: Number of Chebyshev steps
> in hybrid Chebyshev ()
>  -ksp_chebyshev_hybrid_eststeps <10>: Number of adaptive/est steps in
> hybrid Chebyshev ()
>  -ksp_chebyshev_hybrid_purification: <TRUE> Use purification in
> hybrid Chebyshev ()
> 
> In my experiments, when -ksp_chebyshev_hybrid=true,
> hybrid_purification=true (also use gmres steps to improve starting
> vector) has slight performance advantage.
> 
> Small number of 'hybrid_chebysteps' gives gmres/cheby hybrid method
> which does not show any performance gain, thus I set the default as
> 20000 unless user wants to use it.
> 
> Want to remove it or keep it?
> Hong
> 
> On Fri, Mar 14, 2014 at 1:13 PM, Smith, Barry F. <bsmith at mcs.anl.gov> wrote:
>> 
>>  I'd remove it.
>> 
>>  Thanks
>> 
>>  Barry
>> 
>> On Mar 13, 2014, at 9:49 PM, Hong Zhang <hzhang at mcs.anl.gov> wrote:
>> 
>>> Barry,
>>> I sent this email out, but apparently it failed to reach you.
>>> 
>>> On Tue, Mar 11, 2014 at 10:46 PM, Hong Zhang <hzhang at mcs.anl.gov> wrote:
>>>> Barry,
>>>> The hybrid Chebyshev was implemented for experimentation, but had not
>>>> been found useful, so the default is set as FALSE.
>>>> I can add a functional interface though.
>>> 
>>> As you and Jed do not believed in this method, and my experiments had
>>> not shown any useful of it.
>>> Shall we keep it or remove it?
>>> 
>>> Hong
>>> 
>>>> 
>>>> On Tue, Mar 11, 2014 at 9:15 PM, Smith, Barry F. <bsmith at mcs.anl.gov> wrote:
>>>>> 
>>>>> There should be a functional interface for turning this on and off with a manual page.
>>>>> 
>>>>>  Barry
>>>>> 
>>>>> /*
>>>>>  Use hybrid Chebyshev.
>>>>>  Ref: "A hybrid Chebyshev Krylov-subspace algorithm for solving nonsymmetric systems of linear equations",
>>>>>        Howard Elman and Y. Saad and P. E. Saylor, SIAM Journal on Scientific and Statistical Computing, 1986.
>>>>>  */
>>>>> ierr = PetscOptionsBool("-ksp_chebyshev_hybrid","Use hybrid Chebyshev","",cheb->hybrid,&cheb->hybrid,NULL);CHKERRQ(ierr);
>>>>> ierr = PetscOptionsInt("-ksp_chebyshev_hybrid_chebysteps","Number of Chebyshev steps in hybrid Chebyshev","",cheb->chebysteps,&cheb->chebysteps,NULL);CHKERRQ(ierr);
>>>>> ierr = PetscOptionsInt("-ksp_chebyshev_hybrid_eststeps","Number of adaptive/est steps in hybrid Chebyshev","",cheb->eststeps,&cheb->eststeps,NULL);CHKERRQ(ierr);
>>>>> ierr = PetscOptionsBool("-ksp_chebyshev_hybrid_purification","Use purification in hybrid Chebyshev","",cheb->purification,&cheb->purification,NULL);CHKERRQ(ierr);
>>>>> 
>>>>> 
>>>>> 
>> 




More information about the petsc-dev mailing list