From 58530f8b9580a90d2c9b8c6bafa77cda2ea1a0d0 Mon Sep 17 00:00:00 2001 From: "Yu-Hsiang M. Tsai" Date: Tue, 8 Aug 2023 17:14:38 +0200 Subject: [PATCH] add chebyshev test in solver --- test/solver/solver.cpp | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/test/solver/solver.cpp b/test/solver/solver.cpp index b6f228c13f5..7eb690a211f 100644 --- a/test/solver/solver.cpp +++ b/test/solver/solver.cpp @@ -50,6 +50,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #include +#include #include #include #include @@ -212,6 +213,21 @@ struct Ir : SimpleSolverTest> { }; +struct Chebyshev : SimpleSolverTest> { + static double tolerance() { return 1e7 * r::value; } + + static typename solver_type::parameters_type build_preconditioned( + std::shared_ptr exec, + gko::size_type iteration_count, bool check_residual = true) + { + return SimpleSolverTest>:: + build(exec, iteration_count, check_residual) + .with_preconditioner( + precond_type::build().with_max_block_size(1u).on(exec)); + } +}; + + template struct CbGmres : SimpleSolverTest> { static constexpr bool will_not_allocate() { return false; } @@ -927,9 +943,9 @@ using SolverTypes = ::testing::Types, Idr<4>,*/ - Ir, CbGmres<2>, CbGmres<10>, Gmres<2>, Gmres<10>, - FGmres<2>, FGmres<10>, Gcr<2>, Gcr<10>, LowerTrs, UpperTrs, - LowerTrsUnitdiag, UpperTrsUnitdiag + Ir, Chebyshev, CbGmres<2>, CbGmres<10>, Gmres<2>, + Gmres<10>, FGmres<2>, FGmres<10>, Gcr<2>, Gcr<10>, + LowerTrs, UpperTrs, LowerTrsUnitdiag, UpperTrsUnitdiag #ifdef GKO_COMPILING_CUDA , LowerTrsSyncfree, UpperTrsSyncfree,