Informations pour un message 'gather' pour le type de données DataType. Plus de détails...
#include <arccore/message_passing/GatherMessageInfo.h>
Types publics | |
using | BaseClass = GatherMessageInfoBase |
Types publics hérités de Arccore::MessagePassing::GatherMessageInfoBase | |
enum class | Mode { Gather , GatherVariable , GatherVariableNeedComputeInfo , Null } |
Mode du message. Plus de détails... | |
Fonctions membres publiques | |
GatherMessageInfo ()=default | |
Message pout tout le monde et bloquant. | |
GatherMessageInfo (MessageRank dest_rank) | |
Message bloquant ayant pour destination rank. | |
GatherMessageInfo (MessageRank dest_rank, eBlockingType blocking_type) | |
Message ayant pour destination dest_rank et mode bloquant blocking_type. | |
void | setGather (Span< const DataType > send_buf, Span< DataType > receive_buf) |
Message équivalent à MPI_Gather ou MPI_Allgather. | |
void | setGatherVariable (Span< const DataType > send_buf, Array< DataType > *receive_array) |
Message équivalent à MPI_Gatherv ou MPI_Allgatherv. | |
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. | |
Array< DataType > * | localReceptionBuffer () const |
Buffer de réception pour le type T_GatherVariableNeedComputeInfo. | |
Span< const DataType > | sendBuffer () const |
Buffer d'envoi. Il est utilisé dans tous les modes. | |
Span< DataType > | receiveBuffer () const |
Buffer de réception. Utilisé en mode Gather et GatherVariable par les rangs qui recoivent. | |
Span< const Int32 > | receiveDisplacement () |
Tableau des déplacements. Utilisé en mode GatherVariable. | |
Span< const Int32 > | receiveCounts () const |
Tableau des tailles. Utilisé en mode GatherVariable. | |
Fonctions membres publiques hérités de Arccore::MessagePassing::GatherMessageInfoBase | |
GatherMessageInfoBase ()=default | |
Message pout tout le monde et bloquant. | |
GatherMessageInfoBase (MessageRank dest_rank) | |
Message bloquant ayant pour destination rank. | |
GatherMessageInfoBase (MessageRank dest_rank, eBlockingType blocking_type) | |
Message ayant pour destination dest_rank et mode bloquant blocking_type. | |
void | setBlocking (bool is_blocking) |
bool | isBlocking () const |
Indique si le message est bloquant. | |
MessageRank | destinationRank () const |
Rang de la destination du message. | |
void | setDestinationRank (MessageRank rank) |
Positionne le rang de la destination du message. | |
Mode | mode () const |
Mode du message. | |
void | print (std::ostream &o) const |
Affiche le message. | |
bool | isValid () const |
Membres hérités additionnels | |
Fonctions membres protégées hérités de Arccore::MessagePassing::GatherMessageInfoBase | |
void | _setType (Mode t) |
Informations pour un message 'gather' pour le type de données DataType.
Il faut appeler une des méthodes setGather() ou setGatherVariable() avant de pouvoir envoyer le message correspondant. Les instances passées en argument ces deux méthodes doivent rester vivantes tant que le message n'est pas terminé.
Définition à la ligne 125 du fichier GatherMessageInfo.h.
using Arccore::MessagePassing::GatherMessageInfo< DataType >::BaseClass = GatherMessageInfoBase |
Définition à la ligne 130 du fichier GatherMessageInfo.h.
|
inlineexplicit |
Message bloquant ayant pour destination rank.
Définition à la ligne 138 du fichier GatherMessageInfo.h.
|
inline |
Message ayant pour destination dest_rank et mode bloquant blocking_type.
Définition à la ligne 143 du fichier GatherMessageInfo.h.
|
inline |
Buffer de réception pour le type T_GatherVariableNeedComputeInfo.
Peut-être nul pour les rangs qui ne sont pas concernés par la réception.
Définition à la ligne 208 du fichier GatherMessageInfo.h.
|
inline |
Buffer de réception. Utilisé en mode Gather et GatherVariable par les rangs qui recoivent.
Définition à la ligne 214 du fichier GatherMessageInfo.h.
|
inline |
Tableau des tailles. Utilisé en mode GatherVariable.
Définition à la ligne 220 du fichier GatherMessageInfo.h.
|
inline |
Tableau des déplacements. Utilisé en mode GatherVariable.
Définition à la ligne 217 du fichier GatherMessageInfo.h.
|
inline |
Buffer d'envoi. Il est utilisé dans tous les modes.
Définition à la ligne 211 du fichier GatherMessageInfo.h.
|
inline |
Message équivalent à MPI_Gather ou MPI_Allgather.
Tous les rangs doivent positionner une valeur valide pour send_buf. Seul le rang destinataire doit positionner receive_buf. receive_buf doit pouvoir pour taille send_buf.size() * nb_rank.
Définition à la ligne 156 du fichier GatherMessageInfo.h.
|
inline |
Message équivalent à MPI_Gatherv ou MPI_Allgatherv.
Ce prototype est utilisé lorsqu'on ne connait pas ce que va envoyer chaque rang. Si on connait cette information il est préférable d'utiliser la méthode setGatherVariable() contenant les déplacements et la taille de message de chaque participant.
L'appel à cette méthode provoque un appel à mpGather() pour déterminer ce que chaque participant doit envoyer. Pour cette raison elle ne peut pas être utilisée en mode bloquant.
Seul le rang destinataire doit positionner receive_array. Pour les autres il est possible d'utiliser nullptr.
Définition à la ligne 178 du fichier GatherMessageInfo.h.
|
inline |
Message équivalent à MPI_Gatherv ou MPI_Allgatherv.
Tous les rangs doivent positionner une valeur valide pour send_buf, receive_counts et receive_displacements. Seul le rang destinataire doit positionner receive_buf. receive_buf doit pouvoir pour taille send_buf.size() * nb_rank.
Définition à la ligne 193 du fichier GatherMessageInfo.h.