Computes a vector distribution. More...
#include <core/alien/distribution/VectorDistribution.h>
Classes | |
| struct | Internal |
| Internal implementation of the vector distribution. More... | |
Public Member Functions | |
| VectorDistribution () | |
| Constructor. | |
| VectorDistribution (const ISpace &space, Arccore::MessagePassing::IMessagePassingMng *parallel_mng) | |
| Constructor. | |
| VectorDistribution (const ISpace &space, std::shared_ptr< Arccore::MessagePassing::IMessagePassingMng > parallel_mng) | |
| Constructor. | |
| VectorDistribution (Arccore::Integer global_size, Arccore::MessagePassing::IMessagePassingMng *parallel_mng) | |
| Constructor. | |
| VectorDistribution (Arccore::Integer global_size, std::shared_ptr< Arccore::MessagePassing::IMessagePassingMng > parallel_mng) | |
| Constructor. | |
| VectorDistribution (const ISpace &space, Arccore::Integer local_size, Arccore::MessagePassing::IMessagePassingMng *parallel_mng) | |
| Constructor. | |
| VectorDistribution (const ISpace &space, Arccore::Integer local_size, std::shared_ptr< Arccore::MessagePassing::IMessagePassingMng > parallel_mng) | |
| Constructor. | |
| VectorDistribution (Arccore::Integer global_size, Arccore::Integer local_size, Arccore::MessagePassing::IMessagePassingMng *parallel_mng) | |
| Constructor. | |
| VectorDistribution (Arccore::Integer global_size, Arccore::Integer local_size, std::shared_ptr< Arccore::MessagePassing::IMessagePassingMng > parallel_mng) | |
| Constructor. | |
| VectorDistribution (const VectorDistribution &dist) | |
| Copy constructor \parm[in] dist The distribution to copy. | |
| VectorDistribution (VectorDistribution &&dist) | |
| Rvalue constructor. | |
| ~VectorDistribution () | |
| Free resources. | |
| VectorDistribution & | operator= (const VectorDistribution &dist) |
| Equal operator. | |
| VectorDistribution & | operator= (VectorDistribution &&dist) |
| Equal operator. | |
| bool | operator== (const VectorDistribution &dist) const |
| Comparison operator. | |
| bool | isParallel () const |
| Whether or not the run is parallel. | |
| std::shared_ptr< Arccore::MessagePassing::IMessagePassingMng > | sharedParallelMng () const |
| Get the parallel manager. | |
| Arccore::MessagePassing::IMessagePassingMng * | parallelMng () const |
| Get the parallel manager. | |
| const ISpace & | space () const |
| Get the space. | |
| Arccore::Integer | localSize () const |
| Get the local size. | |
| Arccore::Integer | globalSize () const |
| Get the global size. | |
| Arccore::Integer | offset () const |
| Get the offset. | |
| Arccore::Integer | offset (Arccore::Integer p) const |
| Get the offset for a specific proc. | |
| Arccore::ConstArrayView< Integer > | offsets () const |
| Get all the offsets. | |
| Arccore::Integer | owner (Arccore::Integer i) const |
| Get the owner of an entry. | |
| std::shared_ptr< VectorDistribution > | clone () const |
| Clone the distribution. | |
| Arccore::Integer | globalToLocal (Arccore::Integer i) const |
| Get the local id of an elements with its global id. | |
Private Member Functions | |
| Arccore::Integer | globalToLocal (Arccore::Integer i, Arccore::Integer p) const |
| Get the local id of a non local element with its global id. | |
| Arccore::Integer | localToGlobal (Arccore::Integer i) const |
| Get the global id of an elements with its local id. | |
| Arccore::Integer | localToGlobal (Arccore::Integer i, Arccore::Integer p) const |
| Get the global id of a non local element with its local id. | |
Private Attributes | |
| std::shared_ptr< Internal > | m_internal |
| Internal implementation of the vector distribution. | |
Friends | |
| class | MatrixDistribution |
Computes a vector distribution.
Computes or use a pre-existing block row distribution for vectors
Definition at line 33 of file VectorDistribution.h.
| Alien::VectorDistribution::VectorDistribution | ( | ) |
Constructor.
Definition at line 382 of file VectorDistribution.cc.
References m_internal.
Referenced by operator=(), operator=(), operator==(), VectorDistribution(), VectorDistribution(), VectorDistribution(), and ~VectorDistribution().
| Alien::VectorDistribution::VectorDistribution | ( | const ISpace & | space, |
| Arccore::MessagePassing::IMessagePassingMng * | parallel_mng ) |
| Alien::VectorDistribution::VectorDistribution | ( | const ISpace & | space, |
| std::shared_ptr< Arccore::MessagePassing::IMessagePassingMng > | parallel_mng ) |
| Alien::VectorDistribution::VectorDistribution | ( | Arccore::Integer | global_size, |
| Arccore::MessagePassing::IMessagePassingMng * | parallel_mng ) |
Constructor.
| [in] | global_size | The global size of the vector |
| [in] | parallel_mng | The parallel manager |
| Alien::VectorDistribution::VectorDistribution | ( | Arccore::Integer | global_size, |
| std::shared_ptr< Arccore::MessagePassing::IMessagePassingMng > | parallel_mng ) |
Constructor.
| [in] | global_size | The global size of the vector |
| [in] | parallel_mng | The parallel manager |
| Alien::VectorDistribution::VectorDistribution | ( | const ISpace & | space, |
| Arccore::Integer | local_size, | ||
| Arccore::MessagePassing::IMessagePassingMng * | parallel_mng ) |
| Alien::VectorDistribution::VectorDistribution | ( | const ISpace & | space, |
| Arccore::Integer | local_size, | ||
| std::shared_ptr< Arccore::MessagePassing::IMessagePassingMng > | parallel_mng ) |
| Alien::VectorDistribution::VectorDistribution | ( | Arccore::Integer | global_size, |
| Arccore::Integer | local_size, | ||
| Arccore::MessagePassing::IMessagePassingMng * | parallel_mng ) |
Constructor.
| [in] | global_size | The global size of the vector |
| [in] | local_size | The local size of the vector |
| [in] | parallel_mng | The parallel manager |
| Alien::VectorDistribution::VectorDistribution | ( | Arccore::Integer | global_size, |
| Arccore::Integer | local_size, | ||
| std::shared_ptr< Arccore::MessagePassing::IMessagePassingMng > | parallel_mng ) |
Constructor.
| [in] | global_size | The global size of the vector |
| [in] | local_size | The local size of the vector |
| [in] | parallel_mng | The parallel manager |
References VectorDistribution().
| Alien::VectorDistribution::VectorDistribution | ( | const VectorDistribution & | dist | ) |
Copy constructor \parm[in] dist The distribution to copy.
Definition at line 476 of file VectorDistribution.cc.
References m_internal, and VectorDistribution().
| Alien::VectorDistribution::VectorDistribution | ( | VectorDistribution && | dist | ) |
Rvalue constructor.
| [in] | dist | The distribution to take |
Definition at line 483 of file VectorDistribution.cc.
References m_internal, and VectorDistribution().
| std::shared_ptr< VectorDistribution > Alien::VectorDistribution::clone | ( | ) | const |
Clone the distribution.
Definition at line 613 of file VectorDistribution.cc.
Referenced by Alien::Move::VectorData::init(), Alien::VectorDistribution::Internal::Internal(), Alien::VectorDistribution::Internal::Internal(), Alien::VectorDistribution::Internal::Internal(), Alien::VectorDistribution::Internal::Internal(), and offset().
| Integer Alien::VectorDistribution::globalSize | ( | ) | const |
Get the global size.
Definition at line 577 of file VectorDistribution.cc.
References m_internal.
Referenced by Alien::computeBlockOffsets(), Alien::operator<<(), and ~VectorDistribution().
| Arccore::Integer Alien::VectorDistribution::globalToLocal | ( | Arccore::Integer | i | ) | const |
Get the local id of an elements with its global id.
| [in] | i | The global id of the element |
|
private |
Get the local id of a non local element with its global id.
| [in] | i | The global id of the non local element |
| [in] | p | The proc which owns the element |
| bool Alien::VectorDistribution::isParallel | ( | ) | const |
Whether or not the run is parallel.
Definition at line 532 of file VectorDistribution.cc.
References m_internal.
Referenced by Alien::operator<<(), and ~VectorDistribution().
| Integer Alien::VectorDistribution::localSize | ( | ) | const |
Get the local size.
Definition at line 568 of file VectorDistribution.cc.
References m_internal.
Referenced by Alien::HCSRVector< ValueT >::init(), Alien::SimpleCSRVector< Arccore::Real >::init(), Alien::SYCLVector< ValueType >::init(), Alien::operator<<(), Alien::VBlockImpl::VBlockImpl(), Alien::VBlockSizes::VBlockSizes(), and ~VectorDistribution().
|
private |
Get the global id of an elements with its local id.
| [in] | i | The local id of the element |
|
private |
Get the global id of a non local element with its local id.
| [in] | i | The local id of the non local element |
| [in] | p | The proc which owns the element |
| Integer Alien::VectorDistribution::offset | ( | ) | const |
Get the offset.
Definition at line 586 of file VectorDistribution.cc.
References m_internal.
Referenced by Alien::computeBlockOffsets(), Alien::DoKToSimpleCSRVectorConverter::convert(), Alien::SimpleCSRtoDoKVectorConverter::convert(), Alien::operator<<(), Alien::VBlockImpl::VBlockImpl(), Alien::VBlockSizes::VBlockSizes(), and ~VectorDistribution().
| Arccore::Integer Alien::VectorDistribution::offset | ( | Arccore::Integer | p | ) | const |
| ConstArrayView< Integer > Alien::VectorDistribution::offsets | ( | ) | const |
Get all the offsets.
Definition at line 604 of file VectorDistribution.cc.
References m_internal.
Referenced by offset().
| VectorDistribution & Alien::VectorDistribution::operator= | ( | const VectorDistribution & | dist | ) |
Equal operator.
| [in] | dist | The distribution to copy |
Definition at line 505 of file VectorDistribution.cc.
References m_internal, and VectorDistribution().
Referenced by ~VectorDistribution().
| VectorDistribution & Alien::VectorDistribution::operator= | ( | VectorDistribution && | dist | ) |
Equal operator.
| [in] | dist | The distribution to copy |
Definition at line 515 of file VectorDistribution.cc.
References m_internal, and VectorDistribution().
| bool Alien::VectorDistribution::operator== | ( | const VectorDistribution & | dist | ) | const |
Comparison operator.
| [in] | dist | The distribution to compare |
Definition at line 524 of file VectorDistribution.cc.
References m_internal, and VectorDistribution().
Referenced by ~VectorDistribution().
| Integer Alien::VectorDistribution::owner | ( | Arccore::Integer | i | ) | const |
Get the owner of an entry.
| [in] | i | The global id of the element |
Definition at line 541 of file VectorDistribution.cc.
References m_internal.
Referenced by offset().
| IMessagePassingMng * Alien::VectorDistribution::parallelMng | ( | ) | const |
Get the parallel manager.
Definition at line 559 of file VectorDistribution.cc.
References m_internal.
Referenced by Alien::computeBlockOffsets(), Alien::VBlockSizes::VBlockSizes(), and ~VectorDistribution().
| std::shared_ptr< IMessagePassingMng > Alien::VectorDistribution::sharedParallelMng | ( | ) | const |
Get the parallel manager.
Definition at line 550 of file VectorDistribution.cc.
References m_internal.
Referenced by ~VectorDistribution().
| const ISpace & Alien::VectorDistribution::space | ( | ) | const |
Get the space.
Definition at line 496 of file VectorDistribution.cc.
References m_internal.
Referenced by Alien::MatrixDistribution::colSpace(), Alien::VectorDistribution::Internal::Internal(), Alien::VectorDistribution::Internal::Internal(), Alien::VectorDistribution::Internal::Internal(), Alien::VectorDistribution::Internal::Internal(), VectorDistribution(), VectorDistribution(), VectorDistribution(), VectorDistribution(), and ~VectorDistribution().
|
friend |
Definition at line 246 of file VectorDistribution.h.
|
private |
Internal implementation of the vector distribution.
Definition at line 251 of file VectorDistribution.h.
Referenced by globalSize(), isParallel(), localSize(), offset(), offsets(), operator=(), operator=(), operator==(), owner(), parallelMng(), sharedParallelMng(), space(), VectorDistribution(), VectorDistribution(), and VectorDistribution().