mdp_communicator Class Reference

DO NOT INSTANTIATE use object mdp instead. More...

#include <mdp_communicator.h>

Inheritance diagram for mdp_communicator:
mdp_log

List of all members.

Public Member Functions

 mdp_communicator ()
 time spent in communications
template<class T >
void put (T &obj, int destination)
template<class T >
void put (T &obj, int destination, mdp_request &r)
template<class T >
void get (T &obj, int source)
template<class T >
void put (T *objptr, mdp_int length, int destination)
template<class T >
void put (T *objptr, mdp_int length, int destination, mdp_request &r)
template<class T >
void get (T *objptr, mdp_int length, int source)
void add (float &obj1, float &obj2)
void add (float *obj1, float *obj2, mdp_int length)
void add (double &obj1, double &obj2)
void add (double *obj1, double *obj2, mdp_int length)
void add (mdp_int &obj1)
void add (float &obj1)
void add (double &obj1)
void add (mdp_int *obj1, mdp_int length)
void add (float *obj1, mdp_int length)
void add (double *obj1, mdp_int length)
void add (mdp_complex &obj1)
void add (mdp_complex *obj1, mdp_int length)
void add (mdp_matrix &a)
void add (mdp_matrix *a, mdp_int length)
template<class T >
void add (vector< T > &a)
template<class T >
void broadcast (T &obj, int p)
template<class T >
void broadcast (T *obj, mdp_int length, int p)
void wait (mdp_request &r)
void wait (mdp_request *r, int length)
const int me ()
const int nproc ()
void barrier ()
int tag (int i, int j)
void reset_time ()
double time ()
 returns the time in seconds since call to mdp_communicator::open_wormholes
void open_wormholes (int argc, char **argv)
void print_stats ()
 prints statistics about parallel processes
void close_wormholes ()
 closes parallel communications
void abort ()
 forces the process to exit(-1)

Public Attributes

double comm_time

Detailed Description

DO NOT INSTANTIATE use object mdp instead.

Example:

/// int main(int argc, char**argv) {
///    mdp.open_wormholes(argc,argv);
///    // your code here
///    mdp << 3.14 << endl;  // only process 0 prints
///    mdp.close_wormholes();
///    return 0;
/// }
/// 

Constructor & Destructor Documentation

mdp_communicator::mdp_communicator (  )  [inline]

time spent in communications


Member Function Documentation

void mdp_communicator::abort (  )  [inline]

forces the process to exit(-1)

Reimplemented from mdp_log.

template<class T >
void mdp_communicator::add ( vector< T > &  a  )  [inline]
void mdp_communicator::add ( mdp_matrix a,
mdp_int  length 
) [inline]
void mdp_communicator::add ( mdp_matrix a  )  [inline]
void mdp_communicator::add ( mdp_complex obj1,
mdp_int  length 
) [inline]
void mdp_communicator::add ( mdp_complex obj1  )  [inline]
void mdp_communicator::add ( double *  obj1,
mdp_int  length 
) [inline]
void mdp_communicator::add ( float *  obj1,
mdp_int  length 
) [inline]
void mdp_communicator::add ( mdp_int obj1,
mdp_int  length 
) [inline]
void mdp_communicator::add ( double &  obj1  )  [inline]
void mdp_communicator::add ( float &  obj1  )  [inline]
void mdp_communicator::add ( mdp_int obj1  )  [inline]
void mdp_communicator::add ( double *  obj1,
double *  obj2,
mdp_int  length 
) [inline]
void mdp_communicator::add ( double &  obj1,
double &  obj2 
) [inline]
void mdp_communicator::add ( float *  obj1,
float *  obj2,
mdp_int  length 
) [inline]
void mdp_communicator::add ( float &  obj1,
float &  obj2 
) [inline]
void mdp_communicator::barrier (  )  [inline]
template<class T >
void mdp_communicator::broadcast ( T *  obj,
mdp_int  length,
int  p 
) [inline]
template<class T >
void mdp_communicator::broadcast ( T &  obj,
int  p 
) [inline]
void mdp_communicator::close_wormholes (  )  [inline]

closes parallel communications

template<class T >
void mdp_communicator::get ( T *  objptr,
mdp_int  length,
int  source 
) [inline]
template<class T >
void mdp_communicator::get ( T &  obj,
int  source 
) [inline]
const int mdp_communicator::me (  )  [inline]
const int mdp_communicator::nproc (  )  [inline]
void mdp_communicator::open_wormholes ( int  argc,
char **  argv 
) [inline]

starts communications parses command line argument for MPI or PSIM parameters

void mdp_communicator::print_stats (  )  [inline]

prints statistics about parallel processes

template<class T >
void mdp_communicator::put ( T *  objptr,
mdp_int  length,
int  destination,
mdp_request r 
) [inline]
template<class T >
void mdp_communicator::put ( T *  objptr,
mdp_int  length,
int  destination 
) [inline]
template<class T >
void mdp_communicator::put ( T &  obj,
int  destination,
mdp_request r 
) [inline]
template<class T >
void mdp_communicator::put ( T &  obj,
int  destination 
) [inline]
void mdp_communicator::reset_time (  )  [inline]
int mdp_communicator::tag ( int  i,
int  j 
) [inline]
double mdp_communicator::time (  )  [inline]

returns the time in seconds since call to mdp_communicator::open_wormholes

void mdp_communicator::wait ( mdp_request r,
int  length 
) [inline]
void mdp_communicator::wait ( mdp_request r  )  [inline]

Member Data Documentation


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Friends Defines

Generated on Wed Dec 23 14:03:15 2009 for fermiqcd by  doxygen 1.6.1