Scippy

UG

Ubiquity Generator framework

paraCommCPP11.h File Reference

ParaComm extension for C++11 thread communication. More...

#include <thread>
#include <mutex>
#include <condition_variable>
#include <stdexcept>
#include <iostream>
#include <ostream>
#include <fstream>
#include <sstream>
#include <string>
#include <iomanip>
#include <cassert>
#include "paraDef.h"
#include "paraComm.h"
#include "paraSysTimer.h"
#include "paraParamSetTh.h"
#include "paraTimerTh.h"

Go to the source code of this file.

Classes

class  MessageQueueElement
 Class for message queue element. More...
 
class  MessageQueueTableElement
 Class of MessageQueueTableElement. More...
 
class  ThreadsTableElement
 Class of ThreadsTableElement. More...
 
class  ParaCommCPP11
 Communicator object for C++11 thread communications. More...
 

Namespaces

 UG
 

Macros

#define TAG_TRACE(call, fromTo, sourceDest, tag)
 
#define DEF_PARA_COMM(para_comm, comm)   ParaCommCPP11 *para_comm = dynamic_cast< ParaCommCPP11* >(comm)
 
#define LOCK_APP(comm)   comm->lockApp(__FILE__, __LINE__)
 
#define UNLOCK_APP(comm)   comm->lockApp(__FILE__, __LINE__)
 
#define LOCK_RANK(comm)   comm->lockRank(__FILE__, __LINE__)
 
#define UNLOCK_RANK(comm)   comm->unlockRank(__FILE__, __LINE__)
 

Variables

static const int UG_USER_TYPE_FIRST = TYPE_LAST + 1
 user defined transfer data types More...
 
static const int ParaInstanceType = UG_USER_TYPE_FIRST + 0
 
static const int ParaSolutionType = UG_USER_TYPE_FIRST + 1
 
static const int ParaParamSetType = UG_USER_TYPE_FIRST + 2
 
static const int ParaTaskType = UG_USER_TYPE_FIRST + 3
 
static const int ParaSolverStateType = UG_USER_TYPE_FIRST + 4
 
static const int ParaCalculationStateType = UG_USER_TYPE_FIRST + 5
 
static const int ParaSolverTerminationStateType = UG_USER_TYPE_FIRST + 6
 
static const int ParaRacingRampUpParamType = UG_USER_TYPE_FIRST + 7
 
static const int UG_USER_TYPE_LAST = UG_USER_TYPE_FIRST + 7
 
static const int ThreadTableSize = 751
 size of thread table : this limits the number of threads More...
 

Detailed Description

ParaComm extension for C++11 thread communication.

Author
Yuji Shinano

Definition in file paraCommCPP11.h.

Macro Definition Documentation

◆ DEF_PARA_COMM

#define DEF_PARA_COMM (   para_comm,
  comm 
)    ParaCommCPP11 *para_comm = dynamic_cast< ParaCommCPP11* >(comm)

Definition at line 1134 of file paraCommCPP11.h.

Referenced by ScipDiffParamSetMpi::bcast(), ScipDiffParamSetTh::bcast(), ScipParaSolutionTh::bcast(), ScipParaSolutionMpi::bcast(), BbParaNodeTh::bcast(), BbParaNodeMpi::bcast(), ScipParaDiffSubproblemMpi::bcast(), ParaParamSetMpi::bcast(), ScipParaInstanceMpi::bcast(), ScipParaInstanceTh::bcast(), ParaTimerMpi::init(), ScipParaRacingRampUpParamSetMpi::receive(), ScipDiffParamSetMpi::receive(), ScipDiffParamSetTh::receive(), ScipParaSolutionTh::receive(), ScipParaSolutionMpi::receive(), BbParaSolverStateTh::receive(), BbParaSolverStateMpi::receive(), ScipParaInitialStatMpi::receive(), BbParaCalculationStateTh::receive(), BbParaCalculationStateMpi::receive(), ScipParaDiffSubproblemMpi::receive(), BbParaNodeTh::receive(), BbParaNodeMpi::receive(), BbParaSolverTerminationStateTh::receive(), BbParaSolverTerminationStateMpi::receive(), BbParaNodeTh::receiveNewSubtreeRoot(), BbParaNodeMpi::receiveNewSubtreeRoot(), BbParaNodeTh::receiveSubtreeRootNodeId(), BbParaNodeMpi::receiveSubtreeRootNodeId(), ScipDiffParamSetMpi::send(), ScipParaRacingRampUpParamSetMpi::send(), ScipDiffParamSetTh::send(), ScipParaSolutionTh::send(), ScipParaSolutionMpi::send(), BbParaSolverStateTh::send(), BbParaSolverStateMpi::send(), BbParaCalculationStateTh::send(), BbParaCalculationStateMpi::send(), ScipParaInitialStatMpi::send(), BbParaNodeTh::send(), ScipParaDiffSubproblemMpi::send(), BbParaNodeMpi::send(), BbParaSolverTerminationStateTh::send(), BbParaSolverTerminationStateMpi::send(), BbParaNodeTh::sendNewSubtreeRoot(), BbParaNodeMpi::sendNewSubtreeRoot(), BbParaNodeTh::sendSubtreeRootNodeId(), and BbParaNodeMpi::sendSubtreeRootNodeId().

◆ LOCK_APP

#define LOCK_APP (   comm)    comm->lockApp(__FILE__, __LINE__)

Definition at line 1135 of file paraCommCPP11.h.

◆ LOCK_RANK

#define LOCK_RANK (   comm)    comm->lockRank(__FILE__, __LINE__)

Definition at line 1137 of file paraCommCPP11.h.

◆ TAG_TRACE

◆ UNLOCK_APP

#define UNLOCK_APP (   comm)    comm->lockApp(__FILE__, __LINE__)

Definition at line 1136 of file paraCommCPP11.h.

◆ UNLOCK_RANK

#define UNLOCK_RANK (   comm)    comm->unlockRank(__FILE__, __LINE__)

Definition at line 1138 of file paraCommCPP11.h.