[Trilinos-Users] [EXTERNAL] Belos Comparison

Thornquist, Heidi K hkthorn at sandia.gov
Wed Nov 30 18:53:20 EST 2016


Hi Pate,

For linear solvers, the "Maximum Iterations" is pretty standardized.  In eigensolvers, an "iteration" can also mean a "restart", not just the application of the matrix to a vector.  However, the scaling of the residual used to meet the "Convergence Tolerance" may not be as standardized.

The most comparable single-vector GMRES solver in Belos is the pseudo-block GMRES solver (PseudoBlockGmresSolMgr).  That is because is does not contain any of the machinery to handle blocks, which creates some noticeable overhead for smaller linear systems.  For the Belos solvers, the "Maximum Iterations" is separate from the requested size of the Krylov subspace, which is specified using the parameter "Num Blocks" and the number of allowable restarts, which is specified using the parameter "Maximum Restarts".  Furthermore, the default stopping criteria for the given convergence tolerance is scaled by the preconditioned initial residual norm (or just initial residual norm if no preconditioning is used) and the orthogonalization method ("Orthogonalization" parameter) used to create the Krylov subspace is a corrected Gram-Schmidt ("DGKS").  The orthogonalization method could have an effect on performance too.

So, for a fair comparison, I would make sure that the Krylov subspace size and maximum number of iterations are the same, the stopping criteria is the same, and the orthogonalization.  If you are looking to use default options for the solver libraries, except for the selection of "maximum iterations" and a "convergence tolerance", I would suspect the default settings for the other options between all the GMRES solvers might impact the comparison.

Thanks!
Heidi

--

Heidi K. Thornquist
Electrical Models & Simulation
Sandia National Laboratories
Albuquerque, NM  87185-1323


From: Trilinos-Users <trilinos-users-bounces at trilinos.org<mailto:trilinos-users-bounces at trilinos.org>> on behalf of Pate Motter <Pate.Motter at Colorado.EDU<mailto:Pate.Motter at Colorado.EDU>>
Date: Wednesday, November 30, 2016 at 2:05 PM
To: "trilinos-users at trilinos.org<mailto:trilinos-users at trilinos.org>" <trilinos-users at trilinos.org<mailto:trilinos-users at trilinos.org>>
Subject: [EXTERNAL] [Trilinos-Users] Belos Comparison

Hi,

I am comparing trying to compare the performance of different single-vector Belos solvers and wanted to make sure that I was comparing them using the same termination criteria and as fairly as possible. I am using the default settings for each solver except for the convergence tolerance and max number of iterations. I just wanted to check that this was an appropriate way to change the parameters to create a fair comparison and that solvers like GMRES treated iteration number in the same way even with restarts.

solverParams->set("Maximum Iterations", 10000);
solverParams->set("Convergence Tolerance", 1.0e-6);

Thank you,
Pate
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://trilinos.org/pipermail/trilinos-users/attachments/20161130/aabee25f/attachment.html>


More information about the Trilinos-Users mailing list