Classdesc  3.D29
MPIslave< S > Class Template Reference

Master slave manager. More...

#include <classdescMP.h>

Inheritance diagram for MPIslave< S >:
Inheritance graph
Collaboration diagram for MPIslave< S >:
Collaboration graph

Public Member Functions

void init ()
 
void finalize ()
 
MPIbufoperator<< (void(S::*m)(MPIbuf &))
 
template<class T >
MPIbufoperator<< (const T &x)
 
void exec (MPIbuf &x)
 send a request to the next available slave
 
MPIbufget_returnv ()
 process a return value
 
bool all_idle ()
 true if all slaves are idle
 
void wait_all_idle ()
 wait until all slaves are idle
 
void bcast (MPIbuf &c)
 broadcast a request to all slaves.
 
- Public Member Functions inherited from MPIbuf
unsigned myid ()
 
unsigned nprocs ()
 current processes taskID
 
 MPIbuf (const MPIbuf &x)
 
const MPIbufoperator= (const MPIbuf &x)
 
bool sent ()
 returns true if previous asyncronous call has been set
 
void wait ()
 wait for previous asyncronous call to complete
 
void send (unsigned dest, int tag)
 send data to dest with tag tag
 
void isend (unsigned dest, int tag)
 asyncronously send data to dest with tag tag
 
MPIbufget (int p=MPI_ANY_SOURCE, int t=MPI_ANY_TAG)
 receive a message from p (MPI_ANY_SOURCE) with tag t (MPI_ANY_TAG)
 
void send_recv (unsigned dest, int sendtag, int source, int recvtag)
 perform a simultaneous send and receive between a pair of processes
 
MPIbufbcast (unsigned root)
 broadcast data from root
 
MPIbufgather (unsigned root)
 gather data (concatenated) into root's buffer
 
MPIbufscatter (unsigned root)
 scatter root's data (that has been marked with mark)
 
MPIbufreset ()
 reset the buffer to send or receive a new message
 
bool msg_waiting (int source=MPI_ANY_SOURCE, int tag=MPI_ANY_TAG)
 is there a message waiting to be received into the buffe
 
template<class T >
MPIbufoperator<< (const T &x)
 
MPIbufoperator<< (classdesc::send s)
 
MPIbufoperator<< (classdesc::isend s)
 
MPIbufoperator<< (classdesc::bcast s)
 
MPIbufoperator<< (mark s)
 
- Public Member Functions inherited from pack_t
const char * data () const
 actual buffer
 
char * data ()
 actual buffer
 
size_t size () const
 size of buffer
 
size_t pos () const
 position of read pointer
 
char * realloc (char *d, size_t s)
 
void realloc (size_t s)
 
virtual void append (const basic_type &x)
 
virtual void popoff (basic_type &x)
 
 pack_t (size_t sz=0)
 
 pack_t (const char *fname, const char *rw)
 
virtual operator bool ()
 
virtual pack_treseti ()
 
virtual pack_treseto ()
 
virtual pack_tseeki (long offs)
 
virtual pack_tseeko (long offs)
 
void clear ()
 
virtual void packraw (const char *x, size_t s)
 
virtual void unpackraw (char *x, size_t s)
 
virtual void swap (pack_t &other)
 
virtual int cmp (const pack_t &x) const
 
bool operator< (const pack_t &x) const
 
bool operator> (const pack_t &x) const
 
bool operator== (const pack_t &x) const
 
bool operator!= (const pack_t &x) const
 
const char * data () const
 actual buffer
 
char * data ()
 actual buffer
 
size_t size () const
 size of buffer
 
size_t pos () const
 position of read pointer
 
char * realloc (char *d, size_t s)
 
void realloc (size_t s)
 
virtual void append (const basic_type &x)
 
virtual void popoff (basic_type &x)
 
 pack_t (size_t sz=0)
 
 pack_t (const char *fname, const char *rw)
 
virtual operator bool ()
 
virtual pack_treseti ()
 
virtual pack_treseto ()
 
virtual pack_tseeki (long offs)
 
virtual pack_tseeko (long offs)
 
void clear ()
 
virtual void packraw (const char *x, size_t s)
 
virtual void unpackraw (char *x, size_t s)
 
virtual void swap (pack_t &other)
 
virtual int cmp (const pack_t &x) const
 
bool operator< (const pack_t &x) const
 
bool operator> (const pack_t &x) const
 
bool operator== (const pack_t &x) const
 
bool operator!= (const pack_t &x) const
 

Public Attributes

std::vector< int > idle
 list of waiting slaves, valid on master
 
- Public Attributes inherited from MPIbuf
MPI_Comm Communicator
 The MPI communicator to be used for subsequent communications.
 
bool const_buffer
 buffer size is same on all processes in a collective communication More...
 
int proc
 
int tag
 
- Public Attributes inherited from pack_t
Ptr_flag ptr_flag
 
unsigned recur_max
 recursion limit for pack_graph
 
std::vector< PtrStoreRefalloced
 

Additional Inherited Members

- Protected Types inherited from pack_t
enum  mode_t {
  buf, readf, writef, buf,
  readf, writef
}
 
enum  mode_t {
  buf, readf, writef, buf,
  readf, writef
}
 
- Protected Member Functions inherited from pack_t
void swap_base (pack_t &other)
 
void swap_base (pack_t &other)
 
- Protected Attributes inherited from pack_t
FILE * f
 
mode_t mode
 
char * m_data
 actual buffer
 
size_t m_size
 size of buffer
 
size_t m_pos
 position of read pointer
 

Detailed Description

template<class S>
class classdesc::MPIslave< S >

Master slave manager.


The documentation for this class was generated from the following file: