#include <Epetra_MpiDistributor.h>
Inheritance diagram for Epetra_MpiDistributor:


Public Member Functions | |
Constructors/Destructor | |
| Epetra_MpiDistributor (const Epetra_MpiComm &Comm) | |
| Epetra_Comm Default Constructor. | |
| Epetra_MpiDistributor (const Epetra_MpiDistributor &Distributor) | |
| Epetra_Comm Copy Constructor. | |
| Epetra_Distributor * | Clone () |
| Clone method. | |
| virtual | ~Epetra_MpiDistributor () |
| Epetra_Comm Destructor. | |
Gather/Scatter Constructors | |
| int | CreateFromSends (const int &NumExportIDs, const int *ExportPIDs, bool Deterministic, int &NumRemoteIDs) |
| Create Distributor object using list of process IDs to which we export. | |
| int | CreateFromRecvs (const int &NumRemoteIDs, const int *RemoteGIDs, const int *RemotePIDs, bool Deterministic, int &NumExportIDs, int *&ExportGIDs, int *&ExportPIDs) |
| Create Distributor object using list of Remote global IDs and corresponding PIDs. | |
Execute Gather/Scatter Operations | |
| int | Do (char *export_objs, int obj_size, int &len_import_objs, char *&import_objs) |
| Execute plan on buffer of export objects in a single step. | |
| int | DoReverse (char *export_objs, int obj_size, int &len_import_objs, char *&import_objs) |
| Execute reverse of plan on buffer of export objects in a single step. | |
| int | DoPosts (char *export_objs, int obj_size, int &len_import_objs, char *&import_objs) |
| Post buffer of export objects (can do other local work before executing Waits). | |
| int | DoWaits () |
| Wait on a set of posts. | |
| int | DoReversePosts (char *export_objs, int obj_size, int &len_import_objs, char *&import_objs) |
| Do reverse post of buffer of export objects (can do other local work before executing Waits). | |
| int | DoReverseWaits () |
| Wait on a reverse set of posts. | |
Execute Gather/Scatter Operations (Non-constant size objects) | |
| int | Do (char *export_objs, int obj_size, int *&sizes, int &len_import_objs, char *&import_objs) |
| Execute plan on buffer of export objects in a single step (object size may vary). | |
| int | DoReverse (char *export_objs, int obj_size, int *&sizes, int &len_import_objs, char *&import_objs) |
| Execute reverse of plan on buffer of export objects in a single step (object size may vary). | |
| int | DoPosts (char *export_objs, int obj_size, int *&sizes, int &len_import_objs, char *&import_objs) |
| Post buffer of export objects (can do other local work before executing Waits). | |
| int | DoReversePosts (char *export_objs, int obj_size, int *&sizes, int &len_import_objs, char *&import_objs) |
| Do reverse post of buffer of export objects (can do other local work before executing Waits). | |
Print object to an output stream | |
| void | Print (ostream &os) const |
The Epetra_MpiDistributor class is an MPI implement of Epetra_Distributor that encapsulates the general information and services needed for other Epetra classes to perform gather/scatter operations on a parallel computer. An Epetra_MpiDistributor object is actually produced by calling a method in the Epetra_MpiComm class.
| int Epetra_MpiDistributor::CreateFromRecvs | ( | const int & | NumRemoteIDs, | |
| const int * | RemoteGIDs, | |||
| const int * | RemotePIDs, | |||
| bool | Deterministic, | |||
| int & | NumExportIDs, | |||
| int *& | ExportGIDs, | |||
| int *& | ExportPIDs | |||
| ) | [virtual] |
Create Distributor object using list of Remote global IDs and corresponding PIDs.
Take a list of global IDs and construct a plan for efficiently scattering to these processes. Return the number and list of IDs being sent by me.
| NumRemoteIDs | In Number of IDs this processor will be receiving. | |
| RemoteGIDs | In List of IDs that this processor wants. | |
| RemotePIDs | In List of processors that will send the remote IDs. | |
| Deterministic | In No Op. | |
| NumExportIDs | Out Number of IDs that need to be sent from this processor. | |
| ExportGIDs | Out List of processors that will get the exported IDs. | |
| ExportPIDs | Out List of processors that will get the exported IDs. |
Implements Epetra_Distributor.
| int Epetra_MpiDistributor::CreateFromSends | ( | const int & | NumExportIDs, | |
| const int * | ExportPIDs, | |||
| bool | Deterministic, | |||
| int & | NumRemoteIDs | |||
| ) | [virtual] |
Create Distributor object using list of process IDs to which we export.
Take a list of Process IDs and construct a plan for efficiently scattering to these processes. Return the number of IDs being sent to me.
| NumExportIDs | In Number of IDs that need to be sent from this processor. | |
| ExportPIDs | In List of processors that will get the exported IDs. | |
| Deterministic | In No Op. | |
| NumRemoteIDs | Out Number of IDs this processor will be receiving. |
Implements Epetra_Distributor.
1.4.7