Message interface for type Type. More...
#include <arcane/parallel/mpithread/HybridParallelDispatch.h>
Classes | |
| class | AllToAllVariableInfo |
| class | ReduceInfo |
| class | MinMaxSumInfo |
Public Types | |
| using | AllDispatchView = ArrayView<HybridParallelDispatch<Type>*> |
| Public Types inherited from Arcane::IParallelDispatchT< Type > | |
| using | Request = Parallel::Request |
| using | eReduceType = Parallel::eReduceType |
| using | PointToPointMessageInfo = Parallel::PointToPointMessageInfo |
Public Member Functions | |
| HybridParallelDispatch (ITraceMng *tm, HybridParallelMng *parallel_mng, HybridMessageQueue *message_queue, ArrayView< HybridParallelDispatch< Type > * > all_dispatchs) | |
| void | finalize () override |
| void | broadcast (Span< Type > send_buf, Int32 sub_domain) override |
| void | allGather (Span< const Type > send_buf, Span< Type > recv_buf) override |
| void | allGatherVariable (Span< const Type > send_buf, Array< Type > &recv_buf) override |
| void | gather (Span< const Type > send_buf, Span< Type > recv_buf, Int32 rank) override |
| void | gatherVariable (Span< const Type > send_buf, Array< Type > &recv_buf, Int32 rank) override |
| void | scatterVariable (Span< const Type > send_buf, Span< Type > recv_buf, Int32 root) override |
| void | allReduce (eReduceType op, Span< Type > send_buf) override |
| void | allToAll (Span< const Type > send_buf, Span< Type > recv_buf, Int32 count) override |
| void | allToAllVariable (Span< const Type > send_buf, ConstArrayView< Int32 > send_count, ConstArrayView< Int32 > send_index, Span< Type > recv_buf, ConstArrayView< Int32 > recv_count, ConstArrayView< Int32 > recv_index) override |
| Request | send (Span< const Type > send_buffer, Int32 proc, bool is_blocked) override |
| Request | send (Span< const Type > send_buffer, const PointToPointMessageInfo &message) override |
| Request | receive (Span< Type > recv_buffer, Int32 rank, bool is_blocked) override |
| Request | receive (Span< Type > recv_buffer, const PointToPointMessageInfo &message) override |
| Request | nonBlockingAllReduce (eReduceType op, Span< const Type > send_buf, Span< Type > recv_buf) override |
| Request | nonBlockingAllGather (Span< const Type > send_buf, Span< Type > recv_buf) override |
| Request | nonBlockingBroadcast (Span< Type > send_buf, Int32 rank) override |
| Request | nonBlockingGather (Span< const Type > send_buf, Span< Type > recv_buf, Int32 rank) override |
| Request | nonBlockingAllToAll (Span< const Type > send_buf, Span< Type > recv_buf, Int32 count) override |
| Request | nonBlockingAllToAllVariable (Span< const Type > send_buf, ConstArrayView< Int32 > send_count, ConstArrayView< Int32 > send_index, Span< Type > recv_buf, ConstArrayView< Int32 > recv_count, ConstArrayView< Int32 > recv_index) override |
| Request | gather (Arccore::MessagePassing::GatherMessageInfo< Type > &) override |
| void | broadcast (ArrayView< Type > send_buf, Integer sub_domain) override |
| void | allGather (ConstArrayView< Type > send_buf, ArrayView< Type > recv_buf) override |
| void | allGatherVariable (ConstArrayView< Type > send_buf, Array< Type > &recv_buf) override |
| void | gather (ConstArrayView< Type > send_buf, ArrayView< Type > recv_buf, Integer rank) override |
| void | gatherVariable (ConstArrayView< Type > send_buf, Array< Type > &recv_buf, Integer rank) override |
| void | scatterVariable (ConstArrayView< Type > send_buf, ArrayView< Type > recv_buf, Integer root) override |
| void | allToAll (ConstArrayView< Type > send_buf, ArrayView< Type > recv_buf, Integer count) override |
| void | allToAllVariable (ConstArrayView< Type > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< Type > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index) override |
| Request | send (ConstArrayView< Type > send_buffer, Integer proc, bool is_blocked) override |
| Request | recv (ArrayView< Type > recv_buffer, Integer proc, bool is_blocked) override |
| void | allReduce (eReduceType op, ArrayView< Type > send_buf) override |
| void | send (ConstArrayView< Type > send_buffer, Integer proc) override |
| void | recv (ArrayView< Type > recv_buffer, Integer proc) override |
| void | sendRecv (ConstArrayView< Type > send_buffer, ArrayView< Type > recv_buffer, Integer proc) override |
| Type | allReduce (eReduceType op, Type send_buf) override |
| Type | scan (eReduceType op, Type send_buf) override |
| void | scan (eReduceType op, ArrayView< Type > send_buf) override |
| void | computeMinMaxSum (Type val, Type &min_val, Type &max_val, Type &sum_val, Int32 &min_rank, Int32 &max_rank) override |
| void | computeMinMaxSum (ConstArrayView< Type > values, ArrayView< Type > min_values, ArrayView< Type > max_values, ArrayView< Type > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks) override |
| ITypeDispatcher< Type > * | toArccoreDispatcher () override |
| Int32 | globalRank () const |
| Public Member Functions inherited from Arcane::TraceAccessor | |
| TraceAccessor (ITraceMng *m) | |
| Constructs an accessor via the trace manager m. | |
| TraceAccessor (const TraceAccessor &rhs) | |
| Copy constructor. | |
| TraceAccessor & | operator= (const TraceAccessor &rhs) |
| Copy assignment operator. | |
| virtual | ~TraceAccessor () |
| Frees resources. | |
| ITraceMng * | traceMng () const |
| Trace manager. | |
| TraceMessage | info () const |
| Flow for an information message. | |
| TraceMessage | pinfo () const |
| Flow for a parallel information message. | |
| TraceMessage | info (char category) const |
| Flow for an information message of a given category. | |
| TraceMessage | pinfo (char category) const |
| Flow for a parallel information message of a given category. | |
| TraceMessage | info (bool v) const |
| Flow for an information message. | |
| TraceMessage | warning () const |
| Flow for a warning message. | |
| TraceMessage | pwarning () const |
| TraceMessage | error () const |
| Flow for an error message. | |
| TraceMessage | perror () const |
| TraceMessage | log () const |
| Flow for a log message. | |
| TraceMessage | plog () const |
| Flow for a log message. | |
| TraceMessage | logdate () const |
| Flow for a log message preceded by the date. | |
| TraceMessage | fatal () const |
| Flow for a fatal error message. | |
| TraceMessage | pfatal () const |
| Flow for a parallel fatal error message. | |
| TraceMessageDbg | debug (Trace::eDebugLevel=Trace::Medium) const |
| Flow for a debug message. | |
| Trace::eDebugLevel | configDbgLevel () const |
| Debug level of the configuration file. | |
| TraceMessage | info (Int32 verbose_level) const |
| Flow for an information message of a given level. | |
| TraceMessage | linfo () const |
| Flow for an information message with the local information level of this instance. | |
| TraceMessage | linfo (Int32 relative_level) const |
| Flow for an information message with the local information level of this instance. | |
| void | fatalMessage (const StandaloneTraceMessage &o) const |
| Public Member Functions inherited from Arcane::ReferenceCounterImpl | |
| void | addReference () |
| void | removeReference () |
| void | _internalAddReference () |
| bool | _internalRemoveReference () |
Public Attributes | |
| AllDispatchView | m_all_dispatchs |
| ReduceInfo | m_reduce_infos |
| MinMaxSumInfo | m_min_max_sum_infos |
Private Member Functions | |
| ARCCORE_INTERNAL_DEFINE_REFERENCE_COUNTED_INCLASS_METHODS () | |
| void | _collectiveBarrier () |
| void | _allReduceOrScan (eReduceType op, Span< Type > send_buf, bool is_scan) |
| void | _applyReduceOperator (eReduceType op, Span< Type > result, AllDispatchView dispatch_view, Int32 first_rank, Int32 last_rank) |
Private Attributes | |
| HybridParallelMng * | m_parallel_mng = nullptr |
| Int32 | m_local_rank = A_NULL_RANK |
| Int32 | m_local_nb_rank = 0 |
| Int32 | m_global_rank = A_NULL_RANK |
| Int32 | m_global_nb_rank = 0 |
| Int32 | m_mpi_rank = A_NULL_RANK |
| Int32 | m_mpi_nb_rank = 0 |
| Span< Type > | m_broadcast_view |
| Span< const Type > | m_const_view |
| Span< Type > | m_recv_view |
| Span< const Type > | m_send_view |
| AllToAllVariableInfo | m_alltoallv_infos |
| HybridMessageQueue * | m_message_queue = nullptr |
| MpiParallelDispatchT< Type > * | m_mpi_dispatcher = nullptr |
Additional Inherited Members | |
| Protected Member Functions inherited from Arcane::TraceAccessor | |
| void | _setLocalVerboseLevel (Int32 v) |
| Int32 | _localVerboseLevel () const |
Message interface for type Type.
Definition at line 108 of file HybridParallelDispatch.h.
| using Arcane::MessagePassing::HybridParallelDispatch< Type >::AllDispatchView = ArrayView<HybridParallelDispatch<Type>*> |
Definition at line 267 of file HybridParallelDispatch.h.
| Arcane::MessagePassing::HybridParallelDispatch< Type >::HybridParallelDispatch | ( | ITraceMng * | tm, |
| HybridParallelMng * | parallel_mng, | ||
| HybridMessageQueue * | message_queue, | ||
| ArrayView< HybridParallelDispatch< Type > * > | all_dispatchs ) |
Definition at line 55 of file HybridParallelDispatch.cc.
|
override |
Definition at line 90 of file HybridParallelDispatch.cc.
|
private |
Definition at line 842 of file HybridParallelDispatch.cc.
|
private |
Definition at line 812 of file HybridParallelDispatch.cc.
|
private |
Definition at line 1043 of file HybridParallelDispatch.cc.
|
inlineoverridevirtual |
Implements Arcane::IParallelDispatchT< Type >.
Definition at line 194 of file HybridParallelDispatch.h.
|
overridevirtual |
Implements Arcane::MessagePassing::ITypeDispatcher< Type >.
Definition at line 323 of file HybridParallelDispatch.cc.
|
inlineoverridevirtual |
Implements Arcane::IParallelDispatchT< Type >.
Definition at line 198 of file HybridParallelDispatch.h.
|
overridevirtual |
Implements Arcane::MessagePassing::ITypeDispatcher< Type >.
Definition at line 374 of file HybridParallelDispatch.cc.
|
inlineoverridevirtual |
Implements Arcane::IParallelDispatchT< Type >.
Definition at line 233 of file HybridParallelDispatch.h.
|
overridevirtual |
Implements Arcane::MessagePassing::ITypeDispatcher< Type >.
Definition at line 931 of file HybridParallelDispatch.cc.
|
overridevirtual |
Implements Arcane::IParallelDispatchT< Type >.
Definition at line 774 of file HybridParallelDispatch.cc.
|
inlineoverridevirtual |
Implements Arcane::IParallelDispatchT< Type >.
Definition at line 214 of file HybridParallelDispatch.h.
|
overridevirtual |
Implements Arcane::MessagePassing::ITypeDispatcher< Type >.
Definition at line 473 of file HybridParallelDispatch.cc.
|
inlineoverridevirtual |
Implements Arcane::IParallelDispatchT< Type >.
Definition at line 218 of file HybridParallelDispatch.h.
|
overridevirtual |
Implements Arcane::MessagePassing::ITypeDispatcher< Type >.
|
inlineoverridevirtual |
Implements Arcane::IParallelDispatchT< Type >.
Definition at line 190 of file HybridParallelDispatch.h.
|
overridevirtual |
Implements Arcane::MessagePassing::ITypeDispatcher< Type >.
Definition at line 289 of file HybridParallelDispatch.cc.
|
overridevirtual |
Implements Arcane::IParallelDispatchT< Type >.
Definition at line 241 of file HybridParallelDispatch.cc.
|
overridevirtual |
Implements Arcane::IParallelDispatchT< Type >.
Definition at line 202 of file HybridParallelDispatch.cc.
|
overridevirtual |
Implements Arcane::IParallelDispatchT< Type >.
Definition at line 99 of file HybridParallelDispatch.cc.
|
overridevirtual |
Reimplemented from Arcane::MessagePassing::ITypeDispatcher< Type >.
Definition at line 1034 of file HybridParallelDispatch.cc.
|
inlineoverridevirtual |
Implements Arcane::IParallelDispatchT< Type >.
Definition at line 202 of file HybridParallelDispatch.h.
|
overridevirtual |
Implements Arcane::MessagePassing::ITypeDispatcher< Type >.
Definition at line 359 of file HybridParallelDispatch.cc.
|
inlineoverridevirtual |
Implements Arcane::IParallelDispatchT< Type >.
Definition at line 206 of file HybridParallelDispatch.h.
|
overridevirtual |
Implements Arcane::MessagePassing::ITypeDispatcher< Type >.
Definition at line 408 of file HybridParallelDispatch.cc.
|
inline |
Definition at line 268 of file HybridParallelDispatch.h.
|
overridevirtual |
Implements Arcane::MessagePassing::ITypeDispatcher< Type >.
Definition at line 951 of file HybridParallelDispatch.cc.
|
overridevirtual |
Implements Arcane::MessagePassing::ITypeDispatcher< Type >.
Definition at line 940 of file HybridParallelDispatch.cc.
|
overridevirtual |
Implements Arcane::MessagePassing::ITypeDispatcher< Type >.
Definition at line 985 of file HybridParallelDispatch.cc.
|
overridevirtual |
Implements Arcane::MessagePassing::ITypeDispatcher< Type >.
Definition at line 997 of file HybridParallelDispatch.cc.
|
overridevirtual |
Implements Arcane::MessagePassing::ITypeDispatcher< Type >.
Definition at line 962 of file HybridParallelDispatch.cc.
|
overridevirtual |
Implements Arcane::MessagePassing::ITypeDispatcher< Type >.
Definition at line 973 of file HybridParallelDispatch.cc.
|
overridevirtual |
Implements Arcane::IParallelDispatchT< Type >.
Definition at line 736 of file HybridParallelDispatch.cc.
|
overridevirtual |
Implements Arcane::MessagePassing::ITypeDispatcher< Type >.
Definition at line 708 of file HybridParallelDispatch.cc.
|
overridevirtual |
Implements Arcane::IParallelDispatchT< Type >.
Definition at line 753 of file HybridParallelDispatch.cc.
|
inlineoverridevirtual |
Implements Arcane::IParallelDispatchT< Type >.
Definition at line 229 of file HybridParallelDispatch.h.
|
overridevirtual |
Implements Arcane::IParallelDispatchT< Type >.
Definition at line 1025 of file HybridParallelDispatch.cc.
|
overridevirtual |
Implements Arcane::IParallelDispatchT< Type >.
Definition at line 1014 of file HybridParallelDispatch.cc.
|
inlineoverridevirtual |
Implements Arcane::IParallelDispatchT< Type >.
Definition at line 210 of file HybridParallelDispatch.h.
|
overridevirtual |
Implements Arcane::MessagePassing::ITypeDispatcher< Type >.
Definition at line 422 of file HybridParallelDispatch.cc.
|
overridevirtual |
Implements Arcane::IParallelDispatchT< Type >.
Definition at line 699 of file HybridParallelDispatch.cc.
|
inlineoverridevirtual |
Implements Arcane::IParallelDispatchT< Type >.
Definition at line 225 of file HybridParallelDispatch.h.
|
overridevirtual |
Implements Arcane::IParallelDispatchT< Type >.
Definition at line 719 of file HybridParallelDispatch.cc.
|
overridevirtual |
Implements Arcane::MessagePassing::ITypeDispatcher< Type >.
Definition at line 688 of file HybridParallelDispatch.cc.
|
overridevirtual |
Implements Arcane::IParallelDispatchT< Type >.
Definition at line 762 of file HybridParallelDispatch.cc.
|
inlineoverridevirtual |
Implements Arcane::IParallelDispatchT< Type >.
Definition at line 253 of file HybridParallelDispatch.h.
| AllDispatchView Arcane::MessagePassing::HybridParallelDispatch< Type >::m_all_dispatchs |
Definition at line 269 of file HybridParallelDispatch.h.
|
private |
Definition at line 277 of file HybridParallelDispatch.h.
|
private |
Definition at line 273 of file HybridParallelDispatch.h.
|
private |
Definition at line 274 of file HybridParallelDispatch.h.
|
private |
Definition at line 261 of file HybridParallelDispatch.h.
|
private |
Definition at line 260 of file HybridParallelDispatch.h.
|
private |
Definition at line 259 of file HybridParallelDispatch.h.
|
private |
Definition at line 258 of file HybridParallelDispatch.h.
|
private |
Definition at line 286 of file HybridParallelDispatch.h.
| MinMaxSumInfo Arcane::MessagePassing::HybridParallelDispatch< Type >::m_min_max_sum_infos |
Definition at line 282 of file HybridParallelDispatch.h.
|
private |
Definition at line 287 of file HybridParallelDispatch.h.
|
private |
Definition at line 263 of file HybridParallelDispatch.h.
|
private |
Definition at line 262 of file HybridParallelDispatch.h.
|
private |
Definition at line 257 of file HybridParallelDispatch.h.
|
private |
Definition at line 275 of file HybridParallelDispatch.h.
| ReduceInfo Arcane::MessagePassing::HybridParallelDispatch< Type >::m_reduce_infos |
Definition at line 281 of file HybridParallelDispatch.h.
|
private |
Definition at line 276 of file HybridParallelDispatch.h.