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

Implémentation optimisée pour MPI de la synchronisation. Plus de détails...

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

Classes

class  Factory
 

Fonctions membres publiques

 MpiVariableSynchronizeDispatcher (Factory *f)
 
- Fonctions membres publiques hérités de Arcane::AbstractDataSynchronizeImplementation
void setDataSynchronizeInfo (DataSynchronizeInfo *sync_info) final
 

Fonctions membres protégées

void compute () override
 
void beginSynchronize (IDataSynchronizeBuffer *ds_buf) override
 
void endSynchronize (IDataSynchronizeBuffer *ds_buf) override
 
- Fonctions membres protégées hérités de Arcane::AbstractDataSynchronizeImplementation
DataSynchronizeInfo_syncInfo () const
 

Attributs privés

MpiParallelMngm_mpi_parallel_mng
 
UniqueArray< Parallel::Requestm_original_recv_requests
 
UniqueArray< boolm_original_recv_requests_done
 
Ref< Parallel::IRequestListm_receive_request_list
 
Ref< Parallel::IRequestListm_send_request_list
 

Description détaillée

Implémentation optimisée pour MPI de la synchronisation.

Par rapport à la version de base, cette implémentation fait un MPI_Waitsome (au lieu d'un Waitall) et recopie dans le buffer de destination dès qu'un message arrive.

NOTE: cette optimisation respecte la norme MPI qui dit qu'on ne doit plus toucher à la zone mémoire d'un message tant que celui-ci n'est pas fini.

Définition à la ligne 66 du fichier MpiVariableSynchronizeDispatcher.cc.

Documentation des constructeurs et destructeur

◆ MpiVariableSynchronizeDispatcher()

Arcane::MpiVariableSynchronizeDispatcher::MpiVariableSynchronizeDispatcher ( Factory f)
explicit

Définition à la ligne 125 du fichier MpiVariableSynchronizeDispatcher.cc.

Documentation des fonctions membres

◆ beginSynchronize()

void Arcane::MpiVariableSynchronizeDispatcher::beginSynchronize ( IDataSynchronizeBuffer ds_buf)
overrideprotectedvirtual

Implémente Arcane::IDataSynchronizeImplementation.

Définition à la ligne 136 du fichier MpiVariableSynchronizeDispatcher.cc.

◆ compute()

void Arcane::MpiVariableSynchronizeDispatcher::compute ( )
inlineoverrideprotectedvirtual

Implémente Arcane::IDataSynchronizeImplementation.

Définition à la ligne 76 du fichier MpiVariableSynchronizeDispatcher.cc.

◆ endSynchronize()

void Arcane::MpiVariableSynchronizeDispatcher::endSynchronize ( IDataSynchronizeBuffer ds_buf)
overrideprotectedvirtual

Implémente Arcane::IDataSynchronizeImplementation.

Définition à la ligne 196 du fichier MpiVariableSynchronizeDispatcher.cc.

Documentation des données membres

◆ m_mpi_parallel_mng

MpiParallelMng* Arcane::MpiVariableSynchronizeDispatcher::m_mpi_parallel_mng
private

Définition à la ligne 82 du fichier MpiVariableSynchronizeDispatcher.cc.

◆ m_original_recv_requests

UniqueArray<Parallel::Request> Arcane::MpiVariableSynchronizeDispatcher::m_original_recv_requests
private

Définition à la ligne 83 du fichier MpiVariableSynchronizeDispatcher.cc.

◆ m_original_recv_requests_done

UniqueArray<bool> Arcane::MpiVariableSynchronizeDispatcher::m_original_recv_requests_done
private

Définition à la ligne 84 du fichier MpiVariableSynchronizeDispatcher.cc.

◆ m_receive_request_list

Ref<Parallel::IRequestList> Arcane::MpiVariableSynchronizeDispatcher::m_receive_request_list
private

Définition à la ligne 85 du fichier MpiVariableSynchronizeDispatcher.cc.

◆ m_send_request_list

Ref<Parallel::IRequestList> Arcane::MpiVariableSynchronizeDispatcher::m_send_request_list
private

Définition à la ligne 86 du fichier MpiVariableSynchronizeDispatcher.cc.


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