SYNOPSIS
#include <memmtmpi.h>
Inherits sc::ActiveMsgMemoryGrp.
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.
Friends
class MTMPIThread
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.
Author
Generated automatically by Doxygen for MPQC from the source code.