dune-fem  2.4.1-rc
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
parDG_MPI::pardg::Communicator Class Reference
Inheritance diagram for parDG_MPI::pardg::Communicator:
Inheritance graph

Public Member Functions

virtual ~Communicator ()
 
void set_output (std::ostream &os)
 
void set_io_version (int version)
 
void set_unsafe ()
 
int id () const
 
int size () const
 
int master () const
 
bool all_read (int i) const
 
bool rb_empty (int i) const
 
template<class T >
void put (int dest, const T &content)
 
template<class T >
void put_all (const T &content)
 
template<class T >
void get (int source, T &content)
 
template<class T >
void put (int dest, const T *content, int num)
 
template<class T >
void put_all (const T *content, int num)
 
template<class T >
void get (int source, T *content, int num)
 
void send_request (int dest)
 
void receive_request (int source)
 
void send_receive_request (int process)
 
void send_request_all ()
 
void receive_request_all ()
 
void send_receive_request_all ()
 
virtual void start_communication (const char comment[]="")
 
virtual bool finish_communication ()
 
bool start_and_finish_communication (const char comment[]="")
 
void barrier ()
 
void reset_buffers ()
 
void allreduce (int n, double *in, double *out, MPI_Op op)
 
void allreduce (int n, int *in, int *out, MPI_Op op)
 
 operator MPI_Comm & ()
 
 operator MPI_Comm * ()
 
double time () const
 
void timers (double &run, double &idle, double &comm) const
 
void reset_timers ()
 
void write (const char filename[])
 
int read (const char filename[], int cycle)
 

Static Public Member Functions

static Communicatorinstance ()
 

Static Public Attributes

static const int perm_threshold = 1000
 

Protected Member Functions

void write1 (const char filename[])
 
int read1 (const char filename[], int cycle)
 
void write2 (const char filename[])
 
int read2 (const char filename[], int cycle)
 
void inc_tag ()
 

Protected Attributes

MPI_Comm comm
 
int _id
 
int num_of_processes
 
int _io_version
 
SendBuffersend_buffer
 
ReceiveBufferreceive_buffer
 
bool * sreq
 
bool * rreq
 
MPI_Request * mpi_send_request
 
MPI_Request * mpi_receive_request
 
int num_send
 
int num_recv
 
Timer timer
 
double idle_time
 
double comm_time
 
double comm_start
 
double start_time
 
int counter
 
int tag
 
std::ostream * os
 
Random rng
 
int * perm
 
bool safe_communication
 

Static Protected Attributes

static const int min_tag = 0
 
static const int max_tag = 10000
 

Constructor & Destructor Documentation

parDG_MPI::pardg::Communicator::~Communicator ( )
virtual

Member Function Documentation

bool parDG_MPI::pardg::Communicator::all_read ( int  i) const
inline
void parDG_MPI::pardg::Communicator::allreduce ( int  n,
double *  in,
double *  out,
MPI_Op  op 
)
inline
void parDG_MPI::pardg::Communicator::allreduce ( int  n,
int *  in,
int *  out,
MPI_Op  op 
)
inline
void parDG_MPI::pardg::Communicator::barrier ( )
inline
bool parDG_MPI::pardg::Communicator::finish_communication ( )
virtual
template<class T >
void parDG_MPI::pardg::Communicator::get ( int  source,
T &  content 
)
inline
template<class T >
void parDG_MPI::pardg::Communicator::get ( int  source,
T *  content,
int  num 
)
inline
int parDG_MPI::pardg::Communicator::id ( ) const
inline
void parDG_MPI::pardg::Communicator::inc_tag ( )
inlineprotected
static Communicator& parDG_MPI::pardg::Communicator::instance ( )
inlinestatic
int parDG_MPI::pardg::Communicator::master ( ) const
inline
parDG_MPI::pardg::Communicator::operator MPI_Comm & ( )
inline
parDG_MPI::pardg::Communicator::operator MPI_Comm * ( )
inline
template<class T >
void parDG_MPI::pardg::Communicator::put ( int  dest,
const T &  content 
)
inline
template<class T >
void parDG_MPI::pardg::Communicator::put ( int  dest,
const T *  content,
int  num 
)
inline
template<class T >
void parDG_MPI::pardg::Communicator::put_all ( const T &  content)
inline
template<class T >
void parDG_MPI::pardg::Communicator::put_all ( const T *  content,
int  num 
)
inline
bool parDG_MPI::pardg::Communicator::rb_empty ( int  i) const
inline
int parDG_MPI::pardg::Communicator::read ( const char  filename[],
int  cycle 
)
int parDG_MPI::pardg::Communicator::read1 ( const char  filename[],
int  cycle 
)
protected
int parDG_MPI::pardg::Communicator::read2 ( const char  filename[],
int  cycle 
)
protected
void parDG_MPI::pardg::Communicator::receive_request ( int  source)
inline
void parDG_MPI::pardg::Communicator::receive_request_all ( )
inline
void parDG_MPI::pardg::Communicator::reset_buffers ( )
void parDG_MPI::pardg::Communicator::reset_timers ( )
void parDG_MPI::pardg::Communicator::send_receive_request ( int  process)
inline
void parDG_MPI::pardg::Communicator::send_receive_request_all ( )
inline
void parDG_MPI::pardg::Communicator::send_request ( int  dest)
inline
void parDG_MPI::pardg::Communicator::send_request_all ( )
inline
void parDG_MPI::pardg::Communicator::set_io_version ( int  version)
void parDG_MPI::pardg::Communicator::set_output ( std::ostream &  os)
void parDG_MPI::pardg::Communicator::set_unsafe ( )
int parDG_MPI::pardg::Communicator::size ( ) const
inline
bool parDG_MPI::pardg::Communicator::start_and_finish_communication ( const char  comment[] = "")
void parDG_MPI::pardg::Communicator::start_communication ( const char  comment[] = "")
virtual
double parDG_MPI::pardg::Communicator::time ( ) const
inline
void parDG_MPI::pardg::Communicator::timers ( double &  run,
double &  idle,
double &  comm 
) const
void parDG_MPI::pardg::Communicator::write ( const char  filename[])
void parDG_MPI::pardg::Communicator::write1 ( const char  filename[])
protected
void parDG_MPI::pardg::Communicator::write2 ( const char  filename[])
protected

Member Data Documentation

int parDG_MPI::pardg::Communicator::_id
protected
int parDG_MPI::pardg::Communicator::_io_version
protected
MPI_Comm parDG_MPI::pardg::Communicator::comm
protected
double parDG_MPI::pardg::Communicator::comm_start
protected
double parDG_MPI::pardg::Communicator::comm_time
protected
int parDG_MPI::pardg::Communicator::counter
protected
double parDG_MPI::pardg::Communicator::idle_time
protected
const int parDG_MPI::pardg::Communicator::max_tag = 10000
staticprotected
const int parDG_MPI::pardg::Communicator::min_tag = 0
staticprotected
MPI_Request * parDG_MPI::pardg::Communicator::mpi_receive_request
protected
MPI_Request* parDG_MPI::pardg::Communicator::mpi_send_request
protected
int parDG_MPI::pardg::Communicator::num_of_processes
protected
int parDG_MPI::pardg::Communicator::num_recv
protected
int parDG_MPI::pardg::Communicator::num_send
protected
std::ostream* parDG_MPI::pardg::Communicator::os
protected
int* parDG_MPI::pardg::Communicator::perm
protected
const int parDG_MPI::pardg::Communicator::perm_threshold = 1000
static
ReceiveBuffer* parDG_MPI::pardg::Communicator::receive_buffer
protected
Random parDG_MPI::pardg::Communicator::rng
protected
bool * parDG_MPI::pardg::Communicator::rreq
protected
bool parDG_MPI::pardg::Communicator::safe_communication
protected
SendBuffer* parDG_MPI::pardg::Communicator::send_buffer
protected
bool* parDG_MPI::pardg::Communicator::sreq
protected
double parDG_MPI::pardg::Communicator::start_time
protected
int parDG_MPI::pardg::Communicator::tag
protected
Timer parDG_MPI::pardg::Communicator::timer
protected

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