#include <SubsetVectorData.h>

Public Types | |
| using | intAllocator_t = typename std::allocator_traits< AMP::HostAllocator< void > >::template rebind_alloc< int > |
| using | ScalarAllocator_t = typename std::allocator_traits< AMP::HostAllocator< void > >::template rebind_alloc< double > |
| using | sizetAllocator_t = typename std::allocator_traits< AMP::HostAllocator< void > >::template rebind_alloc< size_t > |
Public Member Functions | |
| void | addGhostValuesByGlobalID (size_t num, const size_t *indices, const double *vals) |
| Add shared values using global identifier. | |
| template<class TYPE > | |
| void | addGhostValuesByGlobalID (size_t num, const size_t *indices, const TYPE *vals) |
| Add shared values using global identifier. | |
| void | addGhostValuesByGlobalID (size_t num, const size_t *indices, const void *vals, const typeID &id) override |
| Add shared values using global identifier. | |
| virtual void | addGhostValuesByGlobalID (size_t num, const size_t *indices, const void *vals, const typeID &id)=0 |
| Add shared values using global identifier. | |
| template<class TYPE > | |
| void | addValuesByGlobalID (size_t num, const size_t *indices, const TYPE *vals) |
| Add owned or shared values using global identifier. | |
| template<class TYPE > | |
| void | addValuesByLocalID (size_t num, const size_t *indices, const TYPE *vals) |
| Add values to vector entities by their local offset. | |
| void | addValuesByLocalID (size_t, const size_t *, const void *, const typeID &) override |
| Add values to vector entities by their local offset. | |
| virtual void | assemble () |
| This method is used to implement the assemble interface of PETSc. | |
| template<class TYPE = double> | |
| VectorDataIterator< TYPE > | begin () |
| Return an iterator to the beginning of the data. | |
| template<class TYPE = double> | |
| VectorDataIterator< const TYPE > | begin () const |
| Return an iterator to the beginning of the data. | |
| std::shared_ptr< VectorData > | cloneData (const std::string &name="") const override |
| Clone the data. | |
| template<class TYPE = double> | |
| VectorDataIterator< const TYPE > | constBegin () const |
| Return an iterator to the beginning of the data. | |
| template<class TYPE = double> | |
| VectorDataIterator< const TYPE > | constEnd () const |
| Return an iterator to the end of the data. | |
| bool | containsGlobalElement (size_t) const override |
| void | copyGhostValues (const VectorData &rhs) override |
| Copy ghosted vlues to a vector. | |
| void | dataChanged () override |
| Notify listeners that data has changed in this vector. | |
| virtual void | deregisterListener (DataChangeListener *listener) |
| Deregister a listener with this DataChangeFirer. | |
| void | dumpGhostedData (std::ostream &out, size_t offset) const override |
| Write data owned by other processors to an std::ostream. | |
| virtual void | dumpOwnedData (std::ostream &out, size_t GIDoffset=0, size_t LIDoffset=0) const |
| Write owned data to an std::ostream. | |
| template<class TYPE = double> | |
| VectorDataIterator< TYPE > | end () |
| Return an iterator to the end of the data. | |
| template<class TYPE = double> | |
| VectorDataIterator< const TYPE > | end () const |
| Return an iterator to the end of the data. | |
| void | fillGhosts (const Scalar &) override |
| Zero all ghost data (does not modify consistent status) | |
| virtual void | fireDataChange () |
| Notify all listeners of a data change event. | |
| template<class TYPE > | |
| size_t | getAllGhostValues (TYPE *vals) const |
| Get all ghost values. | |
| size_t | getAllGhostValues (void *vals, const typeID &id) const override |
| Get all ghost values in the vector. | |
| const AMP_MPI & | getComm () const override |
| Get the communicator. | |
| std::shared_ptr< CommunicationList > | getCommunicationList () const override |
| Get the CommunicationList for this Vector. | |
| virtual std::shared_ptr< VectorData > | getComponent (size_t i=0) |
| Number of elements in the ith component. | |
| virtual std::shared_ptr< const VectorData > | getComponent (size_t i=0) const |
| Number of elements in the ith component. | |
| uint64_t | getDataID () const override |
| A unique id for the underlying data allocation. | |
| void | getGhostAddValuesByGlobalID (size_t num, const size_t *indices, double *vals) const |
| get ghosted values to add to off-proc elements | |
| template<class TYPE > | |
| void | getGhostAddValuesByGlobalID (size_t num, const size_t *indices, TYPE *vals) const |
| get ghosted values to add to off-proc elements | |
| virtual void | getGhostAddValuesByGlobalID (size_t num, const size_t *indices, void *vals, const typeID &id) const =0 |
| get ghosted values to add to off-proc elements | |
| void | getGhostAddValuesByGlobalID (size_t num, const size_t *indices, void *vals, const typeID &id) const override |
| get ghosted values to add to off-proc elements | |
| size_t | getGhostSize () const override |
| Number of entries "owned" by other cores stored on this core. | |
| void | getGhostValuesByGlobalID (size_t num, const size_t *indices, double *vals) const |
| Get ghost values in the vector by their global offset. | |
| template<class TYPE > | |
| void | getGhostValuesByGlobalID (size_t num, const size_t *indices, TYPE *vals) const |
| Get ghost values in the vector by their global offset. | |
| virtual void | getGhostValuesByGlobalID (size_t num, const size_t *indices, void *vals, const typeID &id) const =0 |
| Get ghost values in the vector by their global offset. | |
| void | getGhostValuesByGlobalID (size_t num, const size_t *indices, void *vals, const typeID &id) const override |
| Get ghost values in the vector by their global offset. | |
| void | getGhostValuesByGlobalIDUnsorted (size_t num, const size_t *indices, void *vals, const typeID &id) const |
| size_t | getGlobalSize () const |
| Number of total entries in this vector across all cores. | |
| UpdateState | getGlobalUpdateStatus () const |
| Return the current update state of the Vector. | |
| uint64_t | getID () const |
| Get a unique id hash for the vector. | |
| size_t | getLocalSize () const |
| Number of elements "owned" by this core. | |
| virtual std::vector< size_t > | getLocalSizes () const |
| The local sizes on each rank. | |
| size_t | getLocalStartID () const |
| get local start id core. | |
| UpdateState | getLocalUpdateStatus () const override |
| Return the current update state of the Vector. | |
| virtual AMP::Utilities::MemoryType | getMemoryLocation () const |
| returns the memory location for data | |
| virtual size_t | getNumberOfComponents () const |
| Return integer number of data components. | |
| template<class TYPE > | |
| void | getRawData (TYPE *buf) const |
| Copy data out of this vector. | |
| void | getRawData (void *out, const typeID &id) const override |
| Copy data out of this vector. | |
| template<typename RETURN_TYPE > | |
| RETURN_TYPE * | getRawDataBlock (size_t i=0) |
| Obtain a particular contiguous block of data cast to RETURN_TYPE. | |
| template<typename RETURN_TYPE > | |
| const RETURN_TYPE * | getRawDataBlock (size_t i=0) const |
| Obtain a particular contiguous block of data cast to RETURN_TYPE. | |
| typeID | getType (size_t) const override |
| Return the typeid of the given block. | |
| std::shared_ptr< UpdateState > | getUpdateStatusPtr () const override |
| Return the current update state of this Vector. | |
| template<class TYPE > | |
| void | getValuesByGlobalID (size_t num, const size_t *indices, TYPE *vals) const |
| get values in the vector by their local offset | |
| template<class TYPE > | |
| void | getValuesByLocalID (size_t num, const size_t *indices, TYPE *vals) const |
| Get local values in the vector by their global offset. | |
| void | getValuesByLocalID (size_t, const size_t *, void *, const typeID &) const override |
| Get local values in the vector by their global offset. | |
| bool | hasContiguousData () const override |
| returns whether all data for the vector on a single process is contiguous | |
| bool | hasGhosts () const override |
| Check if any entries "owned" by other cores are stored on this core. | |
| virtual bool | isAnAliasOf (const VectorData &rhs) const |
| Check if the two VectorData objects are alias of each other. | |
| template<typename TYPE > | |
| bool | isBlockType (size_t i=0) const |
| Check if the data is of the given type. | |
| template<typename TYPE > | |
| bool | isType () const |
| Check if the data is of the given type. | |
| bool | isType (const typeID &id, size_t block) const |
| Is the data of the given type. | |
| virtual void | makeConsistent () |
| Update shared values on entire communicator. | |
| void | makeConsistent (ScatterType t) override |
| Update shared values on entire communicator. | |
| virtual void | makeConsistent (ScatterType t)=0 |
| Update shared values on entire communicator. | |
| size_t | numberOfDataBlocks () const override |
| Number of blocks of contiguous data in the Vector. | |
| virtual void | print (std::ostream &os, const std::string &name="A", const std::string &prefix="") const |
| template<class TYPE > | |
| void | putRawData (const TYPE *buf) |
| Copy data into this vector. | |
| void | putRawData (const void *in, const typeID &id) override |
| Copy data into this vector. | |
| void | registerChildObjects (AMP::IO::RestartManager *manager) const override |
| Register any child objects. | |
| virtual void | registerListener (DataChangeListener *listener) |
| Register a listener with this DataChangeFirer. | |
| virtual void | registerListener (std::shared_ptr< DataChangeListener > listener) |
| Register a listener with this DataChangeFirer. | |
| virtual void | reset () |
| reset the vector data object | |
| void | setCommunicationList (std::shared_ptr< CommunicationList > comm) override |
| Set the CommunicationList for this Vector. | |
| void | setGhostValuesByGlobalID (size_t num, const size_t *indices, const double *vals) |
| Set ghost values using global identifier. | |
| template<class TYPE > | |
| void | setGhostValuesByGlobalID (size_t num, const size_t *indices, const TYPE *vals) |
| Set ghost values using global identifier. | |
| void | setGhostValuesByGlobalID (size_t num, const size_t *indices, const void *vals, const typeID &id) override |
| Set ghost values using global identifier. | |
| virtual void | setGhostValuesByGlobalID (size_t num, const size_t *indices, const void *vals, const typeID &id)=0 |
| Set ghost values using global identifier. | |
| void | setNoGhosts () override |
| Ensure this vector has no ghosts. | |
| void | setUpdateStatus (UpdateState state) override |
| Sets the current update state of the Vector. | |
| void | setUpdateStatusPtr (std::shared_ptr< UpdateState > rhs) override |
| Tie the current update state to another. | |
| template<class TYPE > | |
| void | setValuesByGlobalID (size_t num, const size_t *indices, const TYPE *vals) |
| Set owned or shared values using global identifier. | |
| template<class TYPE > | |
| void | setValuesByLocalID (size_t num, const size_t *indices, const TYPE *vals) |
| Set values in the vector by their local offset. | |
| void | setValuesByLocalID (size_t, const size_t *, const void *, const typeID &) override |
| Set values in the vector by their local offset. | |
| std::shared_ptr< VectorData > | shared_from_this () |
| std::shared_ptr< const VectorData > | shared_from_this () const |
| size_t | sizeOfDataBlock (size_t i) const override |
| Number of elements in a data block. | |
| size_t | sizeofDataBlockType (size_t) const override |
| Return the result of sizeof(TYPE) for the given data block. | |
| SubsetVectorData () | |
| SubsetVectorData (std::shared_ptr< SubsetVectorParameters > params) | |
| void | swapData (VectorData &) override |
| Swap the data with another VectorData object. | |
| std::string | VectorDataName () const override |
| Get the type name. | |
| void | writeRestart (int64_t fid) const override |
| Write restart data to file. | |
Protected Member Functions | |
| virtual bool | allGhostIndices (size_t N, const size_t *ndx) const |
| void | allocateBuffers (size_t len) |
| void | deallocateBuffers () |
| void | scatter_add () |
| void | scatter_set () |
Protected Attributes | |
| double * | d_AddBuffer |
| std::vector< double > | d_AddBuffer_h |
| ScalarAllocator_t | d_alloc |
| std::shared_ptr< CommunicationList > | d_CommList |
| double * | d_Ghosts |
| std::vector< double > | d_Ghosts_h |
| size_t | d_ghostSize |
| size/length of ghost and add buffers | |
| size_t | d_globalSize = 0 |
| Number of local values. | |
| intAllocator_t | d_int_alloc |
| size_t * | d_localRemote |
| list of local ids that are remote | |
| size_t | d_localSize = 0 |
| size_t | d_localStart = 0 |
| Number of global values. | |
| size_t | d_numRemote |
| number of local ids that are remote | |
| size_t * | d_ReceiveDOFList |
| int * | d_recvDisplacements |
| int * | d_recvSizes |
| int | d_scatter_tag |
| int * | d_sendDisplacements |
| double * | d_SendRecv |
| Buffers for sending/receiving data. | |
| std::vector< double > | d_SendRecv_h |
| int * | d_sendSizes |
| sizetAllocator_t | d_size_t_alloc |
| std::shared_ptr< UpdateState > | d_UpdateState |
| std::weak_ptr< VectorData > | weak_ptr_ |
Private Member Functions | |
| const void * | getRawDataBlockAsVoid (size_t i) const override |
| Return a pointer to a particular block of memory in the vector. | |
| void * | getRawDataBlockAsVoid (size_t i) override |
| Return a pointer to a particular block of memory in the vector. | |
Private Attributes | |
| std::vector< void * > | d_dataBlockPtr |
| std::vector< size_t > | d_dataBlockSize |
| std::shared_ptr< AMP::Discretization::DOFManager > | d_DOFManager |
| std::vector< DataChangeListener * > | d_listeners |
| size_t | d_parentLocalStartID |
| std::vector< size_t > | d_SubsetLocalIDToViewGlobalID |
| AMP::typeID | d_typeID |
| Vector::shared_ptr | d_ViewVector |
Definition at line 64 of file SubsetVectorData.h.
|
inherited |
Definition at line 19 of file GhostDataHelper.h.
|
inherited |
Definition at line 15 of file GhostDataHelper.h.
|
inherited |
Definition at line 17 of file GhostDataHelper.h.
|
inline |
Definition at line 86 of file SubsetVectorData.h.
|
explicit |
|
inherited |
Add shared values using global identifier.
| [in] | num | number of values to add |
| [in] | indices | the indices of the values to add |
| [in] | vals | the values to place in the vector |
|
inherited |
Add shared values using global identifier.
| [in] | num | number of values to add |
| [in] | indices | the indices of the values to add |
| [in] | vals | the values to place in the vector |
|
overridevirtualinherited |
Add shared values using global identifier.
| [in] | num | number of values to add |
| [in] | indices | the indices of the values to add |
| [in] | vals | the values to place in the vector |
| [in] | id | typeID of raw data |
Implements AMP::LinearAlgebra::VectorData.
Reimplemented in AMP::LinearAlgebra::ManagedVectorData.
|
virtualinherited |
Add shared values using global identifier.
| [in] | num | number of values to add |
| [in] | indices | the indices of the values to add |
| [in] | vals | the values to place in the vector |
| [in] | id | typeID of raw data |
Implements AMP::LinearAlgebra::VectorData.
Reimplemented in AMP::LinearAlgebra::ManagedVectorData.
|
inherited |
Add owned or shared values using global identifier.
| [in] | num | number of values to set |
| [in] | indices | the indices of the values to set |
| [in] | vals | the values to place in the vector |
Since the shared buffer and owned buffer are separate, this function must sort the data by buffer before setting values.
|
inherited |
Add values to vector entities by their local offset.
| [in] | num | number of values to set |
| [in] | indices | the indices of the values to set |
| [in] | vals | the values to place in the vector |
This will set the owned values for this core. All indices are from 0. \( \mathit{this}_{\mathit{indices}_i} = \mathit{this}_{\mathit{indices}_i} + \mathit{vals}_i \)
|
overridevirtual |
Add values to vector entities by their local offset.
| [in] | num | number of values to set |
| [in] | indices | the indices of the values to set |
| [in] | vals | the values to place in the vector |
| [in] | id | typeID of raw data |
This will set the owned values for this core. All indices are from 0. \( \mathit{this}_{\mathit{indices}_i} = \mathit{this}_{\mathit{indices}_i} + \mathit{vals}_i \)
Implements AMP::LinearAlgebra::VectorData.
|
protectedvirtualinherited |
|
protectedinherited |
|
inlinevirtualinherited |
This method is used to implement the assemble interface of PETSc.
This method is empty except for instantiations of NativePetscVectorData
Reimplemented in AMP::LinearAlgebra::ManagedVectorData, AMP::LinearAlgebra::MultiVectorData, and AMP::LinearAlgebra::NativePetscVectorData.
Definition at line 631 of file VectorData.h.
|
inlineinherited |
Return an iterator to the beginning of the data.
Since the Vector presents an interface to a contiguous block of data, it is natural for it to provide a random access iterator.
|
inlineinherited |
Return an iterator to the beginning of the data.
Since the Vector presents an interface to a contiguous block of data, it is natural for it to provide a random access iterator.
|
overridevirtual |
Clone the data.
Implements AMP::LinearAlgebra::VectorData.
|
inlineinherited |
Return an iterator to the beginning of the data.
Since the Vector presents an interface to a contiguous block of data, it is natural for it to provide a random access iterator.
|
inlineinherited |
Return an iterator to the end of the data.
Since the Vector presents an interface to a contiguous block of data, it is natural for it to provide a random access iterator.
|
overridevirtualinherited |
Implements AMP::LinearAlgebra::VectorData.
|
overridevirtualinherited |
Copy ghosted vlues to a vector.
| [in] | rhs | Vector to copy ghost values from |
This ensures that ghosted values on this and rhs are the same without a call to makeConsistent.
Implements AMP::LinearAlgebra::VectorData.
|
overridevirtualinherited |
Notify listeners that data has changed in this vector.
Implements AMP::LinearAlgebra::VectorData.
Reimplemented in AMP::LinearAlgebra::ManagedVectorData.
|
protectedinherited |
|
virtualinherited |
Deregister a listener with this DataChangeFirer.
| [in] | listener | The listener to remove from the list |
Removes a listener from itself.
|
overridevirtualinherited |
Write data owned by other processors to an std::ostream.
| [in] | out | The output stream to write to. |
| [in] | offset | A number to add to the global ID when writing information |
Implements AMP::LinearAlgebra::VectorData.
|
virtualinherited |
Write owned data to an std::ostream.
| [in] | out | The output stream to write to. |
| [in] | GIDoffset | A number to add to the global ID when writing information |
| [in] | LIDoffset | A number to add to the local ID when writing information |
Reimplemented in AMP::LinearAlgebra::MultiVectorData.
|
inlineinherited |
Return an iterator to the end of the data.
Since the Vector presents an interface to a contiguous block of data, it is natural for it to provide a random access iterator.
|
inlineinherited |
Return an iterator to the end of the data.
Since the Vector presents an interface to a contiguous block of data, it is natural for it to provide a random access iterator.
|
overridevirtualinherited |
Zero all ghost data (does not modify consistent status)
Implements AMP::LinearAlgebra::VectorData.
|
virtualinherited |
Notify all listeners of a data change event.
Iterates through the list of DataChangeListeners and invokes the receiveDataChanged() method.
Referenced by AMP::LinearAlgebra::ManagedVectorData::receiveDataChanged(), and AMP::LinearAlgebra::MultiVectorData::receiveDataChanged().
|
inherited |
Get all ghost values.
| [out] | vals | the values to place in the vector |
This will get any value owned by this core.
|
overridevirtualinherited |
Get all ghost values in the vector.
| [out] | vals | the values to place in the vector |
| [in] | id | typeID of raw data |
This will get any value owned by this core.
Implements AMP::LinearAlgebra::VectorData.
Reimplemented in AMP::LinearAlgebra::ManagedVectorData.
|
overridevirtual |
Get the communicator.
Reimplemented from AMP::LinearAlgebra::GhostDataHelper< double >.
|
overridevirtualinherited |
Get the CommunicationList for this Vector.
Implements AMP::LinearAlgebra::VectorData.
|
virtualinherited |
Number of elements in the ith component.
| [in] | i | particular data block |
Reimplemented in AMP::LinearAlgebra::MultiVectorData.
|
virtualinherited |
Number of elements in the ith component.
| [in] | i | particular data block |
Reimplemented in AMP::LinearAlgebra::MultiVectorData.
|
inlineoverridevirtual |
A unique id for the underlying data allocation.
This is a unique id that is associated with the data data allocation. Views of a vector should preserve the id of the original vector. Vectors that are not allocated, or contain multiple vectors (such as Multivector) should return 0. Note: this id is not consistent across multiple processors.
Implements AMP::LinearAlgebra::VectorData.
Definition at line 81 of file SubsetVectorData.h.
References d_ViewVector.
|
inherited |
get ghosted values to add to off-proc elements
| [in] | num | number of values to set |
| [in] | indices | the indices of the values to set |
| [in] | vals | the values to place in the vector |
This will get the ghosted updates this processor has made. All indices are from global 0.
|
inherited |
get ghosted values to add to off-proc elements
| [in] | num | number of values to set |
| [in] | indices | the indices of the values to set |
| [in] | vals | the values to place in the vector |
This will get the ghosted updates this processor has made. All indices are from global 0.
|
virtualinherited |
get ghosted values to add to off-proc elements
| [in] | num | number of values to set |
| [in] | indices | the indices of the values to set |
| [in] | vals | the values to place in the vector |
| [in] | id | typeID of raw data |
This will get the ghosted updates this processor has made. All indices are from global 0.
Implements AMP::LinearAlgebra::VectorData.
|
overridevirtualinherited |
get ghosted values to add to off-proc elements
| [in] | num | number of values to set |
| [in] | indices | the indices of the values to set |
| [in] | vals | the values to place in the vector |
| [in] | id | typeID of raw data |
This will get the ghosted updates this processor has made. All indices are from global 0.
Implements AMP::LinearAlgebra::VectorData.
|
overridevirtualinherited |
Number of entries "owned" by other cores stored on this core.
Implements AMP::LinearAlgebra::VectorData.
|
inherited |
Get ghost values in the vector by their global offset.
| [in] | num | number of values to set |
| [in] | indices | the indices of the values to set |
| [out] | vals | the values to place in the vector |
This will get any value owned by this core.
|
inherited |
Get ghost values in the vector by their global offset.
| [in] | num | number of values to set |
| [in] | indices | the indices of the values to set |
| [out] | vals | the values to place in the vector |
This will get any value owned by this core.
|
virtualinherited |
Get ghost values in the vector by their global offset.
| [in] | num | number of values to set |
| [in] | indices | the indices of the values to set |
| [out] | vals | the values to place in the vector |
| [in] | id | typeID of raw data |
This will get any value owned by this core.
Implements AMP::LinearAlgebra::VectorData.
Reimplemented in AMP::LinearAlgebra::ManagedVectorData.
|
overridevirtualinherited |
Get ghost values in the vector by their global offset.
| [in] | num | number of values to set |
| [in] | indices | the indices of the values to set |
| [out] | vals | the values to place in the vector |
| [in] | id | typeID of raw data |
This will get any value owned by this core.
Implements AMP::LinearAlgebra::VectorData.
Reimplemented in AMP::LinearAlgebra::ManagedVectorData.
|
inherited |
|
inlineinherited |
Number of total entries in this vector across all cores.
Definition at line 71 of file VectorData.h.
References AMP::LinearAlgebra::VectorData::d_globalSize.
|
inherited |
Return the current update state of the Vector.
This returns the effective update state of the vector, including any vectors it contains. The effective state is defined as: UNCHANGED - All data and sub vectors are unchanged LOCAL_CHANGED - Local data may be modified, sub vectors must either be UNCHANGED or LOCAL_CHANGED. ADDING - Local and ghost data may be modified through add operations, sub vectors must be UNCHANGED, LOCAL_CHANGED, or ADDING SETTING - Local and ghost data may be modified through set operations, sub vectors must be UNCHANGED, LOCAL_CHANGED, or SETTING If different subvectors have incompatible states ADDING and SETTING, this function will return MIXED This version returns the global state and requires a collective communication
|
inherited |
Get a unique id hash for the vector.
|
inlineinherited |
Number of elements "owned" by this core.
This function returns the number of locally stored values under contiguous indexing.
Definition at line 66 of file VectorData.h.
|
virtualinherited |
The local sizes on each rank.
Reimplemented in AMP::LinearAlgebra::MultiVectorData.
|
inlineinherited |
get local start id core.
Definition at line 76 of file VectorData.h.
References AMP::LinearAlgebra::VectorData::d_localStart.
|
overridevirtualinherited |
Return the current update state of the Vector.
This returns the effective update state of the vector, including any vectors it contains. The effective state is defined as: UNCHANGED - All data and sub vectors are unchanged LOCAL_CHANGED - Local data may be modified, sub vectors must either be UNCHANGED or LOCAL_CHANGED. ADDING - Local and ghost data may be modified through add operations, sub vectors must be UNCHANGED, LOCAL_CHANGED, or ADDING SETTING - Local and ghost data may be modified through set operations, sub vectors must be UNCHANGED, LOCAL_CHANGED, or SETTING If different subvectors have incompatible states ADDING and SETTING, this function will return MIXED This version returns the local state only and does not involve communication
Implements AMP::LinearAlgebra::VectorData.
Reimplemented in AMP::LinearAlgebra::ManagedVectorData.
|
inlinevirtualinherited |
returns the memory location for data
Reimplemented in AMP::LinearAlgebra::MultiVectorData, AMP::LinearAlgebra::VectorDataDefault< TYPE, Allocator >, and AMP::LinearAlgebra::VectorDataDefault< double, AMP::HostAllocator< void > >.
Definition at line 528 of file VectorData.h.
References AMP::Utilities::host.
|
virtualinherited |
Return integer number of data components.
Reimplemented in AMP::LinearAlgebra::MultiVectorData.
|
inherited |
Copy data out of this vector.
| [out] | buf | Buffer to copy to |
The Vector should be pre-allocated to the correct size (getLocalSize())
|
overridevirtual |
Copy data out of this vector.
| [out] | buf | Buffer to copy to |
| [in] | id | typeID of raw data |
The Vector should be pre-allocated to the correct size (getLocalSize())
Implements AMP::LinearAlgebra::VectorData.
|
inherited |
Obtain a particular contiguous block of data cast to RETURN_TYPE.
| RETURN_TYPE | The pointer type of the return |
| [in] | i | Which block |
|
inherited |
Obtain a particular contiguous block of data cast to RETURN_TYPE.
| RETURN_TYPE | The pointer type of the return |
| [in] | i | Which block |
|
overrideprivatevirtual |
Return a pointer to a particular block of memory in the vector.
| i | The block to return |
Implements AMP::LinearAlgebra::VectorData.
|
overrideprivatevirtual |
Return a pointer to a particular block of memory in the vector.
| i | The block to return |
Implements AMP::LinearAlgebra::VectorData.
|
inlineoverridevirtual |
Return the typeid of the given block.
| block | The block id to check |
Implements AMP::LinearAlgebra::VectorData.
Definition at line 80 of file SubsetVectorData.h.
References d_typeID.
|
overridevirtualinherited |
Return the current update state of this Vector.
This returns the pointer to the update state of the current vector only (not vectors it contains). It should NOT be used by users.
Implements AMP::LinearAlgebra::VectorData.
|
inherited |
get values in the vector by their local offset
| [in] | num | number of values to set |
| [in] | indices | the indices of the values to set |
| [out] | vals | the values to place in the vector |
This will get the owned values for this core. All indices are from 0.
|
inherited |
Get local values in the vector by their global offset.
| [in] | num | number of values to set |
| [in] | indices | the indices of the values to set |
| [out] | vals | the values to place in the vector |
This will get any value used by this core.
|
overridevirtual |
Get local values in the vector by their global offset.
| [in] | num | number of values to set |
| [in] | indices | the indices of the values to set |
| [out] | vals | the values to place in the vector |
| [in] | id | typeID of raw data |
This will get any value used by this core.
Implements AMP::LinearAlgebra::VectorData.
|
inlineoverridevirtual |
returns whether all data for the vector on a single process is contiguous
Reimplemented from AMP::LinearAlgebra::VectorData.
Definition at line 85 of file SubsetVectorData.h.
References numberOfDataBlocks().
|
inlineoverridevirtualinherited |
Check if any entries "owned" by other cores are stored on this core.
Implements AMP::LinearAlgebra::VectorData.
Definition at line 26 of file GhostDataHelper.h.
|
virtualinherited |
Check if the two VectorData objects are alias of each other.
This function checks if two VectorData objects are alias of each other. Two VectorData objects are alias if their data blocks are the same size and point to the same memory blocks.
| [in] | rhs | VectorData to compare |
Reimplemented in AMP::LinearAlgebra::ManagedVectorData.
|
inherited |
Check if the data is of the given type.
|
inherited |
Check if the data is of the given type.
|
inlineinherited |
Is the data of the given type.
| id | The typeid |
| block | The block id to check |
|
virtualinherited |
Update shared values on entire communicator.
This version will check the state of the vector and then call the appropriate version of makeConsistent
Reimplemented from AMP::LinearAlgebra::VectorData.
Reimplemented in AMP::LinearAlgebra::ManagedVectorData.
|
overridevirtualinherited |
Update shared values on entire communicator.
| t | The type of scatter used to compute values |
There are two algorithms used by makeConsistent
Generally, when adding to a vector, the GATHER_SCATTER should be used to make consistent. When setting entries in a vector the BROADCAST should be used.
Implements AMP::LinearAlgebra::VectorData.
Reimplemented in AMP::LinearAlgebra::ManagedVectorData, and AMP::LinearAlgebra::ManagedVectorData.
|
virtualinherited |
Update shared values on entire communicator.
| t | The type of scatter used to compute values |
There are two algorithms used by makeConsistent
Generally, when adding to a vector, the GATHER_SCATTER should be used to make consistent. When setting entries in a vector the BROADCAST should be used.
Implements AMP::LinearAlgebra::VectorData.
Reimplemented in AMP::LinearAlgebra::ManagedVectorData, and AMP::LinearAlgebra::ManagedVectorData.
|
overridevirtual |
Number of blocks of contiguous data in the Vector.
A vector is not necessarily contiguous in memory. This method returns the number of contiguous blocks in memory used by this vector
Implements AMP::LinearAlgebra::VectorData.
Referenced by hasContiguousData().
|
virtualinherited |
|
inherited |
Copy data into this vector.
| [in] | buf | Buffer to copy from |
|
overridevirtual |
Copy data into this vector.
| [in] | buf | Buffer to copy from |
| [in] | id | typeID of raw data |
Implements AMP::LinearAlgebra::VectorData.
|
overridevirtualinherited |
Register any child objects.
This function will register child objects with the manager
| manager | Restart manager |
Reimplemented from AMP::LinearAlgebra::VectorData.
|
virtualinherited |
Register a listener with this DataChangeFirer.
| [in] | listener | The listener to be alerted to data change events |
Adds a listener to itself.
|
virtualinherited |
Register a listener with this DataChangeFirer.
| [in] | listener | The listener to be alerted to data change events |
Adds a listener to itself.
|
virtualinherited |
reset the vector data object
At present this interface is primarily meant for vector data over AMR hierarchies, where the number of AMR levels and vector data has to be reallocated
|
protectedinherited |
|
protectedinherited |
|
overridevirtualinherited |
Set the CommunicationList for this Vector.
Setting the CommunicationList for a Vector may involve reallocating ghost storage.
Implements AMP::LinearAlgebra::VectorData.
|
inherited |
Set ghost values using global identifier.
| [in] | num | number of values to set |
| [in] | indices | the indices of the values to set |
| [in] | vals | the values to place in the vector |
\( \mathit{this}_{\mathit{indices}_i} = \mathit{vals}_i \)
|
inherited |
Set ghost values using global identifier.
| [in] | num | number of values to set |
| [in] | indices | the indices of the values to set |
| [in] | vals | the values to place in the vector |
\( \mathit{this}_{\mathit{indices}_i} = \mathit{vals}_i \)
|
overridevirtualinherited |
Set ghost values using global identifier.
| [in] | num | number of values to set |
| [in] | indices | the indices of the values to set |
| [in] | vals | the values to place in the vector |
| [in] | id | typeID of raw data |
\( \mathit{this}_{\mathit{indices}_i} = \mathit{vals}_i \)
Implements AMP::LinearAlgebra::VectorData.
Reimplemented in AMP::LinearAlgebra::ManagedVectorData.
|
virtualinherited |
Set ghost values using global identifier.
| [in] | num | number of values to set |
| [in] | indices | the indices of the values to set |
| [in] | vals | the values to place in the vector |
| [in] | id | typeID of raw data |
\( \mathit{this}_{\mathit{indices}_i} = \mathit{vals}_i \)
Implements AMP::LinearAlgebra::VectorData.
Reimplemented in AMP::LinearAlgebra::ManagedVectorData.
|
overridevirtualinherited |
Ensure this vector has no ghosts.
Calls clearBuffer for the communication list and removes any storage for ghosts
Reimplemented from AMP::LinearAlgebra::VectorData.
|
overridevirtualinherited |
Sets the current update state of the Vector.
This sets the update status of the vector. This function should only be called by advanced users
| [in] | state | State of the vector to set |
Implements AMP::LinearAlgebra::VectorData.
Reimplemented in AMP::LinearAlgebra::ManagedVectorData.
|
overridevirtualinherited |
Tie the current update state to another.
This sets the pointer to the update state of the current vector only (not vectors it contains). It should NOT be used by users.
| rhs | Pointer to share update state with |
Implements AMP::LinearAlgebra::VectorData.
|
inherited |
Set owned or shared values using global identifier.
| [in] | num | number of values to set |
| [in] | indices | the indices of the values to set |
| [in] | vals | the values to place in the vector |
Since the shared buffer and owned buffer are separate, this function must sort the data by buffer before setting values.
|
inherited |
Set values in the vector by their local offset.
| [in] | num | number of values to set |
| [in] | indices | the indices of the values to set |
| [in] | vals | the values to place in the vector |
This will set the owned values for this core. All indices are from 0. \( \mathit{this}_{\mathit{indices}_i} = \mathit{vals}_i \)
|
overridevirtual |
Set values in the vector by their local offset.
| [in] | num | number of values to set |
| [in] | indices | the indices of the values to set |
| [in] | vals | the values to place in the vector |
| [in] | id | typeID of raw data |
This will set the owned values for this core. All indices are from 0. \( \mathit{this}_{\mathit{indices}_i} = \mathit{vals}_i \)
Implements AMP::LinearAlgebra::VectorData.
|
inlineinherited |
Definition at line 28 of file enable_shared_from_this.h.
|
inlineinherited |
Definition at line 46 of file enable_shared_from_this.h.
|
overridevirtual |
Number of elements in a data block.
| [in] | i | particular data block |
Implements AMP::LinearAlgebra::VectorData.
|
inlineoverridevirtual |
Return the result of sizeof(TYPE) for the given data block.
| i | The block to return |
Implements AMP::LinearAlgebra::VectorData.
Definition at line 82 of file SubsetVectorData.h.
|
overridevirtual |
Swap the data with another VectorData object.
| rhs | The VectorData to swap with |
Implements AMP::LinearAlgebra::VectorData.
|
inlineoverridevirtual |
Get the type name.
Implements AMP::LinearAlgebra::VectorData.
Definition at line 68 of file SubsetVectorData.h.
References d_ViewVector.
|
overridevirtualinherited |
Write restart data to file.
This function will write the mesh to an HDF5 file
| fid | File identifier to write |
Reimplemented from AMP::LinearAlgebra::VectorData.
|
protectedinherited |
Definition at line 96 of file GhostDataHelper.h.
|
protectedinherited |
Definition at line 93 of file GhostDataHelper.h.
|
protectedinherited |
Definition at line 89 of file GhostDataHelper.h.
|
protectedinherited |
Definition at line 83 of file GhostDataHelper.h.
|
private |
Definition at line 100 of file SubsetVectorData.h.
|
private |
Definition at line 99 of file SubsetVectorData.h.
|
private |
Definition at line 102 of file SubsetVectorData.h.
|
protectedinherited |
Definition at line 95 of file GhostDataHelper.h.
|
protectedinherited |
Definition at line 91 of file GhostDataHelper.h.
|
protectedinherited |
size/length of ghost and add buffers
Definition at line 87 of file GhostDataHelper.h.
|
protectedinherited |
Number of local values.
Definition at line 675 of file VectorData.h.
Referenced by AMP::LinearAlgebra::VectorData::getGlobalSize().
|
protectedinherited |
Definition at line 107 of file GhostDataHelper.h.
|
privateinherited |
Definition at line 89 of file DataChangeFirer.h.
|
protectedinherited |
list of local ids that are remote
Definition at line 110 of file GhostDataHelper.h.
|
protectedinherited |
|
protectedinherited |
Number of global values.
Definition at line 676 of file VectorData.h.
Referenced by AMP::LinearAlgebra::VectorData::getLocalStartID().
|
protectedinherited |
number of local ids that are remote
Definition at line 104 of file GhostDataHelper.h.
|
private |
Definition at line 96 of file SubsetVectorData.h.
|
protectedinherited |
Definition at line 101 of file GhostDataHelper.h.
|
protectedinherited |
Definition at line 116 of file GhostDataHelper.h.
|
protectedinherited |
Definition at line 114 of file GhostDataHelper.h.
|
protectedinherited |
Definition at line 119 of file GhostDataHelper.h.
|
protectedinherited |
Definition at line 115 of file GhostDataHelper.h.
|
protectedinherited |
Buffers for sending/receiving data.
Definition at line 98 of file GhostDataHelper.h.
|
protectedinherited |
Definition at line 92 of file GhostDataHelper.h.
|
protectedinherited |
Definition at line 113 of file GhostDataHelper.h.
|
protectedinherited |
Definition at line 106 of file GhostDataHelper.h.
|
private |
Definition at line 97 of file SubsetVectorData.h.
|
private |
Definition at line 98 of file SubsetVectorData.h.
Referenced by getType().
|
protectedinherited |
Definition at line 84 of file GhostDataHelper.h.
|
private |
Definition at line 95 of file SubsetVectorData.h.
Referenced by getDataID(), and VectorDataName().
|
mutableprotectedinherited |
Definition at line 69 of file enable_shared_from_this.h.
|
Advanced Multi-Physics (AMP) Oak Ridge National Laboratory Idaho National Laboratory Los Alamos National Laboratory |
This page automatically produced from the source code by Last updated: Tue Mar 10 2026 13:06:43. Comments on this page |