diff --git a/src/Benchmarks/LinearSolvers/benchmarks.h b/src/Benchmarks/LinearSolvers/benchmarks.h index e100bba02c6d2dd09238bad6bf100fe579480d51..032ed74ed2f708d65063e2356411ccfd39e51d23 100644 --- a/src/Benchmarks/LinearSolvers/benchmarks.h +++ b/src/Benchmarks/LinearSolvers/benchmarks.h @@ -48,6 +48,7 @@ benchmarkPreconditionerUpdate( Benchmark& benchmark, barrier( matrix ); const char* performer = getPerformer< typename Matrix::DeviceType >(); Preconditioner< Matrix > preconditioner; + preconditioner.setup( parameters ); auto reset = []() {}; auto compute = [&]() { @@ -78,6 +79,7 @@ benchmarkSolver( Benchmark& benchmark, solver.setSolverMonitor( benchmark.getMonitor() ); auto pre = std::make_shared< Preconditioner< Matrix > >(); + pre->setup( parameters ); solver.setPreconditioner( pre ); // preconditioner update may throw if it's not implemented for CUDA try {