class ParaSolverPool (Solver Pool base class) More...
#include <paraSolverPool.h>
Public Member Functions | |
ParaSolverPool (int inOriginRank, ParaComm *inParaComm, ParaParamSet *inParaParams, ParaTimer *inParaTimer) | |
constructor More... | |
virtual | ~ParaSolverPool () |
destructor More... | |
std::size_t | getNSolvers () |
get number of Solvers in this Solver pool More... | |
virtual std::size_t | getNumActiveSolvers ()=0 |
get number of active Solvers More... | |
virtual std::size_t | getNumInactiveSolvers ()=0 |
get number of inactive Solvers More... | |
virtual bool | isSolverActive (int rank)=0 |
check if the Solver specified by rank is active or not More... | |
virtual ParaTask * | getCurrentTask (int rank)=0 |
get current solving ParaTask in the Solver specified by rank More... | |
virtual void | interruptRequested (int rank)=0 |
set the Solver specified by rank is interrupt requested More... | |
virtual bool | isInterruptRequested (int rank)=0 |
check if the Solver specified by rank is interrupt requested or not More... | |
virtual void | terminateRequested (int rank)=0 |
set the Solver specified by rank is terminate requested More... | |
virtual bool | isTerminateRequested (int rank)=0 |
check if the Solver specified by rank is terminate requested or not More... | |
virtual void | terminated (int rank)=0 |
set the Solver specified by rank is terminated More... | |
virtual bool | isTerminated (int rank)=0 |
check if the Solver specified by rank is terminated or not More... | |
Protected Attributes | |
int | originRank |
origin rank of Solvers managed by this Solver pool More... | |
std::size_t | nSolvers |
number of Solvers More... | |
ParaComm * | paraComm |
communicator More... | |
ParaParamSet * | paraParams |
runtime parameters for parallelization More... | |
ParaTimer * | paraTimer |
timer More... | |
class ParaSolverPool (Solver Pool base class)
Definition at line 61 of file paraSolverPool.h.
ParaSolverPool | ( | int | inOriginRank, |
ParaComm * | inParaComm, | ||
ParaParamSet * | inParaParams, | ||
ParaTimer * | inParaTimer | ||
) |
constructor
inOriginRank | origin rank of Solvers managed by this Solver pool |
inParaComm | communicator used |
inParaParams | paraParamSet used |
inParaTimer | timer used |
Definition at line 76 of file paraSolverPool.h.
References ParaComm::getSize().
|
virtual |
destructor
Definition at line 93 of file paraSolverPool.h.
|
pure virtual |
get current solving ParaTask in the Solver specified by rank
rank | rank of the Solver |
Implemented in BbParaSolverPool.
Referenced by ParaSolverPool::getNSolvers(), BbParaLoadCoordinator::processTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::processTagTask(), BbParaLoadCoordinator::sendInterruptRequest(), BbParaLoadCoordinator::writeSubtreeInfo(), ParaLoadCoordinator::writeTransferLog(), and ParaRacingSolverPool::~ParaRacingSolverPool().
std::size_t getNSolvers | ( | ) |
get number of Solvers in this Solver pool
Definition at line 102 of file paraSolverPool.h.
References ParaSolverPool::getCurrentTask(), ParaSolverPool::getNumActiveSolvers(), ParaSolverPool::getNumInactiveSolvers(), ParaSolverPool::interruptRequested(), ParaSolverPool::isInterruptRequested(), ParaSolverPool::isSolverActive(), ParaSolverPool::isTerminated(), ParaSolverPool::isTerminateRequested(), ParaSolverPool::nSolvers, ParaSolverPool::terminated(), and ParaSolverPool::terminateRequested().
Referenced by BbParaLoadCoordinator::BbParaLoadCoordinator(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::processTagTask(), BbParaLoadCoordinator::run(), BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), BbParaLoadCoordinator::terminateAllSolvers(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
pure virtual |
get number of active Solvers
Implemented in BbParaSolverPool.
Referenced by ParaSolverPool::getNSolvers(), BbParaLoadCoordinator::outputTabularSolvingStatus(), BbParaLoadCoordinator::run(), BbParaLoadCoordinator::sendInterruptRequest(), BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), BbParaLoadCoordinator::~BbParaLoadCoordinator(), and ParaRacingSolverPool::~ParaRacingSolverPool().
|
pure virtual |
get number of inactive Solvers
Implemented in BbParaSolverPool.
Referenced by ParaSolverPool::getNSolvers(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::processTagTask(), BbParaLoadCoordinator::run(), BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), and ParaRacingSolverPool::~ParaRacingSolverPool().
|
pure virtual |
set the Solver specified by rank is interrupt requested
rank | rank of the Solver |
Implemented in BbParaSolverPool.
Referenced by ParaSolverPool::getNSolvers(), BbParaLoadCoordinator::processRacingRampUpTagSolverState(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::sendInterruptRequest(), and BbParaLoadCoordinator::terminateAllSolvers().
|
pure virtual |
check if the Solver specified by rank is interrupt requested or not
rank | rank of the Solver |
Implemented in BbParaSolverPool.
Referenced by ParaSolverPool::getNSolvers(), BbParaLoadCoordinator::processRacingRampUpTagSolverState(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::run(), BbParaLoadCoordinator::sendInterruptRequest(), BbParaLoadCoordinator::terminateAllSolvers(), and ParaLoadCoordinator::terminateAllSolvers().
|
pure virtual |
check if the Solver specified by rank is active or not
rank | rank of the Solver to be checked |
Implemented in BbParaSolverPool.
Referenced by ParaSolverPool::getNSolvers(), BbParaLoadCoordinator::inactivateRacingSolverPool(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::sendInterruptRequest(), BbParaLoadCoordinator::terminateAllSolvers(), ParaLoadCoordinator::terminateAllSolvers(), and ParaRacingSolverPool::~ParaRacingSolverPool().
|
pure virtual |
check if the Solver specified by rank is terminated or not
rank | rank of the Solver |
Implemented in BbParaSolverPool.
Referenced by ParaSolverPool::getNSolvers(), and ParaLoadCoordinator::processTagToken().
|
pure virtual |
check if the Solver specified by rank is terminate requested or not
rank | rank of the Solver |
Implemented in BbParaSolverPool.
Referenced by ParaSolverPool::getNSolvers(), BbParaLoadCoordinator::processTagSelfSplitTermStateForInterruption(), BbParaLoadCoordinator::processTagTermStateForInterruption(), BbParaLoadCoordinator::terminateAllSolvers(), and ParaLoadCoordinator::terminateAllSolvers().
|
pure virtual |
set the Solver specified by rank is terminated
rank | rank of the Solver |
Implemented in BbParaSolverPool.
Referenced by ParaSolverPool::getNSolvers(), and ParaLoadCoordinator::processTagTerminated().
|
pure virtual |
set the Solver specified by rank is terminate requested
rank | rank of the Solver |
Implemented in BbParaSolverPool.
Referenced by ParaSolverPool::getNSolvers(), BbParaLoadCoordinator::processTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagSelfSlpitNodeCalcuationState(), BbParaLoadCoordinator::sendInterruptRequest(), BbParaLoadCoordinator::terminateAllSolvers(), and ParaLoadCoordinator::terminateAllSolvers().
|
protected |
number of Solvers
Definition at line 66 of file paraSolverPool.h.
Referenced by ParaSolverPool::getNSolvers(), and ParaRacingSolverPool::getNSolvers().
|
protected |
origin rank of Solvers managed by this Solver pool
Definition at line 65 of file paraSolverPool.h.
|
protected |
communicator
Definition at line 67 of file paraSolverPool.h.
|
protected |
runtime parameters for parallelization
Definition at line 68 of file paraSolverPool.h.
|
protected |
timer
Definition at line 69 of file paraSolverPool.h.