Communicator class for interprocess communication. More...
#include <Communicator.h>
Public Member Functions | |
bool | initialize (StateP, int, char **) |
bool | finalize () |
bool | isInitialized () |
bool | sendIndividuals (std::vector< IndividualP >, uint, uint nIndividuals=0) |
bool | sendIndividualsGlobal (std::vector< IndividualP >, uint, uint nIndividuals=0) |
bool | sendFitness (std::vector< IndividualP >, uint, uint nIndividuals=0) |
bool | sendValuesGlobal (std::vector< double >, uint) |
bool | sendLogsGlobal (std::string, uint iProcess=0, bool blocking=false) |
bool | sendDataGlobal (voidP, uint, uint) |
uint | recvDemeIndividuals (std::vector< IndividualP > &, uint) |
std::vector< IndividualP > | recvIndividuals (uint iProcess=MPI::ANY_SOURCE) |
std::vector< IndividualP > | recvIndividualsGlobal (uint iProcess=MPI::ANY_SOURCE) |
uint | recvReplaceIndividuals (std::vector< IndividualP > &, uint) |
uint | recvDemeFitness (std::vector< IndividualP > &, uint) |
std::vector< uint > | recvFitnessVector (std::vector< IndividualP > &, uint) |
std::vector< double > | recvValuesGlobal (uint iProcess=MPI::ANY_SOURCE) |
std::string | recvLogsGlobal () |
voidP | recvDataGlobal (uint iProcess=MPI::ANY_SOURCE) |
bool | messageWaiting (uint iProcess=MPI::ANY_SOURCE, uint tag=MPI::ANY_TAG) |
void | synchronize () |
bool | sendControlMessage (uint, int) |
int | recvControlMessage (uint) |
bool | sendTerminateMessage (uint, bool) |
bool | recvTerminateMessage (uint) |
bool | checkTerminationMessage (uint master=0) |
uint | createDemeCommunicator (uint nDemes) |
uint | getDemeMaster (uint iDeme) |
uint | getLastSource () |
uint | getCommRank () |
uint | getCommSize () |
uint | getCommGlobalRank () |
uint | getCommGlobalSize () |
bool | initialize (StateP state, int argc, char **argv) |
bool | finalize () |
uint | getCommRank () |
uint | getCommGlobalRank () |
uint | getCommSize () |
Protected Member Functions | |
double | time (enum timing T) |
Protected Attributes | |
uint | mpiGlobalSize_ |
uint | mpiGlobalRank_ |
uint | mpiSize_ |
uint | mpiRank_ |
std::string | processorName_ |
StateP | state_ |
MPI::Status | status_ |
MPI::Status | controlStatus_ |
int | logLevel_ |
std::vector< uint > | demeMasters |
bool | bInitialized_ |
MPI::Intercomm | frameworkComm_ |
MPI::Intercomm | demeComm_ |
double | currentTime_ |
double | lastTime_ |
double | beginTime_ |
double | endTime_ |
double | idleTime_ |
double | sendTime_ |
double | recvTime_ |
double | compTime_ |
double | packTime_ |
double | unpackTime_ |
uint | sendCnt_ |
uint | recvCnt_ |
Communicator class for interprocess communication.
Wraps MPI calls for message passing between processes. Note: will be reimplemented as an abstract class with MPI specialization.
Definition at line 44 of file Communicator.h.
double Comm::Communicator::time | ( | enum timing | T | ) | [protected] |
Gets current time and adds elapsed time to a category
Definition at line 130 of file Communicator.cpp.
MPI::Intercomm Comm::Communicator::demeComm_ [protected] |
deme communicator - initially includes all processes (MPI_COMM_WORLD) but may be split into subcomms if multiple deme population is used Used by:
Definition at line 78 of file Communicator.h.
MPI::Intercomm Comm::Communicator::frameworkComm_ [protected] |
framework communicator - equivalent to MPI_COMM_WORLD Used by:
Definition at line 71 of file Communicator.h.