Commit 05415a88 authored by Jakub Klinkovský's avatar Jakub Klinkovský
Browse files

MHFEM section: added specific heuristics for reusing preconditioners

parent 0dcbd042
Loading
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -362,8 +362,7 @@ The following parameters were set specifically for GPU computations:
There are many other configurable parameters listed in the Hypre documentation \cite{Hypre:documentation} that might have an effect on the performance, but they were not investigated in this benchmark.

To reduce the computational time with the Hypre implementation, the BoomerAMG preconditioner is not updated in every time step and instead its setup is reused multiple times as long as the number of iterations necessary for the BiCGstab method to converge does not increase significantly.
\todo{add more details on the heuristics: increase by 5 iterations since the last preconditioner update triggers the preconditioner update}
Reusing preconditioners and recycling Krylov subspaces are common techniques for solving sequences of linear systems \cite{carr2021recycling,amritkar2015recycling,gaul2014recycling}, such as those arising from discretizations of evolutionary partial differential equations.
The specific heuristics used is that the preconditioner from the previous time step is reused, as long as the number of iterations needed in the previous time step is less then 5 plus the number of iterations needed when the preconditioner was last updated.

The computations were performed on the same hardware as described in \cref{sec:meshes:benchmarking methodology}, and also the software versions and compiler parameters were the same.
The MPI version is OpenMPI 4.0.5 with CUDA support and system-specific drivers.