From d11ec4af6acf3b2075e547467d88feba8ba92589 Mon Sep 17 00:00:00 2001 From: Tobias Ribizel Date: Mon, 1 Mar 2021 19:33:35 +0100 Subject: [PATCH] replace BiCGSTAB half-iteration by full iteration but still keep the half-iteration stop check in place --- core/solver/bicgstab.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/core/solver/bicgstab.cpp b/core/solver/bicgstab.cpp index 1a3e38b9fba..f3828797fdb 100644 --- a/core/solver/bicgstab.cpp +++ b/core/solver/bicgstab.cpp @@ -139,9 +139,6 @@ void Bicgstab::apply_impl(const LinOp *b, LinOp *x) const int iter = -1; /* Memory movement summary: - * Per iteration: - * 15.5n * values + matrix/preconditioner storage - * Two iterations: * 31n * values + 2 * matrix/preconditioner storage * 2x SpMV: 4n * values + 2 * storage * 2x Preconditioner: 4n * values + 2 * storage @@ -181,7 +178,6 @@ void Bicgstab::apply_impl(const LinOp *b, LinOp *x) const exec->run(bicgstab::make_step_2(r.get(), s.get(), v.get(), rho.get(), alpha.get(), beta.get(), &stop_status)); - ++iter; auto all_converged = stop_criterion->update() .num_iterations(iter) @@ -193,8 +189,6 @@ void Bicgstab::apply_impl(const LinOp *b, LinOp *x) const exec->run(bicgstab::make_finalize(dense_x, y.get(), alpha.get(), &stop_status)); } - this->template log(this, iter, - s.get()); if (all_converged) { break; }