diff --git a/src/SparseSolver.cpp b/src/SparseSolver.cpp index 3b61bb3e..74f28dcf 100644 --- a/src/SparseSolver.cpp +++ b/src/SparseSolver.cpp @@ -256,11 +256,6 @@ namespace strumpack { template ReturnCode SparseSolver::solve_internal (const DenseM_t& b, DenseM_t& x, bool use_initial_guess) { - TaskTimer t("solve"); - this->perf_counters_start(); - t.start(); - assert(b.cols() == x.cols()); - // reordering has to be called, even for the iterative solvers if (!this->reordered_) { ReturnCode ierr = this->reorder(); @@ -277,6 +272,11 @@ namespace strumpack { if (ierr != ReturnCode::SUCCESS) return ierr; } + TaskTimer t("solve"); + this->perf_counters_start(); + t.start(); + assert(b.cols() == x.cols()); + integer_t d = b.cols(); assert(matrix()->size() < std::numeric_limits::max()); DenseM_t bloc(b.rows(), d);