class ParaRacingSolverPool (Racing Solver Pool) More...
#include <paraSolverPool.h>
Public Member Functions | |
ParaRacingSolverPool (int inOriginRank, ParaComm *inParaComm, ParaParamSet *inParaParams, ParaTimer *inParaTimer, ParaDeterministicTimer *inParaDetTimer) | |
constructor More... | |
virtual | ~ParaRacingSolverPool () |
destructor More... | |
virtual ParaTask * | getCurrentTask (int rank)=0 |
get root ParaTask object of the Solver specified 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 specified Solver is active or not More... | |
int | getWinner () |
get winner Solver rank More... | |
std::size_t | getNSolvers () |
get number of Solvers in this Solver pool More... | |
Protected Attributes | |
int | winnerRank |
winner rank of racing ramp-up, -1: not decided yet More... | |
int | originRank |
origin rank of Solvers managed by this Solver pool More... | |
int | nSolvers |
number of Solvers More... | |
ParaComm * | paraComm |
communicator More... | |
ParaParamSet * | paraParams |
runtime parameters for parallelization More... | |
ParaTimer * | paraTimer |
timer used More... | |
ParaDeterministicTimer * | paraDetTimer |
deterministic timer used More... | |
class ParaRacingSolverPool (Racing Solver Pool)
Definition at line 189 of file paraSolverPool.h.
ParaRacingSolverPool | ( | int | inOriginRank, |
ParaComm * | inParaComm, | ||
ParaParamSet * | inParaParams, | ||
ParaTimer * | inParaTimer, | ||
ParaDeterministicTimer * | inParaDetTimer | ||
) |
constructor
inOriginRank | origin rank of Solvers managed by this Solver pool |
inParaComm | communicator used |
inParaParams | paraParamSet used |
inParaTimer | timer used |
inParaDetTimer | deterministic timer used |
Definition at line 207 of file paraSolverPool.h.
References ParaComm::getSize(), ParaRacingSolverPool::nSolvers, and ParaRacingSolverPool::paraComm.
|
virtual |
destructor
Definition at line 227 of file paraSolverPool.h.
|
pure virtual |
get root ParaTask object of the Solver specified
rank | rank of the Solver |
Implemented in BbParaRacingSolverPool.
Referenced by ParaLoadCoordinator::writeTransferLogInRacing().
std::size_t getNSolvers | ( | ) |
get number of Solvers in this Solver pool
Definition at line 277 of file paraSolverPool.h.
References ParaRacingSolverPool::nSolvers.
Referenced by BbParaLoadCoordinator::processRacingRampUpTagSolverState(), BbParaLoadCoordinator::sendInterruptRequest(), and BbParaLoadCoordinator::terminateAllSolvers().
|
pure virtual |
get number of active Solvers
Implemented in BbParaRacingSolverPool.
Referenced by BbParaLoadCoordinator::inactivateRacingSolverPool(), BbParaLoadCoordinator::outputTabularSolvingStatus(), BbParaLoadCoordinator::processRacingRampUpTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagLbBoundTightened(), BbParaLoadCoordinator::processTagUbBoundTightened(), BbParaLoadCoordinator::run(), BbParaLoadCoordinator::sendInterruptRequest(), BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
pure virtual |
get number of inactive Solvers
Implemented in BbParaRacingSolverPool.
Referenced by BbParaLoadCoordinator::processTagLbBoundTightened(), BbParaLoadCoordinator::processTagUbBoundTightened(), and BbParaLoadCoordinator::sendParaTasksToIdleSolvers().
int getWinner | ( | ) |
get winner Solver rank
Definition at line 266 of file paraSolverPool.h.
References ParaRacingSolverPool::winnerRank.
Referenced by BbParaLoadCoordinator::run().
|
pure virtual |
check if the specified Solver is active or not
rank | rank of the Solver |
Implemented in BbParaRacingSolverPool.
Referenced by BbParaLoadCoordinator::inactivateRacingSolverPool(), BbParaLoadCoordinator::processRacingRampUpTagSolverState(), BbParaLoadCoordinator::processTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagSelfSlpitNodeCalcuationState(), BbParaLoadCoordinator::processTagTermStateForInterruption(), BbParaLoadCoordinator::sendInterruptRequest(), and BbParaLoadCoordinator::terminateAllSolvers().
|
protected |
number of Solvers
Definition at line 196 of file paraSolverPool.h.
Referenced by BbParaRacingSolverPool::activate(), BbParaRacingSolverPool::BbParaRacingSolverPool(), ParaRacingSolverPool::getNSolvers(), BbParaRacingSolverPool::getStrActiveSolerNumbers(), BbParaRacingSolverPool::isWinnerDecided(), ParaRacingSolverPool::ParaRacingSolverPool(), BbParaRacingSolverPool::reset(), and BbParaRacingSolverPool::~BbParaRacingSolverPool().
|
protected |
origin rank of Solvers managed by this Solver pool
Definition at line 195 of file paraSolverPool.h.
Referenced by BbParaRacingSolverPool::activate(), BbParaRacingSolverPool::BbParaRacingSolverPool(), BbParaRacingSolverPool::getStrActiveSolerNumbers(), and BbParaRacingSolverPool::reset().
|
protected |
communicator
Definition at line 197 of file paraSolverPool.h.
Referenced by BbParaRacingSolverPool::extractNode(), and ParaRacingSolverPool::ParaRacingSolverPool().
|
protected |
deterministic timer used
Definition at line 200 of file paraSolverPool.h.
Referenced by BbParaRacingSolverPool::isWinnerDecided().
|
protected |
runtime parameters for parallelization
Definition at line 198 of file paraSolverPool.h.
Referenced by BbParaRacingSolverPool::isWinnerDecided(), and BbParaRacingSolverPool::updateSolverStatus().
|
protected |
timer used
Definition at line 199 of file paraSolverPool.h.
Referenced by BbParaRacingSolverPool::isWinnerDecided().
|
protected |
winner rank of racing ramp-up, -1: not decided yet
Definition at line 194 of file paraSolverPool.h.
Referenced by ParaRacingSolverPool::getWinner(), and BbParaRacingSolverPool::isWinnerDecided().