From c80b738243083ef2851053f519036ea716ce3884 Mon Sep 17 00:00:00 2001 From: Jean-Marc GRATIEN Date: Thu, 22 Jun 2023 11:17:09 +0200 Subject: [PATCH] Revert "compil correction due to SolverStater API modification" This reverts commit 3b68b992ccebe88024e44702727547afe12c8706. --- .../kernels/hpddm/data_structure/HPDDMMatrix.cc | 2 +- .../hpddm/linear_solver/HPDDMInternalSolver.cc | 17 +++++++++-------- .../hpddm/linear_solver/HPDDMInternalSolver.h | 8 +------- .../linear_solver/HTSInternalLinearSolver.cc | 16 ++++------------ .../hts/linear_solver/HTSInternalLinearSolver.h | 7 +------ .../linear_solver/IFPInternalLinearSolver.cc | 13 ++++--------- .../ifp/linear_solver/IFPInternalLinearSolver.h | 7 +------ 7 files changed, 21 insertions(+), 49 deletions(-) diff --git a/modules/hpddm/src/alien/kernels/hpddm/data_structure/HPDDMMatrix.cc b/modules/hpddm/src/alien/kernels/hpddm/data_structure/HPDDMMatrix.cc index ca24602..3f468ac 100644 --- a/modules/hpddm/src/alien/kernels/hpddm/data_structure/HPDDMMatrix.cc +++ b/modules/hpddm/src/alien/kernels/hpddm/data_structure/HPDDMMatrix.cc @@ -545,7 +545,7 @@ MatrixInternal::_compute(HPDDM::MatrixCSR* matrix_dirichlet, // unsigned short nu = ref; Real eigen_solver_time = 0.; if (nu > 0) { - Alien::SolverStater::Sentry s(eigen_solver_time); + Alien::BaseSolverStater::Sentry s(eigen_solver_time); m_matrix.template solveGEVP(matrix_neumann); // nu = opt["geneo_nu"]; // m_hpddm_matrix.super::initialize(nu); diff --git a/modules/hpddm/src/alien/kernels/hpddm/linear_solver/HPDDMInternalSolver.cc b/modules/hpddm/src/alien/kernels/hpddm/linear_solver/HPDDMInternalSolver.cc index 2e50441..b704963 100644 --- a/modules/hpddm/src/alien/kernels/hpddm/linear_solver/HPDDMInternalSolver.cc +++ b/modules/hpddm/src/alien/kernels/hpddm/linear_solver/HPDDMInternalSolver.cc @@ -54,6 +54,7 @@ HPDDMInternalSolver::HPDDMInternalSolver( IMessagePassingMng* parallel_mng, IOptionsHPDDMSolver* options) : m_parallel_mng(parallel_mng) , m_options(options) +, m_stater(this) { } @@ -157,7 +158,7 @@ HPDDMInternalSolver::solve( alien_info([&] { cout() << "HPDDMSolver::solve"; }); { - Alien::SolverStater::Sentry s(m_init_solver_time); + Alien::BaseSolverStater::Sentry s(m_init_solver_time); HPDDM::Option& opt = *HPDDM::Option::get(); bool schwarz_coarse_correction = opt.set("schwarz_coarse_correction"); @@ -168,7 +169,7 @@ HPDDMInternalSolver::solve( } { - Alien::SolverStater::Sentry s(m_iter_solver_time); + Alien::BaseSolverStater::Sentry s(m_iter_solver_time); m_status.iteration_count = HPDDM::IterativeMethod::solve(m_hpddm_matrix.matrix(), m_hpddm_rhs.data(), m_hpddm_sol.data(), 1, m_hpddm_matrix.matrix().getCommunicator()); @@ -194,7 +195,7 @@ HPDDMInternalSolver::solve(CSRMatrixType const& Ad, CSRMatrixType const& An, alien_info([&] { cout() << "HPDDMSolver::solve"; }); { - Alien::SolverStater::Sentry s(m_init_solver_time); + Alien::BaseSolverStater::Sentry s(m_init_solver_time); HPDDM::Option& opt = *HPDDM::Option::get(); bool schwarz_coarse_correction = opt.set("schwarz_coarse_correction"); @@ -206,7 +207,7 @@ HPDDMInternalSolver::solve(CSRMatrixType const& Ad, CSRMatrixType const& An, } { - Alien::SolverStater::Sentry s(m_iter_solver_time); + Alien::BaseSolverStater::Sentry s(m_iter_solver_time); m_status.iteration_count = HPDDM::IterativeMethod::solve(m_hpddm_matrix.matrix(), m_hpddm_rhs.data(), m_hpddm_sol.data(), 1, m_hpddm_matrix.matrix().getCommunicator()); @@ -245,13 +246,13 @@ HPDDMInternalSolver::solve(IMatrix const& A, IVector const& b, IVector& x) using namespace Alien; #ifdef ALIEN_USE_HPDDM - SolverStatSentry sentry(this, SolverStater::ePrepare); + SolverStatSentry sentry(m_stater, BaseSolverStater::ePrepare); CSRMatrixType const& matrix = A.impl()->get(); CSRVectorType const& rhs = b.impl()->get(); CSRVectorType& sol = x.impl()->get(true); sentry.release(); - SolverStatSentry sentry2(this, SolverStater::eSolve); + SolverStatSentry sentry2(m_stater, BaseSolverStater::eSolve); return solve(matrix, rhs, sol); #else return false; @@ -265,14 +266,14 @@ HPDDMInternalSolver::solve( using namespace Alien; #ifdef ALIEN_USE_HPDDM - SolverStatSentry sentry(this, SolverStater::ePrepare); + SolverStatSentry sentry(m_stater, BaseSolverStater::ePrepare); CSRMatrixType const& matrixD = Ad.impl()->get(); CSRMatrixType const& matrixN = An.impl()->get(); CSRVectorType const& rhs = b.impl()->get(); CSRVectorType& sol = x.impl()->get(true); sentry.release(); - SolverStatSentry sentry2(this, SolverStater::eSolve); + SolverStatSentry sentry2(m_stater, BaseSolverStater::eSolve); return solve(matrixD, matrixN, rhs, sol); #else return false; diff --git a/modules/hpddm/src/alien/kernels/hpddm/linear_solver/HPDDMInternalSolver.h b/modules/hpddm/src/alien/kernels/hpddm/linear_solver/HPDDMInternalSolver.h index 9795aa6..b790f55 100644 --- a/modules/hpddm/src/alien/kernels/hpddm/linear_solver/HPDDMInternalSolver.h +++ b/modules/hpddm/src/alien/kernels/hpddm/linear_solver/HPDDMInternalSolver.h @@ -20,7 +20,6 @@ #include #include #include -#include #include #include #include @@ -81,14 +80,9 @@ class ALIEN_HPDDM_EXPORT HPDDMInternalSolver //! Etat du solveur const Alien::ILinearSolver::Status& getStatus() const { return m_status; } - Alien::ILinearSolver::Status& getStatusRef() { return m_status; } const SolverStat& getSolverStat() const { return m_stat; } SolverStat& getSolverStat() { return m_stat; } - - Alien::SolverStater& getSolverStater() { - return m_stater; - } bool solve(const Alien::IMatrix& A, const Alien::IVector& b, Alien::IVector& x); @@ -120,7 +114,7 @@ class ALIEN_HPDDM_EXPORT HPDDMInternalSolver std::vector m_hpddm_rhs; Alien::SolverStat m_stat; // m_stater; Alien::ILinearSolver::Status m_status; Real m_init_solver_time = 0.; Real m_iter_solver_time = 0.; diff --git a/modules/ifpen_solvers/src/alien/kernels/hts/linear_solver/HTSInternalLinearSolver.cc b/modules/ifpen_solvers/src/alien/kernels/hts/linear_solver/HTSInternalLinearSolver.cc index 73b8134..476e1d7 100644 --- a/modules/ifpen_solvers/src/alien/kernels/hts/linear_solver/HTSInternalLinearSolver.cc +++ b/modules/ifpen_solvers/src/alien/kernels/hts/linear_solver/HTSInternalLinearSolver.cc @@ -52,6 +52,7 @@ HTSInternalLinearSolver::HTSInternalLinearSolver( Arccore::MessagePassing::IMessagePassingMng* parallel_mng, IOptionsHTSSolver* options) : m_parallel_mng(parallel_mng) , m_options(options) +, m_stater(this) { } @@ -68,7 +69,7 @@ HTSInternalLinearSolver::init(int argc, char const** argv) void HTSInternalLinearSolver::init() { - SolverStatSentry sentry(this, SolverStater::eInit); + SolverStatSentry sentry(m_stater, BaseSolverStater::eInit); m_output_level = m_options->output(); #ifdef ALIEN_USE_HTSSOLVER @@ -403,15 +404,6 @@ HTSInternalLinearSolver::getStatus() const return m_status; } -Alien::SolverStatus& -HTSInternalLinearSolver::getStatusRef() -{ - if (m_output_level > 0) { - printInfo(); - } - return m_status; -} - void HTSInternalLinearSolver::printInfo() { @@ -458,13 +450,13 @@ HTSInternalLinearSolver::solve(IMatrix const& A, IVector const& b, IVector& x) using namespace Alien; #ifdef ALIEN_USE_HTSSOLVER - SolverStatSentry sentry(this, SolverStater::ePrepare); + SolverStatSentry sentry(m_stater, BaseSolverStater::ePrepare); CSRMatrixType const& matrix = A.impl()->get(); CSRVectorType const& rhs = b.impl()->get(); CSRVectorType& sol = x.impl()->get(true); sentry.release(); - SolverStatSentry sentry2(this, SolverStater::eSolve); + SolverStatSentry sentry2(m_stater, BaseSolverStater::eSolve); return solve(matrix, rhs, sol); #endif } diff --git a/modules/ifpen_solvers/src/alien/kernels/hts/linear_solver/HTSInternalLinearSolver.h b/modules/ifpen_solvers/src/alien/kernels/hts/linear_solver/HTSInternalLinearSolver.h index 875c6ec..617f9f6 100644 --- a/modules/ifpen_solvers/src/alien/kernels/hts/linear_solver/HTSInternalLinearSolver.h +++ b/modules/ifpen_solvers/src/alien/kernels/hts/linear_solver/HTSInternalLinearSolver.h @@ -70,15 +70,10 @@ class ALIEN_IFPEN_SOLVERS_EXPORT HTSInternalLinearSolver //! Etat du solveur const Alien::SolverStatus& getStatus() const; - Alien::SolverStatus& getStatusRef() ; const SolverStat& getSolverStat() const { return m_stat; } SolverStat& getSolverStat() { return m_stat; } - SolverStater& getSolverStater() { - return m_stater; - } - String getName() const { return "htssolver"; } //! Etat du solveur @@ -175,7 +170,7 @@ class ALIEN_IFPEN_SOLVERS_EXPORT HTSInternalLinearSolver Real m_int_total_finish_time = 0.; SolverStat m_stat; - SolverStater m_stater; + SolverStater m_stater; IOptionsHTSSolver* m_options = nullptr; std::vector m_pressure_diag; diff --git a/modules/ifpen_solvers/src/alien/kernels/ifp/linear_solver/IFPInternalLinearSolver.cc b/modules/ifpen_solvers/src/alien/kernels/ifp/linear_solver/IFPInternalLinearSolver.cc index d874c0e..5293102 100644 --- a/modules/ifpen_solvers/src/alien/kernels/ifp/linear_solver/IFPInternalLinearSolver.cc +++ b/modules/ifpen_solvers/src/alien/kernels/ifp/linear_solver/IFPInternalLinearSolver.cc @@ -43,6 +43,7 @@ IFPInternalLinearSolver::IFPInternalLinearSolver( : m_parallel_mng(parallel_mng) , m_print_info(0) , m_options(options) +, m_stater(this) { } @@ -58,7 +59,7 @@ IFPInternalLinearSolver::~IFPInternalLinearSolver() void IFPInternalLinearSolver::init() { - SolverStatSentry sentry(this, SolverStater::eInit); + SolverStatSentry sentry(m_stater, BaseSolverStater::eInit); if (m_parallel_mng == nullptr) return; @@ -173,12 +174,6 @@ IFPInternalLinearSolver::getStatus() const return m_status; } -Alien::SolverStatus& -IFPInternalLinearSolver::getStatusRef() -{ - return m_status; -} - /*---------------------------------------------------------------------------*/ bool @@ -189,7 +184,7 @@ IFPInternalLinearSolver::solve(const MatrixType& A, const VectorType& b, VectorS bool isSolverOk = false; - SolverStatSentry sentry(this, SolverStater::ePrepare); + SolverStatSentry sentry(m_stater, BaseSolverStater::ePrepare); // m_stater.startPrepareMeasure(); @@ -223,7 +218,7 @@ IFPInternalLinearSolver::solve(const MatrixType& A, const VectorType& b, VectorS m_ilu0_algo = 4; sentry.release(); - SolverStatSentry sentry2(this, SolverStater::eSolve); + SolverStatSentry sentry2(m_stater, BaseSolverStater::eSolve); if (matrix.internal()->m_system_is_resizeable == true) isSolverOk = _solveRs(matrix.internal()->m_system_is_resizeable); else diff --git a/modules/ifpen_solvers/src/alien/kernels/ifp/linear_solver/IFPInternalLinearSolver.h b/modules/ifpen_solvers/src/alien/kernels/ifp/linear_solver/IFPInternalLinearSolver.h index 480e7bd..298d631 100644 --- a/modules/ifpen_solvers/src/alien/kernels/ifp/linear_solver/IFPInternalLinearSolver.h +++ b/modules/ifpen_solvers/src/alien/kernels/ifp/linear_solver/IFPInternalLinearSolver.h @@ -61,16 +61,11 @@ class ALIEN_IFPEN_SOLVERS_EXPORT IFPInternalLinearSolver : public ILinearSolver //! Etat du solveur const Status& getStatus() const; - Status& getStatusRef() ; //! Statistiques du solveur const SolverStat& getSolverStat() const { return m_stat; } SolverStat& getSolverStat() { return m_stat; } - SolverStater& getSolverStater() { - return m_stater; - } - //! Etat du solveur void setNullSpaceConstantOption(bool flag); @@ -96,7 +91,7 @@ class ALIEN_IFPEN_SOLVERS_EXPORT IFPInternalLinearSolver : public ILinearSolver Arccore::MessagePassing::IMessagePassingMng* m_parallel_mng; Status m_status; SolverStat m_stat; // m_stater; Integer m_print_info; IOptionsIFPLinearSolver* m_options; };