Implémentation de IDataSynchronizeBuffer pour plusieurs données. Plus de détails...
#include <arcane/impl/internal/DataSynchronizeBuffer.h>
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 |
![]() | |
TraceAccessor (ITraceMng *m) | |
Construit un accesseur via le gestionnaire de trace m. | |
TraceAccessor (const TraceAccessor &rhs) | |
Constructeur par recopie. | |
TraceAccessor & | operator= (const TraceAccessor &rhs) |
Opérateur de recopie. | |
virtual | ~TraceAccessor () |
Libère les ressources. | |
ITraceMng * | traceMng () 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 |
![]() | |
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) |
![]() | |
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< MutableMemoryView > | m_data_views |
Vue sur les données de la variable. | |
SmallArray< Int32 > | m_datatype_sizes |
Tableau contenant les tailles des types de donnée. | |
Membres hérités additionnels | |
![]() | |
void | _setLocalVerboseLevel (Int32 v) |
Int32 | _localVerboseLevel () const |
![]() | |
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. | |
![]() | |
DataSynchronizeInfo * | m_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< MemoryBuffer > | m_memory |
Buffer contenant les données concaténées en envoi et réception. | |
Ref< IBufferCopier > | m_buffer_copier |
Implémentation de IDataSynchronizeBuffer pour plusieurs données.
Définition à la ligne 235 du fichier DataSynchronizeBuffer.h.
|
inline |
Définition à la ligne 242 du fichier DataSynchronizeBuffer.h.
|
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.
|
finalvirtual |
Recopie dans le buffer d'envoi les données du index-ème rang.
Cet appel est équivalent à :
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.
|
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.
|
inline |
Définition à la ligne 260 du fichier DataSynchronizeBuffer.h.
|
inline |
Définition à la ligne 255 du fichier DataSynchronizeBuffer.h.
|
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().
|
private |
Tableau contenant les tailles des types de donnée.
Définition à la ligne 273 du fichier DataSynchronizeBuffer.h.
Référencé par prepareSynchronize().