FiberSCIP MAIN. More...
#include <unistd.h>
#include <cfloat>
#include <thread>
#include <cstdlib>
#include <signal.h>
#include "ug/paraTimeLimitMonitorTh.h"
#include "ug_bb/bbParaInstance.h"
#include "ug_bb/bbParaLoadCoordinator.h"
#include "ug_bb/bbParaParamSet.h"
#include "ug_bb/bbParaRacingRampUpParamSet.h"
#include "ug_bb/bbParaInitiator.h"
#include "ug_bb/bbParaNodeTh.h"
#include "scip/scip.h"
#include "scipParaCommTh.h"
#include "scipParaInstance.h"
#include "scipParaDeterministicTimer.h"
#include "scipParaSolver.h"
#include "scipParaInitiator.h"
#include "scipParaLoadCoordinator.h"
#include "scipParaParamSet.h"
Go to the source code of this file.
Classes | |
struct | SolverThreadData_t |
Typedefs | |
typedef struct SolverThreadData_t | SolverThreadData |
Functions | |
void | setUserPlugins (ParaInitiator *initiator) |
void | setUserPlugins (ParaInstance *instance) |
void | setUserPlugins (ParaSolver *solver) |
static void | interruptHandler (int signum) |
void | outputCommandLineMessages (char **argv) |
void | outputParaParamSet () |
void | outputSolverParams () |
void * | runSolverThread (void *threadData) |
int | main (int argc, char **argv) |
Variables | |
long long | virtualMemUsedAtLc = 0 |
double | memoryLimitOfSolverSCIP = 8796093022207 |
static ScipParaCommTh * | comm = 0 |
static ScipParaParamSet * | paraParamSet = 0 |
static int | nSolvers = 0 |
static ScipParaInitiator * | paraInitiator = 0 |
static ScipParaLoadCoordinator * | paraLc = 0 |
static bool | interrupted = false |
FiberSCIP MAIN.
Definition in file fscip.cpp.
typedef struct SolverThreadData_t SolverThreadData |
|
static |
interrupt handler for CTRL-C interrupts
signum | interrupt signal number |
Definition at line 98 of file fscip.cpp.
References ParaLoadCoordinator::interrupt(), interrupted, and paraInitiator.
Referenced by main().
int main | ( | int | argc, |
char ** | argv | ||
) |
catch SIGINT
Definition at line 360 of file fscip.cpp.
References SolverThreadData_t::argc, SolverThreadData_t::argv, ParaInstance::bcast(), comm, UG::Deterministic, ScipParaInitiator::generateRacingRampUpParameterSets(), ParaTimer::getElapsedTime(), ScipParaInitiator::getParaInstance(), ParaTimer::init(), ScipParaInitiator::init(), UG::InstanceTransferMethod, interrupted, interruptHandler(), ParaInitiator::isWarmStarted(), ScipParaInitiator::makeRootNodeDiffSubproblem(), nSolvers, outputCommandLineMessages(), ScipParaInitiator::outputFinalSolverStatistics(), UG::OutputParaParams, outputParaParamSet(), outputSolverParams(), PARA_COMM_CALL, paraInitiator, UG::ParaINT, paraLc, paraParamSet, SolverThreadData_t::paraTimer, UG::RampUpPhaseProcess, SolverThreadData_t::rank, BbParaLoadCoordinator::run(), runSolverThread(), ParaSCIP::ScipParaCommTh(), ScipParaInitiator::sendSolverInitializationMessage(), setUserPlugins(), UG::StatisticsToStdout, UG::TagKeepRacing, and THROW_LOGICAL_ERROR2.
void outputCommandLineMessages | ( | char ** | argv | ) |
void outputParaParamSet | ( | ) |
Definition at line 139 of file fscip.cpp.
References ScipParaInitiator::getParaInstance(), ParaInitiator::getPrefixWarm(), ParaInstance::getProbName(), UG::LogSolvingStatusFilePath, and UG::Quiet.
Referenced by main().
void outputSolverParams | ( | ) |
Definition at line 168 of file fscip.cpp.
References ScipParaInitiator::getParaInstance(), ParaInitiator::getPrefixWarm(), ParaInstance::getProbName(), UG::LogSolvingStatusFilePath, UG::Quiet, and ScipParaInitiator::writeSolverParameters().
Referenced by main().
void* runSolverThread | ( | void * | threadData | ) |
Definition at line 197 of file fscip.cpp.
References SolverThreadData_t::argc, SolverThreadData_t::argv, ParaInstance::bcast(), comm, UG::Deterministic, ParaTimer::getElapsedTime(), UG::InstanceTransferMethod, PARA_COMM_CALL, UG::ParaBYTE, UG::ParaINT, SolverThreadData_t::paraTimer, UG::RampUpPhaseProcess, SolverThreadData_t::rank, BbParaRacingRampUpParamSet::receive(), BbParaSolver::run(), setUserPlugins(), UG::StatisticsToStdout, UG::TagKeepRacing, UG::TagTerminateRequest, and THROW_LOGICAL_ERROR2.
Referenced by main().
void setUserPlugins | ( | ParaInitiator * | initiator | ) |
Definition at line 45 of file scipDefaultUserPlugins.cpp.
Referenced by main(), and runSolverThread().
void setUserPlugins | ( | ParaInstance * | instance | ) |
Definition at line 54 of file scipDefaultUserPlugins.cpp.
void setUserPlugins | ( | ParaSolver * | solver | ) |
this should not be used
Definition at line 63 of file scipDefaultUserPlugins.cpp.
|
static |
Definition at line 73 of file fscip.cpp.
Referenced by ParaTask::addDescendant(), ScipParaDiffSubproblem::addInitialBranchVarStats(), BbParaSolver::BbParaSolver(), BbParaSolverTerminationStateMpi::BbParaSolverTerminationStateMpi(), BbParaSolverTerminationStateTh::BbParaSolverTerminationStateTh(), BbParaNodeMpi::clone(), ScipDiffParamSet::doesContainRealParam(), BbParaSolverTerminationState::getCalcTerminationState(), ParaSolverState::getDeterministicTime(), ParaSolverTerminationState::getDeterministicTime(), BbParaNode::getMinimumDualBoundInDesendants(), ScipParaDiffSubproblem::getOffset(), ScipParaRacingRampUpParamSet::getScipRacingParamSeed(), ParaCalculationState::getTerminationState(), main(), ParaSolver::ParaSolver(), runSolverThread(), ScipParaInterruptMsgMonitor::ScipParaInterruptMsgMonitor(), ScipParaSolver::ScipParaSolver(), ScipParaInstanceMpi::setFileName(), ScipParaSolution::setValue(), ParaRacingRampUpParamSet::setWinnerRank(), BbParaRacingRampUpParamSet::setWinnerRank(), BbParaLoadCoordinatorTerminationState::toString(), ScipDiffParamSet::toString(), BbParaSolverTerminationState::toString(), BbParaCalculationStateMpi::~BbParaCalculationStateMpi(), BbParaCalculationStateTh::~BbParaCalculationStateTh(), BbParaDiffSubproblem::~BbParaDiffSubproblem(), BbParaLoadCoordinatorTerminationState::~BbParaLoadCoordinatorTerminationState(), UG::~BbParaParamSet(), BbParaSolverStateMpi::~BbParaSolverStateMpi(), BbParaSolverStateTh::~BbParaSolverStateTh(), ParaDiffSubproblem::~ParaDiffSubproblem(), ParaInitialStat::~ParaInitialStat(), ParaInstance::~ParaInstance(), ParaLoadCoordinatorTerminationState::~ParaLoadCoordinatorTerminationState(), ParaParamSet::~ParaParamSet(), ParaParamSetMpi::~ParaParamSetMpi(), ParaSolution::~ParaSolution(), ParaTimerMpi::~ParaTimerMpi(), ScipDiffParamSetMpi::~ScipDiffParamSetMpi(), ScipDiffParamSetTh::~ScipDiffParamSetTh(), ScipParaDiffSubproblemMpi::~ScipParaDiffSubproblemMpi(), ScipParaInitialStat::~ScipParaInitialStat(), ScipParaInitialStatMpi::~ScipParaInitialStatMpi(), ScipParaInstanceTh::~ScipParaInstanceTh(), ScipParaRacingRampUpParamSetMpi::~ScipParaRacingRampUpParamSetMpi(), ScipParaRacingRampUpParamSetTh::~ScipParaRacingRampUpParamSetTh(), and ScipParaSolutionMpi::~ScipParaSolutionMpi().
|
static |
Definition at line 78 of file fscip.cpp.
Referenced by interruptHandler(), main(), BbParaSolver::sendSolverTerminationState(), BbParaCommCPP11::~BbParaCommCPP11(), BbParaCommMpi::~BbParaCommMpi(), BbParaCommPth::~BbParaCommPth(), and ScipParaSolver::~ScipParaSolver().
double memoryLimitOfSolverSCIP = 8796093022207 |
Definition at line 71 of file fscip.cpp.
Referenced by ScipParaInitiator::init(), and ScipParaSolver::ScipParaSolver().
|
static |
Definition at line 75 of file fscip.cpp.
Referenced by BbParaRacingSolverPool::activate(), BbParaSolverPool::activateSolver(), BbParaSolverPool::addNewSubtreeRootNode(), BbParaRacingSolverPool::BbParaRacingSolverPool(), BbParaSolverPool::BbParaSolverPool(), BbParaSolverPoolForMinimization::BbParaSolverPoolForMinimization(), BbParaSolverPool::deleteCurrentSubtreeRootNode(), BbParaSolverPool::extractSelfSplitSubtreeRootNode(), BbParaSolverPool::extractSelfSplitSubtreeRootNodes(), BbParaSolverPool::getNSolvers(), BbParaSolverPool::getSelfSplitSubtreeRootNodes(), BbParaRacingSolverPool::getStrActiveSolerNumbers(), BbParaSolverPool::inactivateSolver(), BbParaSolverPool::incNLimitCollectingModeSolvers(), BbParaRacingSolverPool::isWinnerDecided(), main(), BbParaSolverPool::makeSubtreeRootNodeCurrent(), BbParaSolverPool::removeSubtreeRootNode(), BbParaRacingSolverPool::reset(), BbParaSolverPool::resetCountersInSolver(), BbParaSolverPool::solverDied(), BbParaSolverPoolForMinimization::updateSolverStatus(), BbParaRacingSolverPool::~BbParaRacingSolverPool(), and BbParaSolverPool::~BbParaSolverPool().
|
static |
Definition at line 76 of file fscip.cpp.
Referenced by interruptHandler(), main(), and BbParaNodesMerger::~BbParaNodesMerger().
|
static |
|
static |
Definition at line 74 of file fscip.cpp.
Referenced by ParaCommMpi::getNumOfMessagesWaitingToSend(), ParaCommCPP11::getNumOfMessagesWaitingToSend(), ParaCommPth::getNumOfMessagesWaitingToSend(), main(), ScipParaSolver::ScipParaSolver(), and ParaComm::~ParaComm().
long long virtualMemUsedAtLc = 0 |
Definition at line 70 of file fscip.cpp.
Referenced by ScipParaInitiator::init().