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 index) final |
Recopie dans les données depuis le buffer de réception du index-ème rang. | |
void | copySendAsync (Int32 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 (Int32 datatype_size, bool is_compare_sync) override |
Prépare la synchronisation. | |
Fonctions membres publiques hérités de Arccore::TraceAccessor | |
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 |
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< MutableMemoryView > | m_data_views |
Vue sur les données de la variable. | |
Membres hérités additionnels | |
Fonctions membres protégées hérités de Arccore::TraceAccessor | |
void | _setLocalVerboseLevel (Int32 v) |
Int32 | _localVerboseLevel () const |
Fonctions membres protégées hérités de Arcane::DataSynchronizeBufferBase | |
void | _allocateBuffers (Int32 datatype_size) |
Calcul et alloue les tampons nécessaires aux envois et réceptions pour les synchronisations des variables 1D. | |
void | _compute (Int32 datatype_size) |
Calcule les informations pour la synchronisation. | |
Attributs protégés hérités de Arcane::DataSynchronizeBufferBase | |
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 193 du fichier DataSynchronizeBuffer.h.
|
inline |
Définition à la ligne 200 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 284 du fichier DataSynchronizeBuffer.cc.
Références Arcane::DataSynchronizeBufferBase::BufferInfo::localBuffer(), Arcane::DataSynchronizeBufferBase::BufferInfo::localIds(), Arcane::DataSynchronizeBufferBase::m_ghost_buffer_info, et Arccore::ConstArrayView< T >::size().
|
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 308 du fichier DataSynchronizeBuffer.cc.
Références Arcane::DataSynchronizeBufferBase::BufferInfo::localBuffer(), Arcane::DataSynchronizeBufferBase::BufferInfo::localIds(), Arcane::DataSynchronizeBufferBase::m_ghost_buffer_info, Arcane::DataSynchronizeBufferBase::m_share_buffer_info, et Arccore::ConstArrayView< T >::size().
|
overridevirtual |
Prépare la synchronisation.
Prépare la synchronisation et alloue les buffers si nécessaire. datatype_size est la taille (en octet) du type de la donnée. Si is_compare_sync est vrai, on compare après la synchronisation les valeurs des entités fantômes avec leur valeur d'avant la synchronisation.
Il faut avoir appeler setSynchronizeBuffer() au moins une fois avant d'appeler cette méthode pour positionner la zone mémoire allouée.
Implémente Arcane::DataSynchronizeBufferBase.
Définition à la ligne 275 du fichier DataSynchronizeBuffer.cc.
Références Arcane::DataSynchronizeBufferBase::_compute().
|
inline |
Définition à la ligne 217 du fichier DataSynchronizeBuffer.h.
|
inline |
Définition à la ligne 213 du fichier DataSynchronizeBuffer.h.
|
private |
Vue sur les données de la variable.
Définition à la ligne 224 du fichier DataSynchronizeBuffer.h.