Template Numerical Library version\ main:bb09b17
|
DistributedVectorView extends DistributedArrayView with algebraic operations. More...
#include <TNL/Containers/DistributedVectorView.h>
Public Types | |
using | ConstLocalViewType = Containers::VectorView< std::add_const_t< Real >, Device, Index > |
using | ConstViewType = DistributedVectorView< std::add_const_t< Real >, Device, Index > |
using | DeviceType = Device |
using | IndexType = Index |
using | LocalViewType = Containers::VectorView< Real, Device, Index > |
using | RealType = Real |
template<typename _Real , typename _Device = Device, typename _Index = Index> | |
using | Self = DistributedVectorView< _Real, _Device, _Index > |
A template which allows to quickly obtain a VectorView type with changed template parameters. | |
using | ViewType = DistributedVectorView< Real, Device, Index > |
Public Types inherited from TNL::Containers::DistributedArrayView< Real, Devices::Host, int > | |
using | ConstLocalViewType |
using | ConstViewType |
using | DeviceType |
using | IndexType |
using | LocalRangeType |
using | LocalViewType |
using | Self |
A template which allows to quickly obtain a DistributedArrayView type with changed template parameters. | |
using | SynchronizerType |
using | ValueType |
using | ViewType |
Public Member Functions | |
template<typename Real_ > | |
DistributedVectorView (const Containers::DistributedArrayView< Real_, Device, Index > &view) | |
DistributedArrayView ()=default | |
DistributedArrayView (const DistributedArrayView &)=default | |
template<typename Value_ > | |
DistributedArrayView (const DistributedArrayView< Value_, Device, Index > &) | |
DistributedArrayView (const LocalRangeType &localRange, IndexType ghosts, IndexType globalSize, MPI::Comm communicator, LocalViewType localData) | |
DistributedArrayView (DistributedArrayView &&) noexcept=default | |
ConstLocalViewType | getConstLocalView () const |
Returns a non-modifiable view of the local part of the vector. | |
ConstLocalViewType | getConstLocalViewWithGhosts () const |
Returns a non-modifiable view of the local part of the vector, including ghost values. | |
ConstViewType | getConstView () const |
Returns a non-modifiable view of the array view. | |
LocalViewType | getLocalView () |
Returns a modifiable view of the local part of the vector. | |
LocalViewType | getLocalViewWithGhosts () |
Returns a modifiable view of the local part of the vector, including ghost values. | |
ViewType | getView () |
Returns a modifiable view of the array view. | |
template<typename Vector , typename... , typename = std::enable_if_t< HasSubscriptOperator< Vector >::value >> | |
DistributedVectorView & | operator%= (const Vector &vector) |
template<typename Vector , typename... , typename > | |
DistributedVectorView< Real, Device, Index > & | operator%= (const Vector &vector) |
template<typename Scalar , typename... , typename = std::enable_if_t< ! HasSubscriptOperator< Scalar >::value >> | |
DistributedVectorView & | operator%= (Scalar c) |
template<typename Scalar , typename... , typename > | |
DistributedVectorView< Real, Device, Index > & | operator%= (Scalar c) |
template<typename Vector , typename... , typename = std::enable_if_t< HasSubscriptOperator< Vector >::value >> | |
DistributedVectorView & | operator*= (const Vector &vector) |
template<typename Vector , typename... , typename > | |
DistributedVectorView< Real, Device, Index > & | operator*= (const Vector &vector) |
template<typename Scalar , typename... , typename = std::enable_if_t< ! HasSubscriptOperator< Scalar >::value >> | |
DistributedVectorView & | operator*= (Scalar c) |
template<typename Scalar , typename... , typename > | |
DistributedVectorView< Real, Device, Index > & | operator*= (Scalar c) |
template<typename Vector , typename... , typename = std::enable_if_t< HasSubscriptOperator< Vector >::value >> | |
DistributedVectorView & | operator+= (const Vector &vector) |
template<typename Vector , typename... , typename > | |
DistributedVectorView< Real, Device, Index > & | operator+= (const Vector &vector) |
template<typename Scalar , typename... , typename = std::enable_if_t< ! HasSubscriptOperator< Scalar >::value >> | |
DistributedVectorView & | operator+= (Scalar c) |
template<typename Scalar , typename... , typename > | |
DistributedVectorView< Real, Device, Index > & | operator+= (Scalar c) |
template<typename Vector , typename... , typename = std::enable_if_t< HasSubscriptOperator< Vector >::value >> | |
DistributedVectorView & | operator-= (const Vector &vector) |
template<typename Vector , typename... , typename > | |
DistributedVectorView< Real, Device, Index > & | operator-= (const Vector &vector) |
template<typename Scalar , typename... , typename = std::enable_if_t< ! HasSubscriptOperator< Scalar >::value >> | |
DistributedVectorView & | operator-= (Scalar c) |
template<typename Scalar , typename... , typename > | |
DistributedVectorView< Real, Device, Index > & | operator-= (Scalar c) |
template<typename Vector , typename... , typename = std::enable_if_t< HasSubscriptOperator< Vector >::value >> | |
DistributedVectorView & | operator/= (const Vector &vector) |
template<typename Vector , typename... , typename > | |
DistributedVectorView< Real, Device, Index > & | operator/= (const Vector &vector) |
template<typename Scalar , typename... , typename = std::enable_if_t< ! HasSubscriptOperator< Scalar >::value >> | |
DistributedVectorView & | operator/= (Scalar c) |
template<typename Scalar , typename... , typename > | |
DistributedVectorView< Real, Device, Index > & | operator/= (Scalar c) |
template<typename Array , typename... , typename = std::enable_if_t< HasSubscriptOperator< Array >::value >> | |
DistributedArrayView & | operator= (const Array &array) |
DistributedArrayView & | operator= (const DistributedArrayView &view) |
template<typename Vector , typename... , typename = std::enable_if_t< HasSubscriptOperator< Vector >::value >> | |
DistributedVectorView & | operator= (const Vector &vector) |
template<typename Vector , typename... , typename > | |
DistributedVectorView< Real, Device, Index > & | operator= (const Vector &vector) |
DistributedArrayView & | operator= (DistributedArrayView &&) noexcept=default |
template<typename Scalar , typename... , typename = std::enable_if_t< ! HasSubscriptOperator< Scalar >::value >> | |
DistributedVectorView & | operator= (Scalar c) |
template<typename Scalar , typename... , typename > | |
DistributedVectorView< Real, Device, Index > & | operator= (Scalar c) |
Public Member Functions inherited from TNL::Containers::DistributedArrayView< Real, Devices::Host, int > | |
DistributedArrayView (const DistributedArrayView &)=default | |
DistributedArrayView (const DistributedArrayView< Value_, Devices::Host, int > &) | |
DistributedArrayView (const LocalRangeType &localRange, IndexType ghosts, IndexType globalSize, MPI::Comm communicator, LocalViewType localData) | |
DistributedArrayView (DistributedArrayView &&) noexcept=default | |
void | bind (const LocalRangeType &localRange, IndexType ghosts, IndexType globalSize, const MPI::Comm &communicator, LocalViewType localData) |
void | bind (DistributedArrayView view) |
void | bind (Value_ *data, IndexType localSize) |
void | copyFromGlobal (ConstLocalViewType globalArray) |
bool | empty () const |
void | forElements (IndexType begin, IndexType end, Function &&f) |
Process the lambda function f for each array element in interval [ begin, end). | |
void | forElements (IndexType begin, IndexType end, Function &&f) const |
Process the lambda function f for each array element in interval [ begin, end) for constant instances of the array. | |
const MPI::Comm & | getCommunicator () const |
ConstLocalViewType | getConstLocalView () const |
ConstLocalViewType | getConstLocalViewWithGhosts () const |
ConstViewType | getConstView () const |
Returns a non-modifiable view of the array view. | |
ValueType | getElement (IndexType i) const |
IndexType | getGhosts () const |
const LocalRangeType & | getLocalRange () const |
LocalViewType | getLocalView () |
LocalViewType | getLocalViewWithGhosts () |
IndexType | getSize () const |
std::shared_ptr< SynchronizerType > | getSynchronizer () const |
int | getValuesPerElement () const |
ViewType | getView () |
Returns a modifiable view of the array view. | |
void | loadFromGlobalFile (const String &fileName, bool allowCasting=false) |
void | loadFromGlobalFile (File &file, bool allowCasting=false) |
bool | operator!= (const Array &array) const |
DistributedArrayView & | operator= (const Array &array) |
DistributedArrayView< Real, Devices::Host, int > & | operator= (const Array &array) |
DistributedArrayView & | operator= (const DistributedArrayView &view) |
DistributedArrayView & | operator= (DistributedArrayView &&) noexcept=default |
bool | operator== (const Array &array) const |
__cuda_callable__ ValueType & | operator[] (IndexType i) |
__cuda_callable__ const ValueType & | operator[] (IndexType i) const |
void | reset () |
void | setElement (IndexType i, ValueType value) |
void | setSynchronizer (std::shared_ptr< SynchronizerType > synchronizer, int valuesPerElement=1) |
void | setValue (ValueType value) |
void | startSynchronization () |
void | waitForSynchronization () const |
Additional Inherited Members | |
Protected Attributes inherited from TNL::Containers::DistributedArrayView< Real, Devices::Host, int > | |
MPI::Comm | communicator |
IndexType | ghosts |
IndexType | globalSize |
LocalViewType | localData |
LocalRangeType | localRange |
std::shared_ptr< SynchronizerType > | synchronizer |
int | valuesPerElement |
DistributedVectorView extends DistributedArrayView with algebraic operations.