Main Page | Class Hierarchy | Class List | File List | Class Members | Related Pages

sc::MTMPIMemoryGrp Class Reference

This MemoryGrp class requires a MT-safe MPI implementation. More...

#include <memmtmpi.h>

Inheritance diagram for sc::MTMPIMemoryGrp:

sc::ActiveMsgMemoryGrp sc::MsgMemoryGrp sc::MemoryGrp sc::DescribedClass sc::RefCount sc::Identity List of all members.

Public Member Functions

 MTMPIMemoryGrp (const Ref< MessageGrp > &msg, const Ref< ThreadGrp > &th, MPI_Comm comm=MPI_COMM_WORLD)
 Construct a MTMPIMemoryGrp given a MessageGrp, ThreadGrp, and an MPI communicator.

 MTMPIMemoryGrp (const Ref< KeyVal > &)
 Construct a MTMPIMemoryGrp given a KeyVal input object.

void activate ()
 Activate is called before the memory is to be used.

void deactivate ()
 Deactivate is called after the memory has been used.

void sync ()
 Synchronizes all the nodes.


Detailed Description

This MemoryGrp class requires a MT-safe MPI implementation.

The default MessageGrp must be a MPIMessageGrp. MPI must be safe with respect to the default ThreadGrp. Alternately, a MessageGrp and a ThreadGrp can be passed to the constructor.


Constructor & Destructor Documentation

sc::MTMPIMemoryGrp::MTMPIMemoryGrp const Ref< MessageGrp > &  msg,
const Ref< ThreadGrp > &  th,
MPI_Comm  comm = MPI_COMM_WORLD
 

Construct a MTMPIMemoryGrp given a MessageGrp, ThreadGrp, and an MPI communicator.

The communicator can be a subset of MPI_COMM_WORLD, in which case, the MessageGrp must refer to the same subset.

sc::MTMPIMemoryGrp::MTMPIMemoryGrp const Ref< KeyVal > &   ) 
 

Construct a MTMPIMemoryGrp given a KeyVal input object.

A fully thread safe MPI is needed (MPI_THREAD_MULTIPLE).


Member Function Documentation

void sc::MTMPIMemoryGrp::sync  )  [virtual]
 

Synchronizes all the nodes.

This is useful after remote memory writes to be certain that all of the writes have completed and the data can be accessed locally, for example.

Reimplemented from sc::MsgMemoryGrp.


The documentation for this class was generated from the following file:
Generated at Thu Jul 29 19:53:55 2004 for MPQC 2.2.1 using the documentation package Doxygen 1.3.7.