[Dune] AMG and performance

Peter Bastian peter.bastian at iwr.uni-heidelberg.de
Sun Apr 26 20:02:34 CEST 2009


Hi Arne,

would you have a table showing Problem size, number of iterations,
computation time? Dune's AMG is aggregation based without smoothing. So
in general its iteration count should increase with problem size while
SAMG is optimal.

Regards,

Peter

Am Sonntag, den 26.04.2009, 16:50 +0200 schrieb Arne Rekdal:
> Hi all,
> 
> I am trying to solve the linear system of equations,
>     S r = b,
> 
> with Dune::AMG and Dune::CGSolver. I have compared the computation  
> time with Fraunhofer's SAMG solver. SAMG uses approx. one third of the  
> computation time independent from the problem size, but the memory  
> usage of SAMG is twice as high. I am wondering if you have some tips  
> of how I can improve the performance of the Dune implementation. I am  
> currently using the ILU0 as smoother (relaxfactor=0.8), and the code  
> compiled with -O3 option. Any suggestions would be greatly appreciated.
> 
> 
> Best regards
> Arne Rekdal
> 
> ---------------------------------------------------------------
>  From my code:
> ---------------------------------------------------------------
> Matrix S; // BCRSMatrix
> Vector r, b; // BlockVector
> 
> typedef Dune::MatrixAdapter<Matrix,Vector,Vector> Operator;
> Operator op(S);
> 
> typedef  
> Dune 
> ::Amg 
> ::CoarsenCriterion 
> <Dune::Amg::SymmetricCriterion<Matrix,Dune::Amg::FirstDiagonal> >
>    Criterion;
> typedef Dune::SeqILU0<Matrix,Vector,Vector> Smoother;
> typedef Dune::Amg::SmootherTraits<Smoother>::Arguments SmootherArgs;
> typedef Dune::Amg::AMG<Operator,Vector,Smoother> AMG;
> 
> SmootherArgs smootherArgs;
> smootherArgs.relaxationFactor=relax; // relax = 0.8
> Criterion criterion;
> 
> AMG prec(op, criterion, smootherArgs, 1, 1, 1, false);
> 
> double reduction=1e-8;
> int maxit=S.N();
> int verbose=0;
> 
> Dune::CGSolver<Vector> solver(op,prec,reduction,maxit,verbose);
> Dune::InverseOperatorResult res;
> 
> solver.apply(r,b,res);
> 
> 
> 
> _______________________________________________
> Dune mailing list
> Dune at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune
-- 
Peter Bastian
Interdisziplinäres Zentrum für Wissenschaftliches Rechnen
Im Neuenheimer Feld 368
D-69120 Heidelberg
Telefon +49 (6221) 54-8261/8249
Telefax +49 (6221) 54-8884
Email: peter.bastian at iwr.uni-heidelberg.de 






More information about the Dune mailing list