Arcane  v3.15.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::mesh::NonBlockingParticleExchanger

Echangeur de particules. Plus de détails...

#include <arcane/mesh/NonBlockingParticleExchanger.h>

+ Graphe d'héritage de Arcane::mesh::NonBlockingParticleExchanger:
+ Graphe de collaboration de Arcane::mesh::NonBlockingParticleExchanger:

Fonctions membres publiques

 NonBlockingParticleExchanger (const ServiceBuildInfo &sbi)
 
void build () override
 Construction de niveau build du service.
 
void initialize (IItemFamily *item_family) override
 Initialize l'échangeur pour la familly item_family.
 
void beginNewExchange (Integer nb_particule) override
 Commence un nouvel échange de particules.
 
IItemFamilyitemFamily () override
 Famille associée.
 
bool exchangeItems (Integer nb_particle_finish_exchange, Int32ConstArrayView local_ids, Int32ConstArrayView sub_domains_to_send, ItemGroup item_group, IFunctor *functor) override
 Échange des particules entre sous-domaines.
 
bool exchangeItems (Integer nb_particle_finish_exchange, Int32ConstArrayView local_ids, Int32ConstArrayView sub_domains_to_send, Int32Array *new_particle_local_ids, IFunctor *functor) override
 Échange des particules entre sous-domaines.
 
void sendItems (Integer nb_particle_finish_exchange, Int32ConstArrayView local_ids, Int32ConstArrayView sub_domains_to_send) override
 
bool waitMessages (Integer nb_pending_particle, Int32Array *new_particle_local_ids, IFunctor *functor) override
 
void addNewParticles (Integer nb_particle) override
 Ajoute nb_particle dans l'échange actuel.
 
void setVerboseLevel (Integer level) override
 Positionne le niveau de verbosité (0 pour aucune message)
 
Integer verboseLevel () const override
 Niveau de verbosité
 
IAsyncParticleExchangerasyncParticleExchanger () override
 Gestion de l'asynchronisme (retourne nullptr si fonctionnalité non disponible)
 
void reset ()
 
- Fonctions membres publiques hérités de Arcane::BasicService
 ~BasicService () override
 Libère les ressources.
 
virtual ISubDomainsubDomain ()
 
- Fonctions membres publiques hérités de Arcane::AbstractService
virtual ~AbstractService ()
 Destructeur.
 
virtual IServiceInfoserviceInfo () const
 Accès aux informations du service.
 
virtual IBaseserviceParent () const
 Accès à l'interface de base des principaux objets Arcane.
 
virtual IServiceserviceInterface ()
 Retourne l'interface bas niveau IService du service.
 
- 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.
 
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::IService
virtual ~IService ()
 Libère les ressources.
 
- Fonctions membres publiques hérités de Arcane::MeshAccessor
 MeshAccessor (ISubDomain *sd)
 
 MeshAccessor (IMesh *mesh)
 
 MeshAccessor (const MeshHandle &mesh_handle)
 
Integer nbCell () const
 Retourne le nombre de mailles du maillage.
 
Integer nbFace () const
 Retourne le nombre de faces du maillage.
 
Integer nbEdge () const
 Retourne le nombre d'arêtes du maillage.
 
Integer nbNode () const
 Retourne le nombre de noeuds du maillage.
 
VariableNodeReal3nodesCoordinates () const
 Retourne les coordonnées des noeuds du maillage.
 
NodeGroup allNodes () const
 Retourne le groupe contenant tous les noeuds.
 
EdgeGroup allEdges () const
 Retourne le groupe contenant toutes les arêtes.
 
FaceGroup allFaces () const
 Retourne le groupe contenant toutes les faces.
 
CellGroup allCells () const
 Retourne le groupe contenant toutes les mailles.
 
FaceGroup outerFaces () const
 Retourne le groupe contenant toutes les faces de le frontière.
 
NodeGroup ownNodes () const
 Retourne le groupe contenant tous les noeuds propres à ce domaine.
 
CellGroup ownCells () const
 Retourne le groupe contenant toutes les mailles propres à ce domaine.
 
FaceGroup ownFaces () const
 Groupe contenant toutes les faces propres à ce domaine.
 
EdgeGroup ownEdges () const
 Groupe contenant toutes les arêtes propres à ce domaine.
 
IMeshmesh () const
 
const MeshHandlemeshHandle () const
 
- Fonctions membres publiques hérités de Arcane::CommonVariables
 CommonVariables (IModule *c)
 Construit les références des variables communes pour le module c.
 
 CommonVariables (IVariableMng *variable_mng)
 Construit les références des variables communes pour le gestionnaire variable_mng.
 
 CommonVariables (ISubDomain *sd)
 Construit les références des variables communes pour le sous-domaine sd.
 
virtual ~CommonVariables ()
 Libère les ressources.
 
Int32 globalIteration () const
 Numéro de l'itération courante.
 
Real globalTime () const
 Temps courant.
 
Real globalOldTime () const
 Temps courant précédent.
 
Real globalFinalTime () const
 Temps final de la simulation.
 
Real globalDeltaT () const
 Delta T courant.
 
Real globalCPUTime () const
 Temps CPU utilisé (en seconde)
 
Real globalOldCPUTime () const
 Temps CPU utilisé précédent (en seconde)
 
Real globalElapsedTime () const
 Temps horloge (elapsed) utilisé (en seconde)
 
Real globalOldElapsedTime () const
 Temps horloge (elapsed) utilisé précédent (en seconde)
 

Fonctions membres privées

void _clearMessages ()
 
void _serializeMessage (ISerializeMessage *msg, Int32ConstArrayView acc_ids, Int64Array &items_to_send_uid, Int64Array &items_to_send_cells_uid)
 
void _deserializeMessage (ISerializeMessage *msg, Int64Array &items_to_create_id, Int64Array &items_to_create_cell_id, ItemGroup item_group, Int32Array *new_particle_local_ids)
 
void _processFinishTrackingMessage ()
 
void _addFinishExchangeParticle (Int64 nb_particle_finish_exchange)
 
void _sendFinishExchangeParticle ()
 
void _addItemsToSend (Int32ConstArrayView local_ids, Int32ConstArrayView sub_domains_to_send, Int32ConstArrayView communicating_sub_domains, UniqueArray< SharedArray< Int32 > > &ids_to_send)
 
void _sendPendingMessages ()
 
void _checkNeedReceiveMessage ()
 
bool _exchangeItems (Int32ConstArrayView local_ids, Int32ConstArrayView sub_domains_to_send, ItemGroup item_group, Int32Array *new_particle_local_ids, IFunctor *functor)
 
void _checkSendItems (Int32ConstArrayView local_ids, Int32ConstArrayView sub_domains_to_send)
 
void _generateSendItemsMessages (Int32ConstArrayView local_ids, Int32ConstArrayView sub_domains_to_send)
 
void _checkInitialized ()
 
void _processMessages (ItemGroup item_group, Int32Array *new_particle_local_ids, bool wait_all, IFunctor *functor)
 
bool _waitMessages (Integer nb_pending_particle, ItemGroup group, Int32Array *new_particle_local_ids, IFunctor *functor)
 

Attributs privés

IItemFamilym_item_family
 
IParallelMngm_parallel_mng
 
UniqueArray< SerializeMessage * > m_accumulate_infos
 
Int32 m_rank
 
Timerm_timer
 Timer.
 
Real m_total_time_functor
 
Real m_total_time_waiting
 
VariableList m_variables_to_exchange
 Liste des variables à échanger.
 
UniqueArray< ISerializeMessage * > m_pending_messages
 Liste des message en attente d'envoie.
 
UniqueArray< ISerializeMessage * > m_waiting_messages
 Liste des message envoyés mais en cours de traitement.
 
Ref< ISerializeMessageListm_message_list
 
Int64 m_nb_total_particle_finish_exchange
 
Int64 m_nb_total_particle
 
Integer m_nb_original_blocking_size
 
Integer m_nb_blocking_size
 Nombre de particules restantes avant de passer en mode bloquant.
 
bool m_exchange_finished
 
Int32 m_master_proc
 
bool m_need_general_receive
 
bool m_end_message_sended
 
bool m_can_process_messages
 
bool m_can_process_non_blocking
 
bool m_want_process_non_blocking
 
bool m_want_fast_send_particles
 
Integer m_nb_receive_message
 
Int64 m_nb_particle_finished_exchange
 
Int32UniqueArray m_waiting_local_ids
 
Int32UniqueArray m_waiting_sub_domains_to_send
 
Integer m_verbose_level
 
bool m_is_debug
 

Attributs privés statiques

static const Integer MESSAGE_EXCHANGE = 1
 
static const Integer MESSAGE_NB_FINISH_EXCHANGE = 2
 
static const Integer MESSAGE_FINISH_EXCHANGE_STATUS = 3
 
static const Integer MESSAGE_CHANGE_BLOCKING = 4
 

Membres hérités additionnels

- Attributs publics hérités de Arcane::CommonVariables
VariableScalarInt32 m_global_iteration
 Itération courante.
 
VariableScalarReal m_global_time
 Temps actuel.
 
VariableScalarReal m_global_deltat
 Delta T global.
 
VariableScalarReal m_global_old_time
 Temps précédent le temps actuel.
 
VariableScalarReal m_global_old_deltat
 Delta T au temps précédent le temps global.
 
VariableScalarReal m_global_final_time
 Temps final du cas.
 
VariableScalarReal m_global_old_cpu_time
 Temps précédent CPU utilisé (en seconde)
 
VariableScalarReal m_global_cpu_time
 Temps CPU utilisé (en seconde)
 
VariableScalarReal m_global_old_elapsed_time
 Temps précédent horloge utilisé (en seconde)
 
VariableScalarReal m_global_elapsed_time
 Temps horloge utilisé (en seconde)
 
- Fonctions membres protégées hérités de Arcane::BasicService
 BasicService (const ServiceBuildInfo &)
 
- Fonctions membres protégées hérités de Arcane::AbstractService
 AbstractService (const ServiceBuildInfo &)
 Constructeur à partir d'un ServiceBuildInfo.
 
- 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::IService
 IService ()
 Constructeur.
 

Description détaillée

Echangeur de particules.

Définition à la ligne 46 du fichier NonBlockingParticleExchanger.h.

Documentation des constructeurs et destructeur

◆ NonBlockingParticleExchanger()

Arcane::mesh::NonBlockingParticleExchanger::NonBlockingParticleExchanger ( const ServiceBuildInfo sbi)
explicit

Définition à la ligne 47 du fichier NonBlockingParticleExchanger.cc.

◆ ~NonBlockingParticleExchanger()

Arcane::mesh::NonBlockingParticleExchanger::~NonBlockingParticleExchanger ( )
override

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

Documentation des fonctions membres

◆ _addFinishExchangeParticle()

void Arcane::mesh::NonBlockingParticleExchanger::_addFinishExchangeParticle ( Int64  nb_particle_finish_exchange)
private

Définition à la ligne 796 du fichier NonBlockingParticleExchanger.cc.

◆ _addItemsToSend()

void Arcane::mesh::NonBlockingParticleExchanger::_addItemsToSend ( Int32ConstArrayView  local_ids,
Int32ConstArrayView  sub_domains_to_send,
Int32ConstArrayView  communicating_sub_domains,
UniqueArray< SharedArray< Int32 > > &  ids_to_send 
)
private

Définition à la ligne 378 du fichier NonBlockingParticleExchanger.cc.

◆ _checkInitialized()

void Arcane::mesh::NonBlockingParticleExchanger::_checkInitialized ( )
private

Définition à la ligne 848 du fichier NonBlockingParticleExchanger.cc.

◆ _checkNeedReceiveMessage()

void Arcane::mesh::NonBlockingParticleExchanger::_checkNeedReceiveMessage ( )
private

Définition à la ligne 295 du fichier NonBlockingParticleExchanger.cc.

◆ _checkSendItems()

void Arcane::mesh::NonBlockingParticleExchanger::_checkSendItems ( Int32ConstArrayView  local_ids,
Int32ConstArrayView  sub_domains_to_send 
)
private

Définition à la ligne 213 du fichier NonBlockingParticleExchanger.cc.

◆ _clearMessages()

void Arcane::mesh::NonBlockingParticleExchanger::_clearMessages ( )
private

Définition à la ligne 114 du fichier NonBlockingParticleExchanger.cc.

◆ _deserializeMessage()

void Arcane::mesh::NonBlockingParticleExchanger::_deserializeMessage ( ISerializeMessage msg,
Int64Array items_to_create_id,
Int64Array items_to_create_cell_id,
ItemGroup  item_group,
Int32Array new_particle_local_ids 
)
private

Définition à la ligne 586 du fichier NonBlockingParticleExchanger.cc.

◆ _exchangeItems()

bool Arcane::mesh::NonBlockingParticleExchanger::_exchangeItems ( Int32ConstArrayView  local_ids,
Int32ConstArrayView  sub_domains_to_send,
ItemGroup  item_group,
Int32Array new_particle_local_ids,
IFunctor functor 
)
private

Définition à la ligne 237 du fichier NonBlockingParticleExchanger.cc.

◆ _generateSendItemsMessages()

void Arcane::mesh::NonBlockingParticleExchanger::_generateSendItemsMessages ( Int32ConstArrayView  local_ids,
Int32ConstArrayView  sub_domains_to_send 
)
private

Définition à la ligne 308 du fichier NonBlockingParticleExchanger.cc.

◆ _processFinishTrackingMessage()

void Arcane::mesh::NonBlockingParticleExchanger::_processFinishTrackingMessage ( )
private

Définition à la ligne 732 du fichier NonBlockingParticleExchanger.cc.

◆ _processMessages()

void Arcane::mesh::NonBlockingParticleExchanger::_processMessages ( ItemGroup  item_group,
Int32Array new_particle_local_ids,
bool  wait_all,
IFunctor functor 
)
private

Définition à la ligne 418 du fichier NonBlockingParticleExchanger.cc.

◆ _sendFinishExchangeParticle()

void Arcane::mesh::NonBlockingParticleExchanger::_sendFinishExchangeParticle ( )
private

Définition à la ligne 769 du fichier NonBlockingParticleExchanger.cc.

◆ _sendPendingMessages()

void Arcane::mesh::NonBlockingParticleExchanger::_sendPendingMessages ( )
private

Définition à la ligne 481 du fichier NonBlockingParticleExchanger.cc.

◆ _serializeMessage()

void Arcane::mesh::NonBlockingParticleExchanger::_serializeMessage ( ISerializeMessage msg,
Int32ConstArrayView  acc_ids,
Int64Array items_to_send_uid,
Int64Array items_to_send_cells_uid 
)
private

Définition à la ligne 509 du fichier NonBlockingParticleExchanger.cc.

◆ _waitMessages()

bool Arcane::mesh::NonBlockingParticleExchanger::_waitMessages ( Integer  nb_pending_particle,
ItemGroup  group,
Int32Array new_particle_local_ids,
IFunctor functor 
)
private

Définition à la ligne 264 du fichier NonBlockingParticleExchanger.cc.

◆ addNewParticles()

void Arcane::mesh::NonBlockingParticleExchanger::addNewParticles ( Integer  nb_particle)
inlineoverridevirtual

Ajoute nb_particle dans l'échange actuel.

Cette méthode permet d'indiquer que de nouvelles particules vont participer à l'échanger, par exemple suite à leur création.

Implémente Arcane::IParticleExchanger.

Définition à la ligne 84 du fichier NonBlockingParticleExchanger.h.

◆ asyncParticleExchanger()

IAsyncParticleExchanger * Arcane::mesh::NonBlockingParticleExchanger::asyncParticleExchanger ( )
inlineoverridevirtual

Gestion de l'asynchronisme (retourne nullptr si fonctionnalité non disponible)

Implémente Arcane::IParticleExchanger.

Définition à la ligne 91 du fichier NonBlockingParticleExchanger.h.

◆ beginNewExchange()

void Arcane::mesh::NonBlockingParticleExchanger::beginNewExchange ( Integer  nb_particle)
overridevirtual

Commence un nouvel échange de particules.

nb_particule est le nombre de particules du sous-domaine qui vont prendre part à un éventuel échange.

Cette méthode est collective et doit être appelée par tout les sous-domaines.

Implémente Arcane::IParticleExchanger.

Définition à la ligne 127 du fichier NonBlockingParticleExchanger.cc.

Références Arcane::IParallelMng::reduce().

◆ build()

void Arcane::mesh::NonBlockingParticleExchanger::build ( void  )
inlineoverridevirtual

Construction de niveau build du service.

L'appel à build est effectué au moment de sa construction, usuellement au niveau de sa lecture dans les options en phase1.

Réimplémentée à partir de Arcane::AbstractService.

Définition à la ligne 62 du fichier NonBlockingParticleExchanger.h.

◆ exchangeItems() [1/2]

bool Arcane::mesh::NonBlockingParticleExchanger::exchangeItems ( Integer  nb_particle_finish_exchange,
Int32ConstArrayView  local_ids,
Int32ConstArrayView  ranks_to_send,
Int32Array new_particle_local_ids,
IFunctor wait_functor 
)
overridevirtual

Échange des particules entre sous-domaines.

Cette opération envoie les particules de la famille item_family dont les indices locaux sont donnés par la liste local_ids aux sous-domaines specifiés par sub_domains_to_send, et réceptionne de ces mêmes sous-domaines celles dont ce sous-domaine est propriétaire. Les particules envoyées sont supprimées de la famille item_family et celles recues ajoutées.

Les variables reposant sur la famille item_family sont transférées en même temps que les particules.

Cette opération est collective et bloquante.

Si new_particle_local_ids n'est pas nul, il contiendra en retour le tableau des indices locaux des nouvelles entitées.

Si wait_functor n'est pas nul, le fonctor est appelé pendant l'envoie et la réception des messages. Il est alors possible de faire des opérations. Les opérations ne doivent pas utiliser de particules, ni des variables sur les particules de la famille échangée.

Valeurs retournées

a true si toutes les phases d'échange sont terminés

Valeurs retournées

a false sinon

A faire:
améliorer la doc

Implémente Arcane::IParticleExchanger.

Définition à la ligne 176 du fichier NonBlockingParticleExchanger.cc.

◆ exchangeItems() [2/2]

bool Arcane::mesh::NonBlockingParticleExchanger::exchangeItems ( Integer  nb_particle_finish_exchange,
Int32ConstArrayView  local_ids,
Int32ConstArrayView  sub_domains_to_send,
ItemGroup  item_group,
IFunctor wait_functor 
)
overridevirtual

Échange des particules entre sous-domaines.

Cette opération envoie les particules de la famille item_family dont les indices locaux sont donnés par la liste local_ids aux sous-domaines specifiés par sub_domains_to_send, et réceptionne de ces mêmes sous-domaines celles dont ce sous-domaine est propriétaire. Les particules envoyées sont supprimées de la famille item_family et celles recues ajoutées.

Les variables reposant sur la famille item_family sont transférées en même temps que les particules.

Cette opération est collective et bloquante.

Si item_group n'est pas nul, il contiendra en retour la liste des nouvelles entités.

Si wait_functor n'est pas nul, le fonctor est appelé pendant l'envoie et la réception des messages. Il est alors possible de faire des opérations. Les opérations ne doivent pas utiliser de particules, ni des variables sur les particules de la famille échangée.

Valeurs retournées

a true si toutes les phases d'échange sont terminés

Valeurs retournées

a false sinon

A faire:
améliorer la doc

Implémente Arcane::IParticleExchanger.

Définition à la ligne 162 du fichier NonBlockingParticleExchanger.cc.

◆ initialize()

void Arcane::mesh::NonBlockingParticleExchanger::initialize ( IItemFamily item_family)
overridevirtual

Initialize l'échangeur pour la familly item_family.

Implémente Arcane::IParticleExchanger.

Définition à la ligne 105 du fichier NonBlockingParticleExchanger.cc.

◆ itemFamily()

IItemFamily * Arcane::mesh::NonBlockingParticleExchanger::itemFamily ( )
inlineoverridevirtual

Famille associée.

Implémente Arcane::IParticleExchanger.

Définition à la ligne 68 du fichier NonBlockingParticleExchanger.h.

◆ reset()

void Arcane::mesh::NonBlockingParticleExchanger::reset ( )

Définition à la ligne 721 du fichier NonBlockingParticleExchanger.cc.

◆ sendItems()

void Arcane::mesh::NonBlockingParticleExchanger::sendItems ( Integer  nb_particle_finish_exchange,
Int32ConstArrayView  local_ids,
Int32ConstArrayView  sub_domains_to_send 
)
overridevirtual

Implémente Arcane::IParticleExchanger.

Définition à la ligne 191 du fichier NonBlockingParticleExchanger.cc.

◆ setVerboseLevel()

void Arcane::mesh::NonBlockingParticleExchanger::setVerboseLevel ( Integer  level)
inlineoverridevirtual

Positionne le niveau de verbosité (0 pour aucune message)

Implémente Arcane::IParticleExchanger.

Définition à la ligne 89 du fichier NonBlockingParticleExchanger.h.

◆ verboseLevel()

Integer Arcane::mesh::NonBlockingParticleExchanger::verboseLevel ( ) const
inlineoverridevirtual

Niveau de verbosité

Implémente Arcane::IParticleExchanger.

Définition à la ligne 90 du fichier NonBlockingParticleExchanger.h.

◆ waitMessages()

bool Arcane::mesh::NonBlockingParticleExchanger::waitMessages ( Integer  nb_pending_particle,
Int32Array new_particle_local_ids,
IFunctor functor 
)
overridevirtual

Implémente Arcane::IParticleExchanger.

Définition à la ligne 204 du fichier NonBlockingParticleExchanger.cc.

Documentation des données membres

◆ m_accumulate_infos

UniqueArray<SerializeMessage*> Arcane::mesh::NonBlockingParticleExchanger::m_accumulate_infos
private

Définition à la ligne 99 du fichier NonBlockingParticleExchanger.h.

◆ m_can_process_messages

bool Arcane::mesh::NonBlockingParticleExchanger::m_can_process_messages
private

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

◆ m_can_process_non_blocking

bool Arcane::mesh::NonBlockingParticleExchanger::m_can_process_non_blocking
private

Définition à la ligne 131 du fichier NonBlockingParticleExchanger.h.

◆ m_end_message_sended

bool Arcane::mesh::NonBlockingParticleExchanger::m_end_message_sended
private

Définition à la ligne 129 du fichier NonBlockingParticleExchanger.h.

◆ m_exchange_finished

bool Arcane::mesh::NonBlockingParticleExchanger::m_exchange_finished
private

Définition à la ligne 126 du fichier NonBlockingParticleExchanger.h.

◆ m_is_debug

bool Arcane::mesh::NonBlockingParticleExchanger::m_is_debug
private

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

◆ m_item_family

IItemFamily* Arcane::mesh::NonBlockingParticleExchanger::m_item_family
private

Définition à la ligne 97 du fichier NonBlockingParticleExchanger.h.

◆ m_master_proc

Int32 Arcane::mesh::NonBlockingParticleExchanger::m_master_proc
private

Définition à la ligne 127 du fichier NonBlockingParticleExchanger.h.

◆ m_message_list

Ref<ISerializeMessageList> Arcane::mesh::NonBlockingParticleExchanger::m_message_list
private

Définition à la ligne 117 du fichier NonBlockingParticleExchanger.h.

◆ m_nb_blocking_size

Integer Arcane::mesh::NonBlockingParticleExchanger::m_nb_blocking_size
private

Nombre de particules restantes avant de passer en mode bloquant.

Définition à la ligne 124 du fichier NonBlockingParticleExchanger.h.

◆ m_nb_original_blocking_size

Integer Arcane::mesh::NonBlockingParticleExchanger::m_nb_original_blocking_size
private

Définition à la ligne 122 du fichier NonBlockingParticleExchanger.h.

◆ m_nb_particle_finished_exchange

Int64 Arcane::mesh::NonBlockingParticleExchanger::m_nb_particle_finished_exchange
private

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

◆ m_nb_receive_message

Integer Arcane::mesh::NonBlockingParticleExchanger::m_nb_receive_message
private

Définition à la ligne 136 du fichier NonBlockingParticleExchanger.h.

◆ m_nb_total_particle

Int64 Arcane::mesh::NonBlockingParticleExchanger::m_nb_total_particle
private

Définition à la ligne 120 du fichier NonBlockingParticleExchanger.h.

◆ m_nb_total_particle_finish_exchange

Int64 Arcane::mesh::NonBlockingParticleExchanger::m_nb_total_particle_finish_exchange
private

Définition à la ligne 119 du fichier NonBlockingParticleExchanger.h.

◆ m_need_general_receive

bool Arcane::mesh::NonBlockingParticleExchanger::m_need_general_receive
private

Définition à la ligne 128 du fichier NonBlockingParticleExchanger.h.

◆ m_parallel_mng

IParallelMng* Arcane::mesh::NonBlockingParticleExchanger::m_parallel_mng
private

Définition à la ligne 98 du fichier NonBlockingParticleExchanger.h.

◆ m_pending_messages

UniqueArray<ISerializeMessage*> Arcane::mesh::NonBlockingParticleExchanger::m_pending_messages
private

Liste des message en attente d'envoie.

Définition à la ligne 112 du fichier NonBlockingParticleExchanger.h.

◆ m_rank

Int32 Arcane::mesh::NonBlockingParticleExchanger::m_rank
private

Définition à la ligne 101 du fichier NonBlockingParticleExchanger.h.

◆ m_timer

Timer* Arcane::mesh::NonBlockingParticleExchanger::m_timer
private

Timer.

Définition à la ligne 104 du fichier NonBlockingParticleExchanger.h.

◆ m_total_time_functor

Real Arcane::mesh::NonBlockingParticleExchanger::m_total_time_functor
private

Définition à la ligne 105 du fichier NonBlockingParticleExchanger.h.

◆ m_total_time_waiting

Real Arcane::mesh::NonBlockingParticleExchanger::m_total_time_waiting
private

Définition à la ligne 106 du fichier NonBlockingParticleExchanger.h.

◆ m_variables_to_exchange

VariableList Arcane::mesh::NonBlockingParticleExchanger::m_variables_to_exchange
private

Liste des variables à échanger.

Définition à la ligne 109 du fichier NonBlockingParticleExchanger.h.

◆ m_verbose_level

Integer Arcane::mesh::NonBlockingParticleExchanger::m_verbose_level
private

Définition à la ligne 142 du fichier NonBlockingParticleExchanger.h.

◆ m_waiting_local_ids

Int32UniqueArray Arcane::mesh::NonBlockingParticleExchanger::m_waiting_local_ids
private

Définition à la ligne 140 du fichier NonBlockingParticleExchanger.h.

◆ m_waiting_messages

UniqueArray<ISerializeMessage*> Arcane::mesh::NonBlockingParticleExchanger::m_waiting_messages
private

Liste des message envoyés mais en cours de traitement.

Définition à la ligne 115 du fichier NonBlockingParticleExchanger.h.

◆ m_waiting_sub_domains_to_send

Int32UniqueArray Arcane::mesh::NonBlockingParticleExchanger::m_waiting_sub_domains_to_send
private

Définition à la ligne 141 du fichier NonBlockingParticleExchanger.h.

◆ m_want_fast_send_particles

bool Arcane::mesh::NonBlockingParticleExchanger::m_want_fast_send_particles
private

Définition à la ligne 134 du fichier NonBlockingParticleExchanger.h.

◆ m_want_process_non_blocking

bool Arcane::mesh::NonBlockingParticleExchanger::m_want_process_non_blocking
private

Définition à la ligne 133 du fichier NonBlockingParticleExchanger.h.

◆ MESSAGE_CHANGE_BLOCKING

const Integer Arcane::mesh::NonBlockingParticleExchanger::MESSAGE_CHANGE_BLOCKING = 4
staticprivate

Définition à la ligne 54 du fichier NonBlockingParticleExchanger.h.

◆ MESSAGE_EXCHANGE

const Integer Arcane::mesh::NonBlockingParticleExchanger::MESSAGE_EXCHANGE = 1
staticprivate

Définition à la ligne 51 du fichier NonBlockingParticleExchanger.h.

◆ MESSAGE_FINISH_EXCHANGE_STATUS

const Integer Arcane::mesh::NonBlockingParticleExchanger::MESSAGE_FINISH_EXCHANGE_STATUS = 3
staticprivate

Définition à la ligne 53 du fichier NonBlockingParticleExchanger.h.

◆ MESSAGE_NB_FINISH_EXCHANGE

const Integer Arcane::mesh::NonBlockingParticleExchanger::MESSAGE_NB_FINISH_EXCHANGE = 2
staticprivate

Définition à la ligne 52 du fichier NonBlockingParticleExchanger.h.


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