12#ifndef ARCCORE_MESSAGEPASSING_GATHERMESSAGEINFO_H
13#define ARCCORE_MESSAGEPASSING_GATHERMESSAGEINFO_H
17#include "arccore/collections/Array.h"
18#include "arccore/message_passing/MessageRank.h"
41 GatherVariableNeedComputeInfo,
76 m_destination_rank = rank;
83 void print(std::ostream&
o)
const;
96 if (m_mode == Mode::Null)
103 void _setType(Mode t)
110 MessageRank m_destination_rank;
111 bool m_is_blocking =
true;
112 Mode m_mode = Mode::Null;
124template <
typename DataType>
158 _setType(Mode::Gather);
180 _setType(Mode::GatherVariableNeedComputeInfo);
196 _setType(Mode::GatherVariable);
Informations pour un message 'gather'.
MessageRank destinationRank() const
Rang de la destination du message.
Mode mode() const
Mode du message.
bool isBlocking() const
Indique si le message est bloquant.
GatherMessageInfoBase()=default
Message pout tout le monde et bloquant.
GatherMessageInfoBase(MessageRank dest_rank, eBlockingType blocking_type)
Message ayant pour destination dest_rank et mode bloquant blocking_type.
void setDestinationRank(MessageRank rank)
Positionne le rang de la destination du message.
GatherMessageInfoBase(MessageRank dest_rank)
Message bloquant ayant pour destination rank.
Informations pour un message 'gather' pour le type de données DataType.
void setGatherVariable(Span< const DataType > send_buf, Array< DataType > *receive_array)
Message équivalent à MPI_Gatherv ou MPI_Allgatherv.
void setGather(Span< const DataType > send_buf, Span< DataType > receive_buf)
Message équivalent à MPI_Gather ou MPI_Allgather.
GatherMessageInfo(MessageRank dest_rank, eBlockingType blocking_type)
Message ayant pour destination dest_rank et mode bloquant blocking_type.
Span< const Int32 > receiveDisplacement()
Tableau des déplacements. Utilisé en mode GatherVariable.
GatherMessageInfo()=default
Message pout tout le monde et bloquant.
GatherMessageInfo(MessageRank dest_rank)
Message bloquant ayant pour destination rank.
Array< DataType > * localReceptionBuffer() const
Buffer de réception pour le type T_GatherVariableNeedComputeInfo.
void setGatherVariable(Span< const DataType > send_buf, Span< DataType > receive_buf, Span< const Int32 > receive_counts, Span< const Int32 > receive_displacements)
Message équivalent à MPI_Gatherv ou MPI_Allgatherv.
Span< DataType > receiveBuffer() const
Buffer de réception. Utilisé en mode Gather et GatherVariable par les rangs qui recoivent.
Span< const DataType > sendBuffer() const
Buffer d'envoi. Il est utilisé dans tous les modes.
Span< const Int32 > receiveCounts() const
Tableau des tailles. Utilisé en mode GatherVariable.
Référence à une instance.
Espace de nommage contenant les types et déclarations qui gèrent le mécanisme de parallélisme par éch...
eBlockingType
Type indiquant si un message est bloquant ou non.