Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arccore::MessagePassing::GatherMessageInfo< DataType >

Informations pour un message 'gather' pour le type de données DataType. Plus de détails...

#include </__w/arcaneframework.github.io/arcaneframework.github.io/framework/arccore/src/message_passing/arccore/message_passing/GatherMessageInfo.h>

+ Graphe d'héritage de Arccore::MessagePassing::GatherMessageInfo< DataType >:
+ Graphe de collaboration de Arccore::MessagePassing::GatherMessageInfo< DataType >:

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 Int32receiveDisplacement ()
 Tableau des déplacements. Utilisé en mode GatherVariable.
 
Span< const Int32receiveCounts () 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
 

Attributs privés

Array< DataType > * m_local_reception_buffer = nullptr
 
Span< const DataType > m_send_buffer
 
Span< DataType > m_receive_buf
 
Span< const Int32m_receive_displacements
 
Span< const Int32m_receive_counts
 

Membres hérités additionnels

- Fonctions membres protégées hérités de Arccore::MessagePassing::GatherMessageInfoBase
void _setType (Mode t)
 

Description détaillée

template<typename DataType>
class Arccore::MessagePassing::GatherMessageInfo< DataType >

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.

Documentation des définitions de type membres

◆ BaseClass

template<typename DataType >
using Arccore::MessagePassing::GatherMessageInfo< DataType >::BaseClass = GatherMessageInfoBase

Définition à la ligne 130 du fichier GatherMessageInfo.h.

Documentation des constructeurs et destructeur

◆ GatherMessageInfo() [1/2]

template<typename DataType >
Arccore::MessagePassing::GatherMessageInfo< DataType >::GatherMessageInfo ( MessageRank  dest_rank)
inlineexplicit

Message bloquant ayant pour destination rank.

Définition à la ligne 138 du fichier GatherMessageInfo.h.

◆ GatherMessageInfo() [2/2]

template<typename DataType >
Arccore::MessagePassing::GatherMessageInfo< DataType >::GatherMessageInfo ( MessageRank  dest_rank,
eBlockingType  blocking_type 
)
inline

Message ayant pour destination dest_rank et mode bloquant blocking_type.

Définition à la ligne 143 du fichier GatherMessageInfo.h.

Documentation des fonctions membres

◆ localReceptionBuffer()

template<typename DataType >
Array< DataType > * Arccore::MessagePassing::GatherMessageInfo< DataType >::localReceptionBuffer ( ) const
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.

◆ receiveBuffer()

template<typename DataType >
Span< DataType > Arccore::MessagePassing::GatherMessageInfo< DataType >::receiveBuffer ( ) const
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.

◆ receiveCounts()

template<typename DataType >
Span< const Int32 > Arccore::MessagePassing::GatherMessageInfo< DataType >::receiveCounts ( ) const
inline

Tableau des tailles. Utilisé en mode GatherVariable.

Définition à la ligne 220 du fichier GatherMessageInfo.h.

◆ receiveDisplacement()

template<typename DataType >
Span< const Int32 > Arccore::MessagePassing::GatherMessageInfo< DataType >::receiveDisplacement ( )
inline

Tableau des déplacements. Utilisé en mode GatherVariable.

Définition à la ligne 217 du fichier GatherMessageInfo.h.

◆ sendBuffer()

template<typename DataType >
Span< const DataType > Arccore::MessagePassing::GatherMessageInfo< DataType >::sendBuffer ( ) const
inline

Buffer d'envoi. Il est utilisé dans tous les modes.

Définition à la ligne 211 du fichier GatherMessageInfo.h.

◆ setGather()

template<typename DataType >
void Arccore::MessagePassing::GatherMessageInfo< DataType >::setGather ( Span< const DataType >  send_buf,
Span< DataType >  receive_buf 
)
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.

◆ setGatherVariable() [1/2]

template<typename DataType >
void Arccore::MessagePassing::GatherMessageInfo< DataType >::setGatherVariable ( Span< const DataType >  send_buf,
Array< DataType > *  receive_array 
)
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.

◆ setGatherVariable() [2/2]

template<typename DataType >
void Arccore::MessagePassing::GatherMessageInfo< DataType >::setGatherVariable ( Span< const DataType >  send_buf,
Span< DataType >  receive_buf,
Span< const Int32 receive_counts,
Span< const Int32 receive_displacements 
)
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.

Documentation des données membres

◆ m_local_reception_buffer

template<typename DataType >
Array<DataType>* Arccore::MessagePassing::GatherMessageInfo< DataType >::m_local_reception_buffer = nullptr
private

Définition à la ligne 224 du fichier GatherMessageInfo.h.

◆ m_receive_buf

template<typename DataType >
Span<DataType> Arccore::MessagePassing::GatherMessageInfo< DataType >::m_receive_buf
private

Définition à la ligne 226 du fichier GatherMessageInfo.h.

◆ m_receive_counts

template<typename DataType >
Span<const Int32> Arccore::MessagePassing::GatherMessageInfo< DataType >::m_receive_counts
private

Définition à la ligne 228 du fichier GatherMessageInfo.h.

◆ m_receive_displacements

template<typename DataType >
Span<const Int32> Arccore::MessagePassing::GatherMessageInfo< DataType >::m_receive_displacements
private

Définition à la ligne 227 du fichier GatherMessageInfo.h.

◆ m_send_buffer

template<typename DataType >
Span<const DataType> Arccore::MessagePassing::GatherMessageInfo< DataType >::m_send_buffer
private

Définition à la ligne 225 du fichier GatherMessageInfo.h.


La documentation de cette classe a été générée à partir du fichier suivant :