Arcane  v3.16.8.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::MultiDataSynchronizeBuffer

Implémentation de IDataSynchronizeBuffer pour plusieurs données. Plus de détails...

#include <arcane/impl/internal/DataSynchronizeBuffer.h>

+ Graphe d'héritage de Arcane::MultiDataSynchronizeBuffer:
+ Graphe de collaboration de Arcane::MultiDataSynchronizeBuffer:

Fonctions membres publiques

 MultiDataSynchronizeBuffer (ITraceMng *tm, DataSynchronizeInfo *sync_info, Ref< IBufferCopier > copier)
 
void copyReceiveAsync (Int32 rank_index) final
 Recopie dans les données depuis le buffer de réception du index-ème rang.
 
void copySendAsync (Int32 rank_index) final
 Recopie dans le buffer d'envoi les données du index-ème rang.
 
void setNbData (Int32 nb_data)
 
void setDataView (Int32 index, MutableMemoryView v)
 
void prepareSynchronize (bool is_compare_sync) override
 
- Fonctions membres publiques hérités de Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Construit un accesseur via le gestionnaire de trace m.
 
 TraceAccessor (const TraceAccessor &rhs)
 Constructeur par recopie.
 
TraceAccessoroperator= (const TraceAccessor &rhs)
 Opérateur de recopie.
 
virtual ~TraceAccessor ()
 Libère les ressources.
 
ITraceMngtraceMng () const
 Gestionnaire de trace.
 
TraceMessage info () const
 Flot pour un message d'information.
 
TraceMessage pinfo () const
 Flot pour un message d'information en parallèle.
 
TraceMessage info (char category) const
 Flot pour un message d'information d'une catégorie donnée.
 
TraceMessage pinfo (char category) const
 Flot pour un message d'information parallèle d'une catégorie donnée.
 
TraceMessage info (bool v) const
 Flot pour un message d'information.
 
TraceMessage warning () const
 Flot pour un message d'avertissement.
 
TraceMessage pwarning () const
 
TraceMessage error () const
 Flot pour un message d'erreur.
 
TraceMessage perror () const
 
TraceMessage log () const
 Flot pour un message de log.
 
TraceMessage plog () const
 Flot pour un message de log.
 
TraceMessage logdate () const
 Flot pour un message de log précédé de la date.
 
TraceMessage fatal () const
 Flot pour un message d'erreur fatale.
 
TraceMessage pfatal () const
 Flot pour un message d'erreur fatale en parallèle.
 
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flot pour un message de debug.
 
Trace::eDebugLevel configDbgLevel () const
 Niveau debug du fichier de configuration.
 
TraceMessage info (Int32 verbose_level) const
 Flot pour un message d'information d'un niveau donné
 
TraceMessage linfo () const
 Flot pour un message d'information avec le niveau d'information local à cette instance.
 
TraceMessage linfo (Int32 relative_level) const
 Flot pour un message d'information avec le niveau d'information local à cette instance.
 
void fatalMessage (const StandaloneTraceMessage &o) const
 
- Fonctions membres publiques hérités de Arcane::DataSynchronizeBufferBase
Int32 nbRank () const final
 Nombre de rangs.
 
Int32 targetRank (Int32 index) const final
 Rang cible du index-ème rang.
 
bool hasGlobalBuffer () const final
 Indique si les buffers sont globaux.
 
MutableMemoryView receiveBuffer (Int32 index) final
 Buffer de réception pour le index-ème rang.
 
MutableMemoryView sendBuffer (Int32 index) final
 Buffer d'envoi pour le index-ème rang.
 
Int64 receiveDisplacement (Int32 index) const final
 Déplacement (en octets) depuis le début de receiveBuffer() pour le index-ème rang.
 
Int64 sendDisplacement (Int32 index) const final
 Déplacement (en octets) depuis le début de sendBuffer() pour le index-ème rang.
 
MutableMemoryView globalReceiveBuffer () final
 Buffer de réception.
 
MutableMemoryView globalSendBuffer () final
 Buffer d'envoi.
 
Int64 totalReceiveSize () const final
 Taille totale à recevoir en octet.
 
Int64 totalSendSize () const final
 Taille totale à envoyer en octet.
 
void barrier () final
 Attend que les copies (copySendAsync() et copyReceiveAsync()) soient terminées.
 
 DataSynchronizeBufferBase (DataSynchronizeInfo *sync_info, Ref< IBufferCopier > copier)
 
bool isCompareSynchronizedValues () const
 Indique si on compare les valeurs avant/après la synchronisation.
 
void setSynchronizeBuffer (Ref< MemoryBuffer > v)
 
- Fonctions membres publiques hérités de Arcane::IDataSynchronizeBuffer
virtual void copyAllReceive ()
 Recopie toutes les données depuis le buffer de réception.
 
virtual void copyAllSend ()
 Recopie dans le buffer d'envoi toute les données.
 

Attributs privés

SmallArray< MutableMemoryViewm_data_views
 Vue sur les données de la variable.
 
SmallArray< Int32m_datatype_sizes
 Tableau contenant les tailles des types de donnée.
 

Membres hérités additionnels

- Fonctions membres protégées hérités de Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
 
Int32 _localVerboseLevel () const
 
- Fonctions membres protégées hérités de Arcane::DataSynchronizeBufferBase
void _allocateBuffers ()
 Calcul et alloue les tampons nécessaires aux envois et réceptions pour les synchronisations des variables 1D.
 
void _compute (ConstArrayView< Int32 > datatype_sizes)
 Calcule les informations pour la synchronisation.
 
- Attributs protégés hérités de Arcane::DataSynchronizeBufferBase
DataSynchronizeInfom_sync_info = nullptr
 
BufferInfo m_ghost_buffer_info
 Buffer pour toutes les données des entités fantômes qui serviront en réception.
 
BufferInfo m_share_buffer_info
 Buffer pour toutes les données des entités partagées qui serviront en envoi.
 
BufferInfo m_compare_sync_buffer_info
 Buffer pour tester si la synchronisation a modifié les valeurs des mailles fantômes.
 
Int32 m_nb_rank = 0
 
bool m_is_compare_sync_values = false
 
Ref< MemoryBufferm_memory
 Buffer contenant les données concaténées en envoi et réception.
 
Ref< IBufferCopierm_buffer_copier
 

Description détaillée

Implémentation de IDataSynchronizeBuffer pour plusieurs données.

Définition à la ligne 235 du fichier DataSynchronizeBuffer.h.

Documentation des constructeurs et destructeur

◆ MultiDataSynchronizeBuffer()

Arcane::MultiDataSynchronizeBuffer::MultiDataSynchronizeBuffer ( ITraceMng * tm,
DataSynchronizeInfo * sync_info,
Ref< IBufferCopier > copier )
inline

Définition à la ligne 242 du fichier DataSynchronizeBuffer.h.

Documentation des fonctions membres

◆ copyReceiveAsync()

void Arcane::MultiDataSynchronizeBuffer::copyReceiveAsync ( Int32 index)
finalvirtual

Recopie dans les données depuis le buffer de réception du index-ème rang.

Implémente Arcane::IDataSynchronizeBuffer.

Définition à la ligne 395 du fichier DataSynchronizeBuffer.cc.

Références Arcane::ConstMemoryView::bytes(), Arcane::ConstMemoryView::data(), Arcane::SpanImpl< T, SizeType, Extent, MinValue >::empty(), m_data_views, et Arcane::DataSynchronizeBufferBase::m_ghost_buffer_info.

+ Voici le graphe d'appel pour cette fonction :

◆ copySendAsync()

void Arcane::MultiDataSynchronizeBuffer::copySendAsync ( Int32 index)
finalvirtual

Recopie dans le buffer d'envoi les données du index-ème rang.

Cet appel est équivalent à :

for (Int32 i = 0; i < nb_rank; ++i)
void barrier() final
Attend que les copies (copySendAsync() et copyReceiveAsync()) soient terminées.
void copyReceiveAsync(Int32 rank_index) final
Recopie dans les données depuis le buffer de réception du index-ème rang.
std::int32_t Int32
Type entier signé sur 32 bits.

Implémente Arcane::IDataSynchronizeBuffer.

Définition à la ligne 415 du fichier DataSynchronizeBuffer.cc.

Références Arcane::MutableMemoryView::bytes(), Arcane::MutableMemoryView::data(), Arcane::SpanImpl< T, SizeType, Extent, MinValue >::empty(), m_data_views, Arcane::DataSynchronizeBufferBase::m_ghost_buffer_info, et Arcane::DataSynchronizeBufferBase::m_share_buffer_info.

+ Voici le graphe d'appel pour cette fonction :

◆ prepareSynchronize()

void Arcane::MultiDataSynchronizeBuffer::prepareSynchronize ( bool is_compare_sync)
overridevirtual

Les comparaisons ne sont pas supportées si on utilise les synchronisations multiples.

Implémente Arcane::DataSynchronizeBufferBase.

Définition à la ligne 386 du fichier DataSynchronizeBuffer.cc.

Références Arcane::DataSynchronizeBufferBase::_compute(), et m_datatype_sizes.

+ Voici le graphe d'appel pour cette fonction :

◆ setDataView()

void Arcane::MultiDataSynchronizeBuffer::setDataView ( Int32 index,
MutableMemoryView v )
inline

Définition à la ligne 260 du fichier DataSynchronizeBuffer.h.

◆ setNbData()

void Arcane::MultiDataSynchronizeBuffer::setNbData ( Int32 nb_data)
inline

Définition à la ligne 255 du fichier DataSynchronizeBuffer.h.

Documentation des données membres

◆ m_data_views

SmallArray<MutableMemoryView> Arcane::MultiDataSynchronizeBuffer::m_data_views
private

Vue sur les données de la variable.

Définition à la ligne 271 du fichier DataSynchronizeBuffer.h.

Référencé par copyReceiveAsync(), et copySendAsync().

◆ m_datatype_sizes

SmallArray<Int32> Arcane::MultiDataSynchronizeBuffer::m_datatype_sizes
private

Tableau contenant les tailles des types de donnée.

Définition à la ligne 273 du fichier DataSynchronizeBuffer.h.

Référencé par prepareSynchronize().


La documentation de cette classe a été générée à partir des fichiers suivants :