#include <memmtmpi.h>
Inheritance diagram for sc::MTMPIMemoryGrp:
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 |
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.
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.
Construct a MTMPIMemoryGrp given a KeyVal input object.
A fully thread safe MPI is needed (MPI_THREAD_MULTIPLE).
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.