arbeit
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

MPICommunicator Class Reference

#include <MPICommunicator.h>

Inheritance diagram for MPICommunicator:

Communicator List of all members.

Public Member Functions

 MPICommunicator (void)
 ~MPICommunicator (void)
bool Send (KokoProcID id, KokoBuffer &buf, KokoTag tag)
bool Barrier (void)
int Recv (KokoProcID id, KokoBuffer &buf, KokoTag tag)
int SendRecv (int dest, KokoBuffer &sendbuf, KokoTag stag, int src, KokoBuffer &recvbuf, KokoTag rtag)
KokoMesgHandle ASend (KokoProcID id, KokoBuffer &buf, KokoTag tag)
KokoMesgHandle ARecv (KokoProcID id, KokoBuffer &buf, KokoTag tag)
bool Wait (KokoMesgHandle &hand)
bool Test (KokoMesgHandle &hand)
bool Broadcast (KokoBuffer &buffer, KokoProcID root, KokoTag tag)
virtual int SendRecv (KokoProcID to, KokoBuffer &sendbuf, KokoTag sendtag, KokoProcID from, KokoBuffer &recvbuf, KokoTag recvtag)=0
virtual KokoProcID ID (void)
virtual KokoProcID Rank (void)
virtual unsigned int NumProcessors (void)
virtual int RecvSize (void)
virtual KokoTag RecvTag (void)
virtual KokoProcID RecvSource (void)

Protected Member Functions

void ErrorMesg (int err)

Protected Attributes

KokoProcID _id
int _nprocs
KokoProcID _recv_src
int _recv_bytes
KokoTag _recv_tag

Constructor & Destructor Documentation

MPICommunicator::MPICommunicator (  void   ) 
 

Definition at line 65 of file MPICommunicator.cpp.

References Communicator::_id, and Communicator::_nprocs.

MPICommunicator::~MPICommunicator (  void   ) 
 

Definition at line 89 of file MPICommunicator.cpp.

References first.


Member Function Documentation

KokoMesgHandle MPICommunicator::ARecv (  KokoProcID  id,
KokoBuffer &  buf,
KokoTag  tag
)  [virtual]
 

Implements Communicator.

Definition at line 293 of file MPICommunicator.cpp.

References AsyncMesgHandle::_handle, AsyncMesgHandle::_kbuf, ErrorMesg(), id, KOKO_NULL_HANDLE, KokoMesgHandle, KokoBuffer::Lock(), KokoBuffer::Locked(), and KokoBuffer::Size().

KokoMesgHandle MPICommunicator::ASend (  KokoProcID  id,
KokoBuffer &  buf,
KokoTag  tag
)  [virtual]
 

Implements Communicator.

Definition at line 244 of file MPICommunicator.cpp.

References AsyncMesgHandle::_handle, AsyncMesgHandle::_kbuf, ErrorMesg(), id, KOKO_NULL_HANDLE, KokoMesgHandle, KokoBuffer::Lock(), KokoBuffer::Locked(), and KokoBuffer::Size().

bool MPICommunicator::Barrier (  void   )  [virtual]
 

Implements Communicator.

Definition at line 110 of file MPICommunicator.cpp.

References ErrorMesg().

bool MPICommunicator::Broadcast (  KokoBuffer &  buffer,
KokoProcID  root,
KokoTag  tag
)  [virtual]
 

Implements Communicator.

Definition at line 449 of file MPICommunicator.cpp.

References Communicator::_recv_tag, ErrorMesg(), KokoBuffer::GetBuffer(), KokoBuffer::GetTag(), Communicator::ID(), KokoBuffer::Locked(), KokoBuffer::SetCurSize(), KokoBuffer::SetTag(), and KokoBuffer::TotalSize().

void MPICommunicator::ErrorMesg (  int  err  )  [protected]
 

Definition at line 498 of file MPICommunicator.cpp.

References len.

Referenced by ARecv(), ASend(), Barrier(), Broadcast(), Recv(), Send(), SendRecv(), Test(), and Wait().

virtual KokoProcID Communicator::ID (  void   )  [inline, virtual, inherited]
 

Definition at line 88 of file Communicator.h.

References Communicator::_id, and KokoProcID.

Referenced by Broadcast().

virtual unsigned int Communicator::NumProcessors (  void   )  [inline, virtual, inherited]
 

Definition at line 95 of file Communicator.h.

References Communicator::_nprocs.

virtual KokoProcID Communicator::Rank (  void   )  [inline, virtual, inherited]
 

Definition at line 91 of file Communicator.h.

References Communicator::_id, and KokoProcID.

int MPICommunicator::Recv (  KokoProcID  id,
KokoBuffer &  buf,
KokoTag  tag
)  [virtual]
 

Implements Communicator.

Definition at line 162 of file MPICommunicator.cpp.

References Communicator::_recv_bytes, Communicator::_recv_src, Communicator::_recv_tag, ErrorMesg(), id, KokoBuffer::Locked(), KokoBuffer::SetCurSize(), and KokoBuffer::TotalSize().

virtual int Communicator::RecvSize (  void   )  [inline, virtual, inherited]
 

Definition at line 100 of file Communicator.h.

References Communicator::_recv_bytes.

virtual KokoProcID Communicator::RecvSource (  void   )  [inline, virtual, inherited]
 

Definition at line 108 of file Communicator.h.

References Communicator::_recv_src, and KokoProcID.

virtual KokoTag Communicator::RecvTag (  void   )  [inline, virtual, inherited]
 

Definition at line 105 of file Communicator.h.

References Communicator::_recv_tag, and KokoTag.

Referenced by Messenger::WaitForBroadcast(), and Messenger::WaitForMessage().

bool MPICommunicator::Send (  KokoProcID  id,
KokoBuffer &  buf,
KokoTag  tag
)  [virtual]
 

Implements Communicator.

Definition at line 130 of file MPICommunicator.cpp.

References ErrorMesg(), id, KokoBuffer::Locked(), and KokoBuffer::Size().

virtual int Communicator::SendRecv (  KokoProcID  to,
KokoBuffer &  sendbuf,
KokoTag  sendtag,
KokoProcID  from,
KokoBuffer &  recvbuf,
KokoTag  recvtag
)  [pure virtual, inherited]
 

int MPICommunicator::SendRecv (  int  dest,
KokoBuffer &  sendbuf,
KokoTag  stag,
int  src,
KokoBuffer &  recvbuf,
KokoTag  rtag
) 
 

Definition at line 200 of file MPICommunicator.cpp.

References Communicator::_recv_bytes, Communicator::_recv_src, Communicator::_recv_tag, ErrorMesg(), KokoBuffer::Locked(), KokoBuffer::Size(), and src.

bool MPICommunicator::Test (  KokoMesgHandle &  hand  )  [virtual]
 

Implements Communicator.

Definition at line 392 of file MPICommunicator.cpp.

References Communicator::_recv_bytes, ErrorMesg(), and KOKO_NULL_HANDLE.

bool MPICommunicator::Wait (  KokoMesgHandle &  hand  )  [virtual]
 

Implements Communicator.

Definition at line 342 of file MPICommunicator.cpp.

References Communicator::_recv_bytes, ErrorMesg(), and KOKO_NULL_HANDLE.


Member Data Documentation

KokoProcID Communicator::_id [protected, inherited]
 

Definition at line 112 of file Communicator.h.

Referenced by Communicator::Communicator(), Communicator::ID(), MPICommunicator(), and Communicator::Rank().

int Communicator::_nprocs [protected, inherited]
 

Definition at line 113 of file Communicator.h.

Referenced by Communicator::Communicator(), MPICommunicator(), and Communicator::NumProcessors().

int Communicator::_recv_bytes [protected, inherited]
 

Definition at line 115 of file Communicator.h.

Referenced by Communicator::Communicator(), Recv(), Communicator::RecvSize(), SendRecv(), Test(), and Wait().

KokoProcID Communicator::_recv_src [protected, inherited]
 

Definition at line 114 of file Communicator.h.

Referenced by Communicator::Communicator(), Recv(), Communicator::RecvSource(), and SendRecv().

KokoTag Communicator::_recv_tag [protected, inherited]
 

Definition at line 116 of file Communicator.h.

Referenced by Broadcast(), Communicator::Communicator(), Recv(), Communicator::RecvTag(), and SendRecv().


The documentation for this class was generated from the following files:
Send questions, comments, and bug reports to:
jmk