From 6896f75e2e49b217a3d928b38cf3809d7ac79ba7 Mon Sep 17 00:00:00 2001 From: Nils-Arne Dreier <n.dreier@uni-muenster.de> Date: Thu, 20 Jan 2022 10:50:52 +0100 Subject: [PATCH] [SIMD] Check the convergence criterion for every lane independendly. --- dune/istl/solver.hh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dune/istl/solver.hh b/dune/istl/solver.hh index 0e100512..3a239736 100644 --- a/dune/istl/solver.hh +++ b/dune/istl/solver.hh @@ -470,13 +470,13 @@ namespace Dune } _def = def; _i = i; - _res.converged = (Simd::allTrue(def<_def0*_parent._reduction) || Simd::max(def)<1E-30); // convergence check + _res.converged = (Simd::allTrue(def<_def0*_parent._reduction || def<1E-30)); // convergence check return _res.converged; } protected: void finalize(){ - _res.converged = (Simd::allTrue(_def<_def0*_parent._reduction) || Simd::max(_def)<1E-30); + _res.converged = (Simd::allTrue(_def<_def0*_parent._reduction || _def<1E-30)); _res.iterations = _i; _res.reduction = static_cast<double>(Simd::max(_def/_def0)); _res.conv_rate = pow(_res.reduction,1.0/_i); -- GitLab