46 const int nBlocks = 10;
48 MPI_Datatype datatype;
50 MPI_Aint startAddress = 0;
53 int blockLengths[nBlocks];
54 MPI_Aint displacements[nBlocks];
55 MPI_Datatype types[nBlocks];
57 for(
int i = 0; i < nBlocks; i++ )
71 displacements[1] = address - startAddress;
72 types[1] = MPI_UNSIGNED;
75 MPI_Get_address( &
lcId, &address )
77 displacements[2] = address - startAddress;
82 displacements[3] = address - startAddress;
87 displacements[4] = address - startAddress;
91 types[4] = MPI_LONG_LONG;
97 displacements[5] = address - startAddress;
102 displacements[6] = address - startAddress;
103 types[6] = MPI_DOUBLE;
108 displacements[7] = address - startAddress;
109 types[7] = MPI_DOUBLE;
112 MPI_Get_address( &
detTime, &address )
114 displacements[8] = address - startAddress;
115 types[8] = MPI_DOUBLE;
120 displacements[9] = address - startAddress;
121 types[9] = MPI_DOUBLE;
124 MPI_Type_create_struct(nBlocks, blockLengths, displacements, types, &datatype)
141 MPI_Datatype datatype;
144 MPI_Type_commit( &datatype )
147 commMpi->usend(&
racingStage, 1, datatype, destination, tag)
150 MPI_Type_free( &datatype )
163 MPI_Datatype datatype;
166 MPI_Type_commit( &datatype )
169 commMpi->ureceive(&
racingStage, 1, datatype, source, tag)
172 MPI_Type_free( &datatype )
void receive(ParaComm *comm, int source, int tag)
receive this object
void send(ParaComm *comm, int destination, int tag)
send this object
static ScipParaCommTh * comm
int globalSubtreeIdInLc
global subtree id of current ParaTask
#define PARA_COMM_CALL(paracommcall)
#define DEF_PARA_COMM(para_comm, comm)
double detTime
deterministic time, -1: should be non-deterministic
double averageDualBoundGain
average dual bound gain received
int nNodesLeft
number of remaining nodes
MPI_Datatype createDatatype()
create BbParaSolverStateMpi datatype
int lcId
lc id of current ParaTask
double globalBestPrimalBoundValue
global best primal bound value
long long nNodesSolved
number of nodes solved
int racingStage
if this value is 1, solver is in racing stage
#define MPI_CALL(mpicall)
Base class of communicator object.
unsigned int notificationId
id for this notification
double bestDualBoundValue
best dual bound value in that of remaining nodes