37#ifndef __PARA_COMM_H__ 
   38#define __PARA_COMM_H__ 
   47#define PARA_COMM_CALL( paracommcall ) \ 
   49          int _status = paracommcall; \ 
   52             std::ostringstream s_; \ 
   53             s_ << "[PARA_COMM_CALL ERROR: " << __FILE__  << "] func = " \
 
   54             << __func__ << ", line = " << __LINE__ << ": " \
 
   55             << "error_code = " << _status << std::endl; \
 
   56             throw std::logic_error( s_.str() ); \
 
  350         const int datatypeId,      
 
  361         const int datatypeId,      
 
  373         const int datatypeId,      
 
Base class of Calculation state in a ParaSolver.
 
Base class of communicator object.
 
virtual void lcInit(ParaParamSet *paraParamSet)=0
special initializer when this object is used in LoadCoordinator
 
virtual bool waitTerminatedMessage()=0
function to wait Terminated message (This function is not used currently)
 
virtual const char * getTagString(int tag)=0
get Tag string for debugging
 
virtual ParaTimer * createParaTimer()=0
create ParaTimer object
 
virtual void lockApp()=0
lock UG application to synchronize with other threads
 
ParaComm()
default constructor of ParaComm
 
virtual ParaRacingRampUpParamSet * createParaRacingRampUpParamSet()=0
create ParaRacingRampUpParamSet object
 
virtual void unlockApp(char const *f, int l)
unlock UG application to synchronize with other threads (for debug)
 
virtual ParaSolverState * createParaSolverState()=0
create ParaSolverState object by default constructor
 
virtual ParaDiffSubproblem * createParaDiffSubproblem()
create ParaDiffSubproblem object by default constructor
 
virtual void passToken(int rank)
pass token to from the rank to the next
 
virtual void setToken(int rank, int *token)
set received token to this communicator
 
virtual void setLocalRank(int inRank)
 
virtual ~ParaComm()
destructor of ParaComm
 
virtual bool waitToken(int rank)
wait token when UG runs with deterministic mode
 
virtual ParaSolution * createParaSolution()=0
create ParaSolution object by default constructor
 
virtual void solverInit(ParaParamSet *paraParamSet)=0
special initializer when this object is used in Solver
 
virtual int getSize()=0
get number of UG processes or UG threads depending on run-time environment
 
virtual bool probe(int *source, int *tag)=0
No need to take action for fault tolerant, when the functions return. So, they do not rerun status va...
 
virtual ParaTask * createParaTask()=0
create ParaTask object by default constructor
 
virtual int send(void *bufer, int count, const int datatypeId, int dest, const int tag)=0
send function for standard ParaData types
 
virtual void abort()=0
abort function for this communicator (how to abort depends on which library used for communication)
 
virtual void lockApp(char const *f, int l)
lock UG application to synchronize with other threads (for debug)
 
virtual ParaParamSet * createParaParamSet()=0
create ParaParamSet object
 
virtual void init(int argc, char **argv)=0
initializer of this object
 
virtual bool passTermToken(int rank)
pass termination token from the rank to the next
 
virtual ParaSolverTerminationState * createParaSolverTerminationState()=0
create ParaSolverTerminationState object by default constructor
 
virtual int getNumOfMessagesWaitingToSend(int dest)=0
get size of the messageQueueTable
 
virtual void unlockApp()=0
unlock UG application to synchronize with other threads
 
virtual int receive(void *bufer, int count, const int datatypeId, int source, const int tag)=0
receive function for standard ParaData types
 
virtual int bcast(void *buffer, int count, const int datatypeId, int root)=0
Some action need to be taken for fault tolerant, when the functions return. So, they rerun status val...
 
virtual ParaInstance * createParaInstance()=0
create ParaInstance object by default constructor
 
virtual bool iProbe(int *source, int *tag)=0
iProbe function which checks if a new message is arrived or not
 
virtual int getRank()=0
get rank of this process or this thread depending on run-time environment
 
virtual ParaCalculationState * createParaCalculationState()=0
transfer object factory
 
virtual void waitSpecTagFromSpecSource(const int source, const int tag, int *receivedTag)=0
wait function for a specific tag from a specific source coming from
 
Class for the difference between instance and subproblem.
 
class for initial statistics collecting after racing
 
class ParaRacingRampUpParamSet (parameter set for racing ramp-up)
 
class ParaSolverState (ParaSolver state object for notification message)
 
class ParaSolverTerminationState (Solver termination state in a ParaSolver)
 
static ScipParaParamSet * paraParamSet
 
static const int ParaUNSIGNED_LONG
 
static const int TYPE_LAST
 
static const int ParaUNSIGNED_SHORT
 
static const int ParaLONG_DOUBLE
 
static const int ParaLONG
 
static const int TYPE_FIRST
standard transfer data types
 
static const int ParaBYTE
 
static const int ParaUNSIGNED
 
static const int ParaFLOAT
 
static const int NumMaxWorkers
 
static const int TYPE_LIST_SIZE
 
static const int ParaBOOL
 
static const int ParaCHAR
 
static const int ParaSHORT
 
static const int ParaUNSIGNED_LONG_LONG
 
static const int ParaLONG_LONG
 
static const int ParaUNSIGNED_CHAR
 
static const int ParaDOUBLE
 
static const int ParaSIGNED_CHAR
 
Defines for UG Framework.
 
#define THROW_LOGICAL_ERROR1(msg1)
 
Parameter set for UG framework.
 
Fundamental Tag definitions.