queso-0.53.0
|
A class for partitioning vectors and matrices. More...
#include <Map.h>
Public Member Functions | |
Constructor/Destructor methods | |
Map (int numGlobalElements, int indexBase, const MpiComm &comm) | |
Constructor for a uniform linear distribution of elements. More... | |
Map (const Map &src) | |
Copy constructor. More... | |
~Map () | |
Destructor. More... | |
Set methods | |
Map & | operator= (const Map &rhs) |
Assignment operator. More... | |
Size, dimension and local ID accessor methods | |
int | NumGlobalElements () const |
Returns the total number of elements across all processors. More... | |
int | IndexBase () const |
int | NumMyElements () const |
Returns the number of elements owned by the calling processor. More... | |
int | MinMyGID () const |
The minimum global index value on the calling processor. More... | |
Miscellaneous methods | |
const MpiComm & | Comm () const |
Access function for MpiComm communicator. More... | |
Private Member Functions | |
Map () | |
Default constructor. Do not call this directly. More... | |
void | copy (const Map &src) |
Copies the map. More... | |
Private Attributes | |
MpiComm | m_MpiComm |
This communicator can be queried for processor rank and size information. More... | |
int | m_numGlobalElements |
Total number of elements across all processors. More... | |
int | m_indexBase |
Base integer value for indexed array references. More... | |
int | m_numMyElements |
Number of elements owned by the calling processor. More... | |
A class for partitioning vectors and matrices.
It is often the case that multiple matrix and vector objects have an identical distribution of elements on a parallel machine. The Map keeps information that describes this distribution for matrices and vectors. Inspired by Trilinos Epetra_Map class.
QUESO::Map::Map | ( | int | numGlobalElements, |
int | indexBase, | ||
const MpiComm & | comm | ||
) |
Constructor for a uniform linear distribution of elements.
Definition at line 34 of file Map.C.
QUESO::Map::Map | ( | const Map & | src | ) |
QUESO::Map::~Map | ( | ) |
|
private |
Default constructor. Do not call this directly.
const MpiComm & QUESO::Map::Comm | ( | ) | const |
Access function for MpiComm communicator.
Definition at line 131 of file Map.C.
References m_MpiComm.
Referenced by QUESO::Matrix::numOfProcsForStorage(), and QUESO::Vector::numOfProcsForStorage().
Copies the map.
Definition at line 146 of file Map.C.
References m_indexBase, m_MpiComm, m_numGlobalElements, and m_numMyElements.
Referenced by Map(), and operator=().
int QUESO::Map::IndexBase | ( | ) | const |
Returns the base integer value for indexed array references. The first position in the global processor in my processors.
Definition at line 96 of file Map.C.
References m_indexBase.
int QUESO::Map::MinMyGID | ( | ) | const |
int QUESO::Map::NumGlobalElements | ( | ) | const |
Returns the total number of elements across all processors.
Definition at line 85 of file Map.C.
References m_numGlobalElements.
Referenced by QUESO::DistArray< T >::DistArray(), QUESO::GslVector::GslVector(), QUESO::GslVector::sizeGlobal(), and QUESO::VectorSpace< V, M >::VectorSpace().
int QUESO::Map::NumMyElements | ( | ) | const |
Returns the number of elements owned by the calling processor.
Definition at line 107 of file Map.C.
References m_numMyElements.
Referenced by QUESO::GslVector::GslVector(), and QUESO::GslVector::sizeLocal().
|
private |
Base integer value for indexed array references.
Definition at line 119 of file Map.h.
Referenced by copy(), and IndexBase().
|
private |
|
private |
Total number of elements across all processors.
Definition at line 116 of file Map.h.
Referenced by copy(), and NumGlobalElements().
|
private |
Number of elements owned by the calling processor.
Definition at line 122 of file Map.h.
Referenced by copy(), and NumMyElements().