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