Class allowing the calculation and storage of grouping information. More...
#include <arcane/core/internal/GatherGroup.h>
Public Member Functions | |
| GatherGroupInfo (IParallelMng *parallel_mng, bool use_collective_io) | |
| Constructor. | |
| void | computeSize (Int32 nb_elem_in) override |
| Method allowing the calculation of grouping information. | |
| void | setNeedRecompute () override |
| Method allowing a request for recalculation of grouping information. To do this, the method computeSize() must be called again. | |
| bool | isComputed () override |
| Method allowing determination of whether the method computeSize() has already been called. | |
| Int32 | nbElemOutput () override |
| Method allowing knowledge of the number of elements that our subdomain must process after reception. | |
| Int32 | sizeOfOutput (Int32 sizeof_type) override |
| Method allowing knowledge of the size, in bytes, of the set of elements that our subdomain must process after reception. | |
| SmallSpan< Int32 > | nbElemRecvGatherToMasterIO () override |
| Method allowing knowledge of the number of elements that each third-party subdomain will send to us. | |
| Int32 | nbWriterGlobal () override |
| Method allowing knowledge of the number of writing subdomains. | |
| void | setCollectiveIO (bool enable) |
| template<class T> | |
| void | computeSizeT (Span< const T > in) |
| Method allowing the calculation of grouping information. | |
| template<class T> | |
| void | computeSizeT (Span2< const T > in) |
| Method allowing the calculation of grouping information. | |
Private Attributes | |
| IParallelMng * | m_parallel_mng = nullptr |
| bool | m_use_collective_io = false |
| UniqueArray< Int32 > | m_nb_elem_recv |
| Int32 | m_nb_elem_output = -1 |
| Int32 | m_writer = -1 |
| Int32 | m_nb_sender_to_writer = -1 |
| Int32 | m_nb_writer_global = -1 |
| bool | m_is_computed = false |
Friends | |
| class | GatherGroup |
Class allowing the calculation and storage of grouping information.
The writers will be the masterIO or the masterParallelIO if m_use_collective_io is true.
Definition at line 122 of file GatherGroup.h.
| Arcane::GatherGroupInfo::GatherGroupInfo | ( | IParallelMng * | parallel_mng, |
| bool | use_collective_io ) |
Constructor.
| parallel_mng | The parallelMng containing the masterIO. |
| use_collective_io | True if we want all processes to write (with MPI-IO for example). The writers will therefore be the masterParallelIO. If False, the writer will be masterIO. |
Definition at line 124 of file GatherGroup.cc.
|
overridevirtual |
Method allowing the calculation of grouping information.
Collective call.
A second call to this method will have no effect, unless the method needRecompute() was called beforehand.
| nb_elem_in | The number of elements that our subdomain wishes to send to the master. |
Implements Arcane::IGatherGroupInfo.
Definition at line 139 of file GatherGroup.cc.
References Arcane::MessagePassing::ReduceSum.
Referenced by computeSizeT(), and computeSizeT().
| void Arcane::GatherGroupInfo::computeSizeT | ( | Span2< const T > | in | ) |
Method allowing the calculation of grouping information.
Collective call.
A second call to this method will have no effect, unless needRecompute() is called beforehand.
| in | The view that will be shared. |
Definition at line 251 of file GatherGroup.h.
References computeSize(), and Arcane::Span2Impl< T, SizeType, Extent1, Extent2 >::dim1Size().
| void Arcane::GatherGroupInfo::computeSizeT | ( | Span< const T > | in | ) |
Method allowing the calculation of grouping information.
Collective call.
A second call to this method will have no effect, unless needRecompute() is called beforehand.
| in | The view that will be shared. |
Definition at line 241 of file GatherGroup.h.
References computeSize(), and Arcane::SpanImpl< T, SizeType, Extent >::size().
|
inlineoverridevirtual |
Method allowing determination of whether the method computeSize() has already been called.
Implements Arcane::IGatherGroupInfo.
Definition at line 145 of file GatherGroup.h.
Referenced by Arcane::GatherGroup::GatherGroup(), and Arcane::GatherGroup::setGatherGroupInfo().
|
inlineoverridevirtual |
Method allowing knowledge of the number of elements that our subdomain must process after reception.
Implements Arcane::IGatherGroupInfo.
Definition at line 146 of file GatherGroup.h.
Method allowing knowledge of the number of elements that each third-party subdomain will send to us.
Implements Arcane::IGatherGroupInfo.
Definition at line 190 of file GatherGroup.cc.
|
inlineoverridevirtual |
Method allowing knowledge of the number of writing subdomains.
Implements Arcane::IGatherGroupInfo.
Definition at line 149 of file GatherGroup.h.
Referenced by Arcane::VtkHdfV2DataWriter::_writeDataSetGeneric().
|
inline |
Definition at line 153 of file GatherGroup.h.
|
inlineoverridevirtual |
Method allowing a request for recalculation of grouping information. To do this, the method computeSize() must be called again.
Implements Arcane::IGatherGroupInfo.
Definition at line 144 of file GatherGroup.h.
Method allowing knowledge of the size, in bytes, of the set of elements that our subdomain must process after reception.
| sizeof_type | The size of an element. |
Implements Arcane::IGatherGroupInfo.
Definition at line 147 of file GatherGroup.h.
|
friend |
Definition at line 125 of file GatherGroup.h.
|
private |
Definition at line 190 of file GatherGroup.h.
|
private |
Definition at line 186 of file GatherGroup.h.
|
private |
Definition at line 185 of file GatherGroup.h.
|
private |
Definition at line 188 of file GatherGroup.h.
|
private |
Definition at line 189 of file GatherGroup.h.
|
private |
Definition at line 183 of file GatherGroup.h.
|
private |
Definition at line 184 of file GatherGroup.h.
|
private |
Definition at line 187 of file GatherGroup.h.