15#include <arccore/message_passing/MessagePassingGlobal.h>
45 const ISpace&
space, Arccore::MessagePassing::IMessagePassingMng* parallel_mng);
53 std::shared_ptr<Arccore::MessagePassing::IMessagePassingMng> parallel_mng);
61 Arccore::MessagePassing::IMessagePassingMng* parallel_mng);
70 std::shared_ptr<Arccore::MessagePassing::IMessagePassingMng> parallel_mng);
79 Arccore::MessagePassing::IMessagePassingMng* parallel_mng);
88 std::shared_ptr<Arccore::MessagePassing::IMessagePassingMng> parallel_mng);
97 Arccore::MessagePassing::IMessagePassingMng* parallel_mng);
106 std::shared_ptr<Arccore::MessagePassing::IMessagePassingMng> parallel_mng);
154 std::shared_ptr<Arccore::MessagePassing::IMessagePassingMng>
sharedParallelMng()
const;
160 Arccore::MessagePassing::IMessagePassingMng*
parallelMng()
const;
184 Arccore::Integer
offset()
const;
191 Arccore::Integer
offset(Arccore::Integer p)
const;
198 Arccore::ConstArrayView<Integer>
offsets()
const;
205 Arccore::Integer
owner(Arccore::Integer i)
const;
211 std::shared_ptr<VectorDistribution>
clone()
const;
227 Arccore::Integer
globalToLocal(Arccore::Integer i, Arccore::Integer p)
const;
242 Arccore::Integer
localToGlobal(Arccore::Integer i, Arccore::Integer p)
const;
246 friend class MatrixDistribution;
Interface for algebraic space objects.
Computes a vector distribution.
VectorDistribution & operator=(const VectorDistribution &dist)
Equal operator.
std::shared_ptr< VectorDistribution > clone() const
Clone the distribution.
VectorDistribution(const ISpace &space, Arccore::Integer local_size, std::shared_ptr< Arccore::MessagePassing::IMessagePassingMng > parallel_mng)
Constructor.
bool operator==(const VectorDistribution &dist) const
Comparison operator.
std::shared_ptr< Arccore::MessagePassing::IMessagePassingMng > sharedParallelMng() const
Get the parallel manager.
Arccore::Integer offset(Arccore::Integer p) const
Get the offset for a specific proc.
VectorDistribution()
Constructor.
Arccore::Integer offset() const
Get the offset.
Arccore::ConstArrayView< Integer > offsets() const
Get all the offsets.
const ISpace & space() const
Get the space.
Arccore::Integer owner(Arccore::Integer i) const
Get the owner of an entry.
Arccore::Integer localToGlobal(Arccore::Integer i) const
Get the global id of an elements with its local id.
Arccore::Integer globalToLocal(Arccore::Integer i) const
Get the local id of an elements with its global id.
VectorDistribution(const ISpace &space, Arccore::Integer local_size, 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.
Arccore::Integer localSize() const
Get the local size.
bool isParallel() const
Whether or not the run is parallel.
VectorDistribution(const ISpace &space, Arccore::MessagePassing::IMessagePassingMng *parallel_mng)
Constructor.
VectorDistribution(Arccore::Integer global_size, std::shared_ptr< Arccore::MessagePassing::IMessagePassingMng > parallel_mng)
Constructor.
Arccore::Integer localToGlobal(Arccore::Integer i, Arccore::Integer p) const
Get the global id of a non local element with its local id.
Arccore::Integer globalSize() const
Get the global size.
VectorDistribution(const ISpace &space, std::shared_ptr< Arccore::MessagePassing::IMessagePassingMng > parallel_mng)
Constructor.
Arccore::MessagePassing::IMessagePassingMng * parallelMng() const
Get the parallel manager.
Arccore::Integer globalToLocal(Arccore::Integer i, Arccore::Integer p) const
Get the local id of a non local element with its global id.
VectorDistribution(Arccore::Integer global_size, Arccore::MessagePassing::IMessagePassingMng *parallel_mng)
Constructor.
~VectorDistribution()
Free resources.
std::shared_ptr< Internal > m_internal
Internal implementation of the vector distribution.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
std::ostream & operator<<(std::ostream &nout, const MatrixDistribution &dist)
Print the distribution.
Internal implementation of the vector distribution.