#include <EpetraExt_ZoltanMpiComm.h>
Inheritance diagram for EpetraExt::ZoltanMpiComm:

| ZoltanMpiComm (MPI_Comm comm) | |
| ZoltanMpiComm MPI Constructor. | |
| ZoltanMpiComm (const ZoltanMpiComm &Comm) | |
| ZoltanMpiComm Copy Constructor. | |
| Epetra_Comm * | Clone () const |
| Clone method. | |
| virtual | ~ZoltanMpiComm () |
| ZoltanMpiComm Destructor. | |
| void | Barrier () const |
| ZoltanMpiComm Barrier function. | |
| int | Broadcast (double *MyVals, int Count, int Root) const |
| ZoltanMpiComm Broadcast function. | |
| int | Broadcast (int *MyVals, int Count, int Root) const |
| ZoltanMpiComm Broadcast function. | |
| int | GatherAll (double *MyVals, double *AllVals, int Count) const |
| ZoltanMpiComm All Gather function. | |
| int | GatherAll (int *MyVals, int *AllVals, int Count) const |
| ZoltanMpiComm All Gather function. | |
| int | SumAll (double *PartialSums, double *GlobalSums, int Count) const |
| ZoltanMpiComm Global Sum function. | |
| int | SumAll (int *PartialSums, int *GlobalSums, int Count) const |
| ZoltanMpiComm Global Sum function. | |
| int | MaxAll (double *PartialMaxs, double *GlobalMaxs, int Count) const |
| ZoltanMpiComm Global Max function. | |
| int | MaxAll (int *PartialMaxs, int *GlobalMaxs, int Count) const |
| ZoltanMpiComm Global Max function. | |
| int | MinAll (double *PartialMins, double *GlobalMins, int Count) const |
| ZoltanMpiComm Global Min function. | |
| int | MinAll (int *PartialMins, int *GlobalMins, int Count) const |
| ZoltanMpiComm Global Min function. | |
| int | ScanSum (double *MyVals, double *ScanSums, int Count) const |
| ZoltanMpiComm Scan Sum function. | |
| int | ScanSum (int *MyVals, int *ScanSums, int Count) const |
| ZoltanMpiComm Scan Sum function. | |
| MPI_Comm | Comm () const |
| Extract MPI Communicator from a Epetra_MpiComm object. | |
| int | MyPID () const |
| Return my process ID. | |
| int | NumProc () const |
| Returns total number of processes. | |
| Epetra_Distributor * | CreateDistributor () const |
| Create a distributor object. | |
| Epetra_Directory * | CreateDirectory (const Epetra_BlockMap &Map) const |
| Create a directory object for the given Epetra_BlockMap. | |
| int | GetMpiTag () const |
| Acquire an MPI tag from the Epetra range of 24050-24099, increment tag. | |
| MPI_Comm | GetMpiComm () const |
| Get the MPI Communicator (identical to Comm() method; used when we know we are MPI. | |
| void | Print (ostream &os) const |
| Print method that implements Epetra_Object virtual Print method. | |
| void | PrintInfo (ostream &os) const |
| Print method that implements Epetra_Comm virtual PrintInfo method. | |
| int | ReferenceCount () const |
| Returns the reference count of MpiCommData. | |
| const ZoltanMpiCommData * | DataPtr () const |
| Returns a pointer to the MpiCommData instance this MpiComm uses. | |
Public Member Functions | |
| ZoltanMpiComm & | operator= (const ZoltanMpiComm &Comm) |
| Assignment Operator. | |
The ZoltanMpiComm class is an implementation of Epetra_Comm that encapsulates the general information and services needed for other Epetra classes to run on a parallel computer using MPI and using Zoltan comm library.
Definition at line 54 of file EpetraExt_ZoltanMpiComm.h.
| EpetraExt::ZoltanMpiComm::ZoltanMpiComm | ( | MPI_Comm | comm | ) |
ZoltanMpiComm MPI Constructor.
Creates a ZoltanMpiComm instance for use with MPI. If no specialized MPI communicator is needed, this constuctor can be called with the argument MPI_COMM_WORLD.
Definition at line 35 of file EpetraExt_ZoltanMpiComm.cpp.
| EpetraExt::ZoltanMpiComm::ZoltanMpiComm | ( | const ZoltanMpiComm & | Comm | ) |
ZoltanMpiComm Copy Constructor.
Makes an exact copy of an existing ZoltanMpiComm instance.
Definition at line 42 of file EpetraExt_ZoltanMpiComm.cpp.
| EpetraExt::ZoltanMpiComm::~ZoltanMpiComm | ( | ) | [virtual] |
ZoltanMpiComm Destructor.
Completely deletes a ZoltanMpiComm object.
Definition at line 148 of file EpetraExt_ZoltanMpiComm.cpp.
| Epetra_Comm* EpetraExt::ZoltanMpiComm::Clone | ( | ) | const [inline, virtual] |
| void EpetraExt::ZoltanMpiComm::Barrier | ( | ) | const [virtual] |
ZoltanMpiComm Barrier function.
Causes each processor in the communicator to wait until all processors have arrived.
Implements Epetra_Comm.
Definition at line 50 of file EpetraExt_ZoltanMpiComm.cpp.
| int EpetraExt::ZoltanMpiComm::Broadcast | ( | double * | MyVals, | |
| int | Count, | |||
| int | Root | |||
| ) | const [virtual] |
ZoltanMpiComm Broadcast function.
Takes list of input values from the root processor and sends to all other processors.
| Values | InOut On entry, the root processor contains the list of values. On exit, all processors will have the same list of values. Note that values must be allocated on all processor before the broadcast. | |
| Count | In On entry, contains the length of the list of Values. | |
| Root | In On entry, contains the processor from which all processors will receive a copy of Values. |
Implements Epetra_Comm.
Definition at line 54 of file EpetraExt_ZoltanMpiComm.cpp.
| int EpetraExt::ZoltanMpiComm::Broadcast | ( | int * | MyVals, | |
| int | Count, | |||
| int | Root | |||
| ) | const [virtual] |
ZoltanMpiComm Broadcast function.
Take list of input values from the root processor and sends to all other processors.
| Values | InOut On entry, the root processor contains the list of values. On exit, all processors will have the same list of values. Note that values must be allocated on all processor before the broadcast. | |
| Count | In On entry, contains the length of the list of Values. | |
| Root | In On entry, contains the processor from which all processors will receive a copy of Values. |
Implements Epetra_Comm.
Definition at line 60 of file EpetraExt_ZoltanMpiComm.cpp.
| int EpetraExt::ZoltanMpiComm::GatherAll | ( | double * | MyVals, | |
| double * | AllVals, | |||
| int | Count | |||
| ) | const [virtual] |
ZoltanMpiComm All Gather function.
Take list of input values from all processors in the communicator and creates an ordered contiguous list of those values on each processor.
| MyVals | In On entry, contains the list of values, to be sent to all processors. | |
| AllVals | Out On exit, contains the list of values from all processors. Must by of size NumProc*Count. | |
| Count | In On entry, contains the length of the list of MyVals. |
Implements Epetra_Comm.
Definition at line 66 of file EpetraExt_ZoltanMpiComm.cpp.
| int EpetraExt::ZoltanMpiComm::GatherAll | ( | int * | MyVals, | |
| int * | AllVals, | |||
| int | Count | |||
| ) | const [virtual] |
ZoltanMpiComm All Gather function.
Take list of input values from all processors in the communicator and creates an ordered contiguous list of those values on each processor.
| MyVals | In On entry, contains the list of values, to be sent to all processors. | |
| AllVals | Out On exit, contains the list of values from all processors. Must by of size NumProc*Count. | |
| Count | In On entry, contains the length of the list of MyVals. |
Implements Epetra_Comm.
Definition at line 73 of file EpetraExt_ZoltanMpiComm.cpp.
| int EpetraExt::ZoltanMpiComm::SumAll | ( | double * | PartialSums, | |
| double * | GlobalSums, | |||
| int | Count | |||
| ) | const [virtual] |
ZoltanMpiComm Global Sum function.
Take list of input values from all processors in the communicator, computes the sum and returns the sum to all processors.
| PartialSums | In On entry, contains the list of values, usually partial sums computed locally, to be summed across all processors. | |
| GlobalSums | Out On exit, contains the list of values summed across all processors. | |
| Count | In On entry, contains the length of the list of values. |
Implements Epetra_Comm.
Definition at line 80 of file EpetraExt_ZoltanMpiComm.cpp.
| int EpetraExt::ZoltanMpiComm::SumAll | ( | int * | PartialSums, | |
| int * | GlobalSums, | |||
| int | Count | |||
| ) | const [virtual] |
ZoltanMpiComm Global Sum function.
Take list of input values from all processors in the communicator, computes the sum and returns the sum to all processors.
| PartialSums | In On entry, contains the list of values, usually partial sums computed locally, to be summed across all processors. | |
| GlobalSums | Out On exit, contains the list of values summed across all processors. | |
| Count | In On entry, contains the length of the list of values. |
Implements Epetra_Comm.
Definition at line 87 of file EpetraExt_ZoltanMpiComm.cpp.
| int EpetraExt::ZoltanMpiComm::MaxAll | ( | double * | PartialMaxs, | |
| double * | GlobalMaxs, | |||
| int | Count | |||
| ) | const [virtual] |
ZoltanMpiComm Global Max function.
Take list of input values from all processors in the communicator, computes the max and returns the max to all processors.
| PartialMaxs | In On entry, contains the list of values, usually partial maxs computed locally; using these Partial Maxs, the max across all processors will be computed. | |
| GlobalMaxs | Out On exit, contains the list of maxs computed across all processors. | |
| Count | In On entry, contains the length of the list of values. |
Implements Epetra_Comm.
Definition at line 94 of file EpetraExt_ZoltanMpiComm.cpp.
| int EpetraExt::ZoltanMpiComm::MaxAll | ( | int * | PartialMaxs, | |
| int * | GlobalMaxs, | |||
| int | Count | |||
| ) | const [virtual] |
ZoltanMpiComm Global Max function.
Take list of input values from all processors in the communicator, computes the max and returns the max to all processors.
| PartialMaxs | In On entry, contains the list of values, usually partial maxs computed locally; using these Partial Maxs, the max across all processors will be computed. | |
| GlobalMaxs | Out On exit, contains the list of maxs computed across all processors. | |
| Count | In On entry, contains the length of the list of values. |
Implements Epetra_Comm.
Definition at line 101 of file EpetraExt_ZoltanMpiComm.cpp.
| int EpetraExt::ZoltanMpiComm::MinAll | ( | double * | PartialMins, | |
| double * | GlobalMins, | |||
| int | Count | |||
| ) | const [virtual] |
ZoltanMpiComm Global Min function.
Take list of input values from all processors in the communicator, computes the min and returns the min to all processors.
| PartialMins | In On entry, contains the list of values, usually partial mins computed locally; using these Partial Mins, the min across all processors will be computed. | |
| GlobalMins | Out On exit, contains the list of mins computed across all processors. | |
| Count | In On entry, contains the length of the list of values. |
Implements Epetra_Comm.
Definition at line 108 of file EpetraExt_ZoltanMpiComm.cpp.
| int EpetraExt::ZoltanMpiComm::MinAll | ( | int * | PartialMins, | |
| int * | GlobalMins, | |||
| int | Count | |||
| ) | const [virtual] |
ZoltanMpiComm Global Min function.
Take list of input values from all processors in the communicator, computes the min and returns the min to all processors.
| PartialMins | In On entry, contains the list of values, usually partial mins computed locally; using these Partial Mins, the min across all processors will be computed. | |
| GlobalMins | Out On exit, contains the list of mins computed across all processors. | |
| Count | In On entry, contains the length of the list of values. |
Implements Epetra_Comm.
Definition at line 115 of file EpetraExt_ZoltanMpiComm.cpp.
| int EpetraExt::ZoltanMpiComm::ScanSum | ( | double * | MyVals, | |
| double * | ScanSums, | |||
| int | Count | |||
| ) | const [virtual] |
ZoltanMpiComm Scan Sum function.
Take list of input values from all processors in the communicator, computes the scan sum and returns it to all processors such that processor i contains the sum of values from processor 0 up to and including processor i.
| MyVals | In On entry, contains the list of values to be summed across all processors. | |
| ScanSums | Out On exit, contains the list of values summed across processors 0 through i. | |
| Count | In On entry, contains the length of the list of values. |
Implements Epetra_Comm.
Definition at line 122 of file EpetraExt_ZoltanMpiComm.cpp.
| int EpetraExt::ZoltanMpiComm::ScanSum | ( | int * | MyVals, | |
| int * | ScanSums, | |||
| int | Count | |||
| ) | const [virtual] |
ZoltanMpiComm Scan Sum function.
Take list of input values from all processors in the communicator, computes the scan sum and returns it to all processors such that processor i contains the sum of values from processor 0 up to and including processor i.
| MyVals | In On entry, contains the list of values to be summed across all processors. | |
| ScanSums | Out On exit, contains the list of values summed across processors 0 through i. | |
| Count | In On entry, contains the length of the list of values. |
Implements Epetra_Comm.
Definition at line 129 of file EpetraExt_ZoltanMpiComm.cpp.
| MPI_Comm EpetraExt::ZoltanMpiComm::Comm | ( | ) | const [inline] |
Extract MPI Communicator from a Epetra_MpiComm object.
Definition at line 268 of file EpetraExt_ZoltanMpiComm.h.
| int EpetraExt::ZoltanMpiComm::MyPID | ( | ) | const [inline, virtual] |
Return my process ID.
In MPI mode returns the rank of the calling process. In serial mode returns 0.
Implements Epetra_Comm.
Definition at line 274 of file EpetraExt_ZoltanMpiComm.h.
| int EpetraExt::ZoltanMpiComm::NumProc | ( | ) | const [inline, virtual] |
Returns total number of processes.
In MPI mode returns the size of the MPI communicator. In serial mode returns 1.
Implements Epetra_Comm.
Definition at line 280 of file EpetraExt_ZoltanMpiComm.h.
| Epetra_Distributor * EpetraExt::ZoltanMpiComm::CreateDistributor | ( | ) | const [virtual] |
Create a distributor object.
Implements Epetra_Comm.
Definition at line 136 of file EpetraExt_ZoltanMpiComm.cpp.
| Epetra_Directory * EpetraExt::ZoltanMpiComm::CreateDirectory | ( | const Epetra_BlockMap & | Map | ) | const [virtual] |
Create a directory object for the given Epetra_BlockMap.
Implements Epetra_Comm.
Definition at line 142 of file EpetraExt_ZoltanMpiComm.cpp.
| int EpetraExt::ZoltanMpiComm::GetMpiTag | ( | ) | const [inline] |
Acquire an MPI tag from the Epetra range of 24050-24099, increment tag.
Definition at line 292 of file EpetraExt_ZoltanMpiComm.h.
| MPI_Comm EpetraExt::ZoltanMpiComm::GetMpiComm | ( | ) | const [inline] |
Get the MPI Communicator (identical to Comm() method; used when we know we are MPI.
Definition at line 295 of file EpetraExt_ZoltanMpiComm.h.
| void EpetraExt::ZoltanMpiComm::Print | ( | ostream & | os | ) | const [inline, virtual] |
Print method that implements Epetra_Object virtual Print method.
Reimplemented from Epetra_Object.
Definition at line 299 of file EpetraExt_ZoltanMpiComm.h.
| void EpetraExt::ZoltanMpiComm::PrintInfo | ( | ostream & | os | ) | const [inline, virtual] |
Print method that implements Epetra_Comm virtual PrintInfo method.
Implements Epetra_Comm.
Definition at line 303 of file EpetraExt_ZoltanMpiComm.h.
| int EpetraExt::ZoltanMpiComm::ReferenceCount | ( | ) | const [inline] |
Returns the reference count of MpiCommData.
(Intended for testing purposes.)
Definition at line 310 of file EpetraExt_ZoltanMpiComm.h.
| const ZoltanMpiCommData* EpetraExt::ZoltanMpiComm::DataPtr | ( | ) | const [inline] |
Returns a pointer to the MpiCommData instance this MpiComm uses.
(Intended for developer use only for testing purposes.)
Definition at line 314 of file EpetraExt_ZoltanMpiComm.h.
| ZoltanMpiComm & EpetraExt::ZoltanMpiComm::operator= | ( | const ZoltanMpiComm & | Comm | ) |
1.4.7