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, paraInitiator, and paraLc.
Referenced by main().
int main | ( | int | argc, |
char ** | argv | ||
) |
catch SIGINT
Definition at line 361 of file fscip.cpp.
References SolverThreadData_t::argc, SolverThreadData_t::argv, ParaInstance::bcast(), comm, BbParaCommCPP11::createParaNode(), ScipParaCommTh::createParaParamSet(), ParaCommCPP11::createParaTimer(), UG::Deterministic, ScipParaInitiator::generateRacingRampUpParameterSets(), ParaParamSet::getBoolParamValue(), ParaTimer::getElapsedTime(), ParaParamSet::getIntParamValue(), ScipParaInitiator::getParaInstance(), ParaCommCPP11::getRank(), ParaCommCPP11::getSize(), ParaCommCPP11::init(), ParaTimer::init(), ScipParaInitiator::init(), UG::InstanceTransferMethod, interrupted, interruptHandler(), ParaInitiator::isWarmStarted(), ParaCommCPP11::lcInit(), 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, BbParaParamSet::read(), BbParaLoadCoordinator::run(), runSolverThread(), ParaCommCPP11::send(), ScipParaInitiator::sendSolverInitializationMessage(), setUserPlugins(), UG::StatisticsToStdout, UG::TagKeepRacing, THROW_LOGICAL_ERROR2, and BbParaLoadCoordinator::warmStart().
void outputCommandLineMessages | ( | char ** | argv | ) |
Definition at line 120 of file fscip.cpp.
References SolverThreadData_t::argv.
Referenced by main().
void outputParaParamSet | ( | ) |
Definition at line 140 of file fscip.cpp.
References ParaParamSet::getBoolParamValue(), ScipParaInitiator::getParaInstance(), ParaInitiator::getPrefixWarm(), ParaInstance::getProbName(), ParaParamSet::getStringParamValue(), UG::LogSolvingStatusFilePath, paraInitiator, paraParamSet, UG::Quiet, and ParaParamSet::write().
Referenced by main().
void outputSolverParams | ( | ) |
Definition at line 169 of file fscip.cpp.
References ParaParamSet::getBoolParamValue(), ScipParaInitiator::getParaInstance(), ParaInitiator::getPrefixWarm(), ParaInstance::getProbName(), ParaParamSet::getStringParamValue(), UG::LogSolvingStatusFilePath, paraInitiator, paraParamSet, UG::Quiet, and ScipParaInitiator::writeSolverParameters().
Referenced by main().
void * runSolverThread | ( | void * | threadData | ) |
Definition at line 198 of file fscip.cpp.
References SolverThreadData_t::argc, SolverThreadData_t::argv, ParaInstance::bcast(), comm, ScipParaCommTh::createParaInstance(), ScipParaCommTh::createParaRacingRampUpParamSet(), UG::Deterministic, ParaParamSet::getBoolParamValue(), ParaTimer::getElapsedTime(), ParaParamSet::getIntParamValue(), ParaCommCPP11::getRank(), ParaCommCPP11::getSize(), UG::InstanceTransferMethod, ParaCommCPP11::lockApp(), PARA_COMM_CALL, UG::ParaBYTE, UG::ParaINT, paraParamSet, SolverThreadData_t::paraTimer, ParaCommCPP11::probe(), UG::RampUpPhaseProcess, SolverThreadData_t::rank, BbParaRacingRampUpParamSet::receive(), ParaCommCPP11::receive(), BbParaSolver::run(), setUserPlugins(), ParaCommCPP11::solverInit(), UG::StatisticsToStdout, UG::TagKeepRacing, UG::TagTerminateRequest, THROW_LOGICAL_ERROR2, and ParaCommCPP11::unlockApp().
Referenced by main().
void setUserPlugins | ( | ParaInitiator * | initiator | ) |
Definition at line 45 of file scipDefaultUserPlugins.cpp.
References ScipParaInitiator::setUserPlugins().
Referenced by main(), and runSolverThread().
void setUserPlugins | ( | ParaInstance * | instance | ) |
Definition at line 54 of file scipDefaultUserPlugins.cpp.
References ScipParaInstance::setUserPlugins().
void setUserPlugins | ( | ParaSolver * | solver | ) |
this should not be used
Definition at line 63 of file scipDefaultUserPlugins.cpp.
References ScipParaSolver::setUserPlugins().
|
static |
Definition at line 73 of file fscip.cpp.
Referenced by ParaParamSetMpi::bcast(), BbParaNodeMpi::bcast(), BbParaNodeTh::bcast(), ScipParaInstanceMpi::bcast(), ScipParaInstanceTh::bcast(), ScipDiffParamSetMpi::bcast(), ScipDiffParamSetTh::bcast(), ScipParaDiffSubproblemMpi::bcast(), ScipParaSolutionMpi::bcast(), ScipParaSolutionTh::bcast(), BbParaNodeMpi::clone(), BbParaNodeTh::clone(), ScipParaInitialStat::clone(), BbParaNodeTh::createDatatype(), ScipParaInitialStatTh::createDatatype(), ScipParaSolutionTh::createDatatype(), ScipParaDiffSubproblem::createDiffSubproblem(), ParaTimerMpi::init(), main(), ScipParaDeterministicTimer::normalize(), BbParaParamSet::read(), BbParaNode::read(), ScipParaRacingRampUpParamSet::read(), BbParaNodeMpi::receive(), BbParaNodeTh::receive(), BbParaCalculationStateMpi::receive(), BbParaCalculationStateTh::receive(), BbParaSolverStateMpi::receive(), BbParaSolverStateTh::receive(), BbParaSolverTerminationStateMpi::receive(), BbParaSolverTerminationStateTh::receive(), ScipDiffParamSetMpi::receive(), ScipDiffParamSetTh::receive(), ScipParaDiffSubproblemMpi::receive(), ScipParaInitialStatMpi::receive(), ScipParaInitialStatTh::receive(), ScipParaRacingRampUpParamSetMpi::receive(), ScipParaRacingRampUpParamSetTh::receive(), ScipParaSolutionMpi::receive(), ScipParaSolutionTh::receive(), BbParaNodeMpi::receiveNewSubtreeRoot(), BbParaNodeTh::receiveNewSubtreeRoot(), BbParaNodeMpi::receiveSubtreeRootNodeId(), BbParaNodeTh::receiveSubtreeRootNodeId(), runSolverThread(), ScipParaSolver::ScipParaSolver(), BbParaNodeMpi::send(), BbParaNodeTh::send(), BbParaCalculationStateMpi::send(), BbParaCalculationStateTh::send(), BbParaSolverStateMpi::send(), BbParaSolverStateTh::send(), BbParaSolverTerminationStateMpi::send(), BbParaSolverTerminationStateTh::send(), ScipParaDiffSubproblemMpi::send(), ScipParaInitialStatMpi::send(), ScipParaInitialStatTh::send(), ScipParaRacingRampUpParamSetMpi::send(), ScipParaRacingRampUpParamSetTh::send(), ScipDiffParamSetMpi::send(), ScipDiffParamSetTh::send(), ScipParaSolutionMpi::send(), ScipParaSolutionTh::send(), BbParaNodeMpi::sendNewSubtreeRoot(), BbParaNodeTh::sendNewSubtreeRoot(), BbParaNodeMpi::sendSubtreeRootNodeId(), and BbParaNodeTh::sendSubtreeRootNodeId().
|
static |
Definition at line 78 of file fscip.cpp.
Referenced by BbParaCommCPP11::createParaSolverTerminationState(), BbParaCommMpi::createParaSolverTerminationState(), BbParaCommPth::createParaSolverTerminationState(), interruptHandler(), main(), BbParaSolver::sendSolverTerminationState(), 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 76 of file fscip.cpp.
Referenced by BbParaNodesMerger::generateMergeNodesCandidates(), interruptHandler(), main(), outputParaParamSet(), outputSolverParams(), and BbParaNodesMerger::regenerateMergeNodesCandidates().
|
static |
Definition at line 77 of file fscip.cpp.
Referenced by interruptHandler(), and main().
|
static |
Definition at line 74 of file fscip.cpp.
Referenced by ParaCommCPP11::lcInit(), ParaCommMpi::lcInit(), ParaCommPth::lcInit(), main(), outputParaParamSet(), outputSolverParams(), runSolverThread(), ParaCommCPP11::solverInit(), ParaCommPth::solverInit(), ParaCommMpi::solverInit(), ParaCommPth::solverReInit(), and ThreadsTableElement::ThreadsTableElement().
long long virtualMemUsedAtLc = 0 |
Definition at line 70 of file fscip.cpp.
Referenced by ScipParaInitiator::init().