Skip to content

Commit 8d56676

Browse files
authored
Merge (#1844) : Move workspace setup to generate for multigrid
Move workspace setup to generate for multigrid Related PR: #1844
2 parents 19f1b44 + 62bfd20 commit 8d56676

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

core/solver/multigrid.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -764,6 +764,11 @@ void Multigrid::generate()
764764
GKO_ASSERT_EQ(level > 0, true);
765765
auto last_mg_level = mg_level_list_.back();
766766

767+
using ws = workspace_traits<Multigrid>;
768+
this->setup_workspace();
769+
this->create_state();
770+
cache_.state->generate(this->get_system_matrix().get(), this, 1);
771+
767772
// generate coarsest solver
768773
run<gko::multigrid::EnableMultigridLevel, float, double,
769774
#if GINKGO_ENABLE_HALF
@@ -950,8 +955,6 @@ void Multigrid::apply_dense_impl(const VectorType* b, VectorType* x,
950955
initial_guess_mode guess) const
951956
{
952957
using ws = workspace_traits<Multigrid>;
953-
this->setup_workspace();
954-
this->create_state();
955958
if (cache_.state->nrhs != b->get_size()[1]) {
956959
cache_.state->generate(this->get_system_matrix().get(), this,
957960
b->get_size()[1]);

0 commit comments

Comments
 (0)