CEPS
24.01
Cardiac ElectroPhysiology Simulator
|
Structure to hold spatially dependant data and distribute it between process.
Access to data must be done between calls to getLocalData() and releaseLocalData().
Definition at line 55 of file DistributedVector.hpp.
#include <DistributedVector.hpp>
Public Member Functions | |
DistributedVector () | |
Default Constructor. More... | |
DistributedVector (const DistributedVector &v) | |
Copy constructor. More... | |
DistributedVector & | operator= (const DistributedVector &v) |
Assignment operator. More... | |
DistributedVector (CepsInt M, CepsInt m) | |
Constructor with sizes. More... | |
DistributedVector (DistributedVector &templateVector, CepsBool copyValues, CepsBool isSequential=false) | |
Constructor with the same structure as the given vector. More... | |
DistributedVector (std::shared_ptr< DistributedVector > templateVector, CepsBool copyValues, CepsBool isSequential=false) | |
Constructor with the same structure as the given vector. More... | |
DistributedVector (DMatPtr mat, CepsGlobalIndex row) | |
Build vector from a matrix row. More... | |
virtual | ~DistributedVector () |
Destructor. More... | |
CepsString | getUnit () const |
Units of data. More... | |
void | setUnit (const CepsString &u) |
Units of data. More... | |
CepsMathScalar * | localData () |
Point on the local data. More... | |
void | setSize (CepsInt M, CepsInt m) |
Set distributed vector size. More... | |
void | getSize (CepsInt *globalSize) const |
Get the global size of the vector. More... | |
CepsInt | getSize () const |
Get the global size of the vector. More... | |
void | getLocalSize (CepsInt *localSize) const |
Get the number of rows owned by current process. More... | |
CepsInt | getLocalSize () const |
Get the local size of the vector. More... | |
void | getLocalRange (CepsGlobalIndex *lo, CepsGlobalIndex *hi) const |
Get the range of rows owned by current process. More... | |
virtual void | getLocalData () |
Enables direct access to the stored local values. More... | |
virtual void | releaseLocalData () |
Release the pointer on the local data. More... | |
const PetscVector & | getVector () const |
The underlying vector. More... | |
void | setValue (CepsMathScalar value, CepsGlobalIndex i) |
Sets or replaces a single value. More... | |
void | addValue (CepsMathScalar value, CepsGlobalIndex i) |
Adds given scalar to the currently existing value or set it if not. More... | |
void | ignoreOffProcEntries (CepsBool ignore) |
Sets whether the values on rows that are not owned by current process will be ignored or not. More... | |
void | setValues (const CepsMathScalar *values, CepsInt n, const CepsGlobalIndex *indices) |
Sets n multiple values. More... | |
void | setValuesLocal (DistributedVector &values, CepsInt n, const CepsGlobalIndex *indices=nullptr) |
Sets n multiple local values. More... | |
void | setValuesLocal (const CepsMathScalar *values, CepsInt n, const CepsGlobalIndex *indices=nullptr) |
Sets n multiple local values. More... | |
void | setValuesLocal (const CepsVector< CepsMathScalar > &values, const CepsVector< CepsGlobalIndex > &indices) |
Sets multiple local values, PetscVector version. More... | |
void | addValues (const CepsMathScalar *values, CepsInt n, const CepsGlobalIndex *indices) |
Add multiple values to already existing values. More... | |
void | addValuesLocal (DistributedVector &values, CepsInt n, const CepsGlobalIndex *indices=nullptr) |
Add multiple local values to already existing values. More... | |
void | addValuesLocal (const CepsMathScalar *values, CepsInt n, const CepsGlobalIndex *indices=nullptr) |
Add multiple local values to already existing values. More... | |
virtual void | getValues (CepsMathScalar *values, CepsInt n, const CepsGlobalIndex *indices) |
Read values in the vector. More... | |
void | addSubVector (const CepsMathDynamic1D &subVector, const CepsVector< CepsGlobalIndex > &rowIndices) |
Adds a vector in a distributed vector. More... | |
void | insertSubVector (const CepsMathDynamic1D &subVector, const CepsVector< CepsGlobalIndex > &rowIndices) |
Insert (i.e. set) a vector in a distributed vector. More... | |
CepsVector< CepsMathScalar > | getSubVector (const CepsVector< CepsGlobalIndex > &rowIndices) |
Get some local data from the distributed vector. More... | |
void | zero () |
Fills vector with zeros. More... | |
void | fill (CepsMathScalar value) |
Fills vector with given value. More... | |
void | duplicate (DistributedVector &dest, CepsBool copyValues) const |
Shares the non-zero structure, and optionally values. More... | |
void | beginAssembly () |
Start distributed vector assembly. More... | |
void | endAssembly () |
Wait for the distributed vector assembly to finish. More... | |
void | finalize () |
Calls both beginAssembly() and endAssembly() More... | |
CepsBool | isAssembled () const |
true if vector has been assembled More... | |
CepsBool | sameSize (const DistributedVector &vec) const |
Compares global sizes. More... | |
CepsBool | sameLocalRange (const DistributedVector &vec) const |
Compares local ranges. More... | |
CepsBool | equals (const DistributedVector &vec, CepsMathScalar errorFactor=1.0) const |
Whether two vector have the (exact!) same values on all process. More... | |
CepsBool | approxEquals (const DistributedVector &vec, CepsMathScalar epsilon) const |
Whether two vector have the approximately the same values on all process, with epsilon tolerance. More... | |
void | checkNanOrInf (CepsString message="") |
Stops if there are coefficients that are nan or inf. More... | |
void | add (const DistributedVector &x) |
Adds x to current vector. More... | |
void | addScaled (const DistributedVector &x, CepsMathScalar alpha) |
Adds alpha*x to current vector. More... | |
virtual void | scale (CepsMathScalar alpha) |
Multiplies self by alpha. More... | |
virtual void | pointWiseScale (const DistributedVector &x, CepsBool divide=false) |
Perform a point wise multiplication or division on this vector by another vector. More... | |
virtual void | mult (const DistributedMatrix &A, const DistributedVector &x) |
Sets current vector to result of product A*x. More... | |
virtual void | abs () |
Every component of the vector is replaced by its absolute value. More... | |
CepsMathScalar | dot (DistributedVector &x) |
Computes the inner product of current vector by x. More... | |
CepsMathScalar | lInfNorm () const |
-norm of vector More... | |
CepsMathScalar | l1Norm () const |
-norm of vector More... | |
CepsMathScalar | l2Norm () const |
-norm of vector More... | |
void | view () const |
Display vector on standard output. More... | |
virtual CepsMathScalar & | operator[] (CepsGlobalIndex globalIndex) |
Direct access to the values of a vector. More... | |
virtual CepsMathScalar | operator[] (CepsGlobalIndex globalIndex) const |
Direct read-only access to the values of a vector. More... | |
DistributedVector & | operator+= (const DistributedVector &v) |
Short addition with other vector. More... | |
DistributedVector & | operator+= (const CepsMathScalar &scalar) |
Short addition with scalar. More... | |
DistributedVector & | operator-= (const DistributedVector &v) |
Short substraction with other vector. More... | |
DistributedVector & | operator-= (const CepsMathScalar &scalar) |
Short substraction with scalar. More... | |
DistributedVector & | operator*= (const CepsMathScalar &scalar) |
Short mult by scalar. More... | |
void | fillFromVector (const CepsVector< CepsMathScalar > &data) |
Fills the distributed vector with data stored in a vector on process 0. More... | |
Protected Member Functions | |
void | checkAndSetSizes (CepsInt gSize, CepsInt lSize) |
Check if calling vector has had its sizes set. If not, set sizes. More... | |
void | createEmptyVector () |
Inits the underlying vector. Use setSize afterwards. More... | |
Protected Attributes | |
CepsString | m_unit |
Unit of the data. More... | |
PetscVector | m_v |
The underlying vector. More... | |
CepsGlobalIndex | m_lo |
Index of first owned row. More... | |
CepsGlobalIndex | m_hi |
Index of row right after last owned row. More... | |
CepsInt | m_globalSize |
Global size of vector. More... | |
CepsInt | m_localSize |
Local size of vector. More... | |
CepsMathScalar * | m_localData |
CepsBool | m_mayReadData |
CepsBool | m_isAssembled |
Whether this vector is assembled or not. More... | |
CepsBool | m_initialized |
Whether this vector is ready to be used or not. More... | |
CepsBool | m_vecCreated |
Underlying vec created. More... | |
Friends | |
class | DistributedMatrix |
class | TestDistributedVector |
DistributedVector::DistributedVector | ( | ) |
Default Constructor.
Definition at line 31 of file PETScVector.cpp.
DistributedVector::DistributedVector | ( | const DistributedVector & | v | ) |
Copy constructor.
Definition at line 49 of file PETScVector.cpp.
Constructor with sizes.
[in] | M | vector global size. |
[in] | m | number of rows owned by current process. |
Definition at line 56 of file PETScVector.cpp.
DistributedVector::DistributedVector | ( | DistributedVector & | templateVector, |
CepsBool | copyValues, | ||
CepsBool | isSequential = false |
||
) |
Constructor with the same structure as the given vector.
[in] | templateVector | the vector to use as a template |
[in] | copyValues | whether to copy or not the values from template. |
[in] | isSequential | if this flag is true, the resulting vector will be sequential. Default to false |
Definition at line 95 of file PETScVector.cpp.
DistributedVector::DistributedVector | ( | std::shared_ptr< DistributedVector > | templateVector, |
CepsBool | copyValues, | ||
CepsBool | isSequential = false |
||
) |
Constructor with the same structure as the given vector.
[in] | templateVector | the vector to use as a template |
[in] | copyValues | whether to copy or not the values from template. |
[in] | isSequential | if this flag is true, the resulting vector will be sequential. Default to false |
Definition at line 63 of file PETScVector.cpp.
DistributedVector::DistributedVector | ( | DMatPtr | mat, |
CepsGlobalIndex | row | ||
) |
Build vector from a matrix row.
[in] | mat | the source matrix |
[in] | row | the row to get |
Definition at line 127 of file PETScVector.cpp.
|
virtual |
Destructor.
If a vector is allocated on the stack in the main program (where PETSc is initialized), then its destructor will be called after PETSc finalize and cause a segfault. There are two solutions: 1 - Create the vector with 'new' and free it with 'delete' 2 - Control the scope of the local vector with '{' '}'
Definition at line 165 of file PETScVector.cpp.
|
virtual |
Every component of the vector is replaced by its absolute value.
Reimplemented in DistributedHaloVector.
Definition at line 701 of file PETScVector.cpp.
void DistributedVector::add | ( | const DistributedVector & | x | ) |
Adds x to current vector.
[in] | x | vector to add to current vector |
PETSc implementation: x cannot be the same vector as current vector, i.e. one cannot do
this += this
Calls addScaled since PETSc does not give an equivalent
Definition at line 612 of file PETScVector.cpp.
void DistributedVector::addScaled | ( | const DistributedVector & | x, |
CepsMathScalar | alpha | ||
) |
Adds alpha*x to current vector.
[in] | x | vector to add to current vector |
[in] | alpha | scale factor |
PETSc implementation: x cannot be the same vector as current vector, i.e. one cannot do
this += a*this
Definition at line 619 of file PETScVector.cpp.
void DistributedVector::addSubVector | ( | const CepsMathDynamic1D & | subVector, |
const CepsVector< CepsGlobalIndex > & | rowIndices | ||
) |
Adds a vector in a distributed vector.
[in] | subVector | the small vector of size N to add |
[in] | rowIndices | an array of size N that holds the global indices of each row. It indicates in which rows the values must be added. |
Definition at line 70 of file DistributedVector.cpp.
void DistributedVector::addValue | ( | CepsMathScalar | value, |
CepsGlobalIndex | i | ||
) |
Adds given scalar to the currently existing value or set it if not.
[in] | value | the scalar |
[in] | i | vector row |
Definition at line 266 of file PETScVector.cpp.
void DistributedVector::addValues | ( | const CepsMathScalar * | values, |
CepsInt | n, | ||
const CepsGlobalIndex * | indices | ||
) |
Add multiple values to already existing values.
[in] | values | the values to add |
[in] | n | number of rows (indices array size) |
[in] | indices | indices of the rows where each value will be added |
Definition at line 356 of file PETScVector.cpp.
void DistributedVector::addValuesLocal | ( | const CepsMathScalar * | values, |
CepsInt | n, | ||
const CepsGlobalIndex * | indices = nullptr |
||
) |
Add multiple local values to already existing values.
[in] | values | array of values to add |
[in] | n | the number of rows (indices array size) |
[in] | indices | indices of the rows where each value will be set. If nullptr, the values are copied contiguously from m_lo to m_lo + n. |
Definition at line 395 of file PETScVector.cpp.
void DistributedVector::addValuesLocal | ( | DistributedVector & | values, |
CepsInt | n, | ||
const CepsGlobalIndex * | indices = nullptr |
||
) |
Add multiple local values to already existing values.
[in] | values | distributed vector holding values to add |
[in] | n | the number of rows (indices array size) |
[in] | indices | indices of the rows where each value will be set. If nullptr, the values are copied contiguously from m_lo to m_lo + n. |
Definition at line 367 of file PETScVector.cpp.
CepsBool DistributedVector::approxEquals | ( | const DistributedVector & | vec, |
CepsMathScalar | epsilon | ||
) | const |
Whether two vector have the approximately the same values on all process, with epsilon tolerance.
[in] | vec | the vector to check equality against |
[in] | epsilon | tolerance |
Definition at line 575 of file PETScVector.cpp.
void DistributedVector::beginAssembly | ( | ) |
Start distributed vector assembly.
As the assembly takes some time to finish (data migration), code not related to this vector can be executed between this method and the call to DistributedVector::endAssembly()
Definition at line 485 of file PETScVector.cpp.
Check if calling vector has had its sizes set. If not, set sizes.
[in] | gSize | global size |
[in] | lSize | local size |
Definition at line 810 of file PETScVector.cpp.
void DistributedVector::checkNanOrInf | ( | CepsString | message = "" | ) |
Stops if there are coefficients that are nan or inf.
Definition at line 57 of file DistributedVector.cpp.
|
protected |
Inits the underlying vector. Use setSize afterwards.
Definition at line 827 of file PETScVector.cpp.
CepsMathScalar DistributedVector::dot | ( | DistributedVector & | x | ) |
Computes the inner product of current vector by x.
PETSc implementation: here x can also be current vector, in that case use l2Norm instead.
Definition at line 708 of file PETScVector.cpp.
void DistributedVector::duplicate | ( | DistributedVector & | dest, |
CepsBool | copyValues | ||
) | const |
Shares the non-zero structure, and optionally values.
dest | the destination vector |
copyValues | also copy numerical values |
Definition at line 466 of file PETScVector.cpp.
void DistributedVector::endAssembly | ( | ) |
Wait for the distributed vector assembly to finish.
Definition at line 496 of file PETScVector.cpp.
CepsBool DistributedVector::equals | ( | const DistributedVector & | vec, |
CepsMathScalar | errorFactor = 1.0 |
||
) | const |
Whether two vector have the (exact!) same values on all process.
[in] | vec | the vector to check equality against |
[in] | errorFactor | an estimate of the error accumulated through iterative computation. Default to 1.0 |
Definition at line 536 of file PETScVector.cpp.
void DistributedVector::fill | ( | CepsMathScalar | value | ) |
Fills vector with given value.
Definition at line 459 of file PETScVector.cpp.
void DistributedVector::fillFromVector | ( | const CepsVector< CepsMathScalar > & | data | ) |
Fills the distributed vector with data stored in a vector on process 0.
Definition at line 178 of file DistributedVector.cpp.
void DistributedVector::finalize | ( | ) |
Calls both beginAssembly() and endAssembly()
Definition at line 507 of file PETScVector.cpp.
|
virtual |
Enables direct access to the stored local values.
Methods like DistributedVector::getValues(...) must still be used to read the values. DistributedVector::releaseLocalData() must be used after reading the values.
Reimplemented in DistributedHaloVector.
Definition at line 243 of file PETScVector.cpp.
void DistributedVector::getLocalRange | ( | CepsGlobalIndex * | lo, |
CepsGlobalIndex * | hi | ||
) | const |
Get the range of rows owned by current process.
[out] | lo | will hold the first local row |
[out] | hi | will hold last + 1 local row |
Definition at line 235 of file PETScVector.cpp.
CepsInt DistributedVector::getLocalSize | ( | ) | const |
Get the local size of the vector.
Definition at line 227 of file PETScVector.cpp.
void DistributedVector::getLocalSize | ( | CepsInt * | localSize | ) | const |
Get the number of rows owned by current process.
[out] | localSize | will hold the local vector size |
Definition at line 218 of file PETScVector.cpp.
CepsInt DistributedVector::getSize | ( | ) | const |
Get the global size of the vector.
Definition at line 210 of file PETScVector.cpp.
void DistributedVector::getSize | ( | CepsInt * | globalSize | ) | const |
Get the global size of the vector.
[out] | globalSize | will hold the vector size |
Definition at line 201 of file PETScVector.cpp.
CepsVector< CepsMathScalar > DistributedVector::getSubVector | ( | const CepsVector< CepsGlobalIndex > & | rowIndices | ) |
Get some local data from the distributed vector.
[in] | rowIndices | global indices of the rows to get |
Definition at line 432 of file PETScVector.cpp.
|
inline |
Units of data.
Definition at line 39 of file DistributedVector.cpp.
|
virtual |
Read values in the vector.
[out] | values | where to store the read values. Must be allocated before calling this method. |
[in] | n | the number of rows to read |
[in] | indices | global row indices to get |
Reimplemented in DistributedHaloVector.
Definition at line 418 of file PETScVector.cpp.
const PetscVector & DistributedVector::getVector | ( | ) | const |
The underlying vector.
Definition at line 177 of file PETScVector.cpp.
void DistributedVector::ignoreOffProcEntries | ( | CepsBool | ignore | ) |
Sets whether the values on rows that are not owned by current process will be ignored or not.
It globally increases performance when assembling the vector but can be risky if we are not sure about data locality !
ignore | whether to ignore off-process entries or not |
Definition at line 273 of file PETScVector.cpp.
void DistributedVector::insertSubVector | ( | const CepsMathDynamic1D & | subVector, |
const CepsVector< CepsGlobalIndex > & | rowIndices | ||
) |
Insert (i.e. set) a vector in a distributed vector.
[in] | subVector | the small vector of size N to insert |
[in] | rowIndices | an array of size N that holds the global indices of each row in which to insert values. |
Definition at line 80 of file DistributedVector.cpp.
CepsBool DistributedVector::isAssembled | ( | ) | const |
true if vector has been assembled
PETSc implementation: PETSc currently does not give a vector's equivalent to matrix MatAssembled(), which means that we must implement an unreliable way of keeping track of vector assembly. For now, users should keep track of vector assembly themselves.
Definition at line 51 of file DistributedVector.cpp.
CepsMathScalar DistributedVector::l1Norm | ( | ) | const |
-norm of vector
Definition at line 724 of file PETScVector.cpp.
CepsMathScalar DistributedVector::l2Norm | ( | ) | const |
-norm of vector
Definition at line 732 of file PETScVector.cpp.
CepsMathScalar DistributedVector::lInfNorm | ( | ) | const |
-norm of vector
Definition at line 716 of file PETScVector.cpp.
CepsMathScalar * DistributedVector::localData | ( | ) |
Point on the local data.
Warning: use this method only if you are very sure of what you are doing ! This method must be used with DistributedVector::getLocalData() and DistributedVector::releaseLocalData()
Definition at line 183 of file PETScVector.cpp.
|
virtual |
Sets current vector to result of product A*x.
Matrix A and vector x are not modified
PETSc implementation: x vector cannot be the same as current vector.
A | input matrix |
x | a distributed vector |
Definition at line 667 of file PETScVector.cpp.
DistributedVector & DistributedVector::operator*= | ( | const CepsMathScalar & | scalar | ) |
Short mult by scalar.
Definition at line 799 of file PETScVector.cpp.
DistributedVector & DistributedVector::operator+= | ( | const CepsMathScalar & | scalar | ) |
Short addition with scalar.
Definition at line 767 of file PETScVector.cpp.
DistributedVector & DistributedVector::operator+= | ( | const DistributedVector & | v | ) |
Short addition with other vector.
Definition at line 749 of file PETScVector.cpp.
DistributedVector & DistributedVector::operator-= | ( | const CepsMathScalar & | scalar | ) |
Short substraction with scalar.
Definition at line 793 of file PETScVector.cpp.
DistributedVector & DistributedVector::operator-= | ( | const DistributedVector & | v | ) |
Short substraction with other vector.
Definition at line 774 of file PETScVector.cpp.
DistributedVector & DistributedVector::operator= | ( | const DistributedVector & | v | ) |
Assignment operator.
Definition at line 94 of file DistributedVector.cpp.
|
inlinevirtual |
Direct access to the values of a vector.
[in] | globalIndex | global row index |
Reimplemented in DistributedHaloVector.
Definition at line 102 of file DistributedVector.cpp.
|
inlinevirtual |
Direct read-only access to the values of a vector.
[in] | globalIndex | global row index |
Reimplemented in DistributedHaloVector.
Definition at line 118 of file DistributedVector.cpp.
|
virtual |
Perform a point wise multiplication or division on this vector by another vector.
x | the vector of factors |
divide | divide or multiply |
Definition at line 641 of file PETScVector.cpp.
|
virtual |
Release the pointer on the local data.
Reimplemented in DistributedHaloVector.
Definition at line 251 of file PETScVector.cpp.
CepsBool DistributedVector::sameLocalRange | ( | const DistributedVector & | vec | ) | const |
Compares local ranges.
[in] | vec | the distributed vector to compare with |
Definition at line 527 of file PETScVector.cpp.
CepsBool DistributedVector::sameSize | ( | const DistributedVector & | vec | ) | const |
Compares global sizes.
[in] | vec | the vector to compare with |
Definition at line 521 of file PETScVector.cpp.
|
virtual |
Multiplies self by alpha.
[in] | alpha | scale factor |
Reimplemented in DistributedHaloVector.
Definition at line 635 of file PETScVector.cpp.
Set distributed vector size.
[in] | M | vector global size |
[in] | m | vector local rows owned by the process |
Definition at line 190 of file PETScVector.cpp.
|
inline |
Units of data.
Definition at line 45 of file DistributedVector.cpp.
void DistributedVector::setValue | ( | CepsMathScalar | value, |
CepsGlobalIndex | i | ||
) |
Sets or replaces a single value.
[in] | value | the scalar |
[in] | i | vector row |
Definition at line 259 of file PETScVector.cpp.
void DistributedVector::setValues | ( | const CepsMathScalar * | values, |
CepsInt | n, | ||
const CepsGlobalIndex * | indices | ||
) |
Sets n multiple values.
[in] | n | the number of rows (indices array size) |
[in] | indices | global indices of the rows where each value will be set |
[in] | values | the values to set |
Definition at line 281 of file PETScVector.cpp.
void DistributedVector::setValuesLocal | ( | const CepsMathScalar * | values, |
CepsInt | n, | ||
const CepsGlobalIndex * | indices = nullptr |
||
) |
Sets n multiple local values.
[in] | values | array of values to set |
[in] | n | the number of rows (indices array size) |
[in] | indices | indices of the rows where each value will be set. If nullptr, the values are copied contiguously from m_lo to m_lo + n. |
Definition at line 317 of file PETScVector.cpp.
void DistributedVector::setValuesLocal | ( | const CepsVector< CepsMathScalar > & | values, |
const CepsVector< CepsGlobalIndex > & | indices | ||
) |
Sets multiple local values, PetscVector version.
[in] | values | array of values to set |
[in] | indices | indices of the rows where each value will be set. |
Definition at line 339 of file PETScVector.cpp.
void DistributedVector::setValuesLocal | ( | DistributedVector & | values, |
CepsInt | n, | ||
const CepsGlobalIndex * | indices = nullptr |
||
) |
Sets n multiple local values.
values | distributed vector holding values to set |
n | the number of rows (indices array size) |
indices | indices of the rows where each value will be set. If nullptr, the values are copied contiguously from m_lo to m_lo + n. |
Definition at line 292 of file PETScVector.cpp.
void DistributedVector::view | ( | ) | const |
Display vector on standard output.
Definition at line 740 of file PETScVector.cpp.
void DistributedVector::zero | ( | ) |
Fills vector with zeros.
Definition at line 452 of file PETScVector.cpp.
|
friend |
Definition at line 60 of file DistributedVector.hpp.
|
friend |
Definition at line 513 of file DistributedVector.hpp.
|
protected |
Global size of vector.
Definition at line 536 of file DistributedVector.hpp.
|
protected |
Index of row right after last owned row.
Definition at line 535 of file DistributedVector.hpp.
|
protected |
Whether this vector is ready to be used or not.
Definition at line 560 of file DistributedVector.hpp.
|
protected |
Whether this vector is assembled or not.
Definition at line 553 of file DistributedVector.hpp.
|
protected |
Index of first owned row.
Definition at line 534 of file DistributedVector.hpp.
|
protected |
A direct access to the data allocated for this vector. DistributedVector::getLocalData() must be called before reading any values. DistributedVector::releaseLocalData() must be called after reading the values.
Definition at line 546 of file DistributedVector.hpp.
|
protected |
Local size of vector.
Definition at line 537 of file DistributedVector.hpp.
|
protected |
True if and only if DistributedVector::getLocalData() (or DistributedVector::getLocalAndGhostData() ) was called
Definition at line 552 of file DistributedVector.hpp.
|
protected |
Unit of the data.
Definition at line 532 of file DistributedVector.hpp.
|
protected |
The underlying vector.
Definition at line 533 of file DistributedVector.hpp.
|
protected |
Underlying vec created.
Definition at line 561 of file DistributedVector.hpp.