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().