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.
1.7.1