Schema_Comm#
#include <Schema_Comm.h>
How to cite this class in this doc#
:ref:`Schema\_Comm <class-schema-comm>`
[Schema\_Comm](#class-schema-comm)
Detailed description#
Inherited by#
public : Schema_Comm_statique
List of Public Methods#
List of Protected Methods#
List of Protected Static Methods#
Complete Member Function Documentation#
void Schema_Comm::begin_comm() const
Reserve les buffers de comm pour une nouvelle communication.
Le schema passe de RESET a WRITING, on a maintenant le droit d’appeler send_buffer() . Interdiction d’appeler a nouveau begin_comm sur tous les objets de comm avant d’avoir fini cette communication avec end_comm() .
References
Referenced By
How to cite in this doc:
:ref:`void Schema_Comm::begin_comm() const <public-void-schema-comm-begin-comm-const>`
[void Schema_Comm::begin_comm() const](#public-void-schema-comm-begin-comm-const)
void Schema_Comm::echange_messages(const ArrOfInt &recv_size) const
Cette methode lance l’echange de donnees.
On fournit la taille en octets des messages recus dans recv_size (tableau de la meme taille que recv_pe_list) En mode check_enabled, on verifie que la taille est correcte
References
Referenced By
How to cite in this doc:
:ref:`void Schema_Comm::echange_messages(const ArrOfInt &recv_size) const <public-void-schema-comm-echange-messages-const-arrofint-ref-recv-size-const>`
[void Schema_Comm::echange_messages(const ArrOfInt &recv_size) const](#public-void-schema-comm-echange-messages-const-arrofint-ref-recv-size-const)
void Schema_Comm::echange_taille_et_messages() const
Cette methode lance l’echange de donnees entre tous les processeurs.
La taille des messages recus n’a pas besoin d’etre connue a priori, on la transmet. Le schema passe de WRITING a EXCHANGED.
References
Referenced By
How to cite in this doc:
:ref:`void Schema_Comm::echange_taille_et_messages() const <public-void-schema-comm-echange-taille-et-messages-const>`
[void Schema_Comm::echange_taille_et_messages() const](#public-void-schema-comm-echange-taille-et-messages-const)
void Schema_Comm::end_comm() const
Vide les buffers et libere les ressources: on a fini de lire les donnees recues dans les buffers.
Le schema passe de EXCHANGED a RESET
References
Referenced By
How to cite in this doc:
:ref:`void Schema_Comm::end_comm() const <public-void-schema-comm-end-comm-const>`
[void Schema_Comm::end_comm() const](#public-void-schema-comm-end-comm-const)
const Comm_Group & Schema_Comm::get_group() const
Renvoie le groupe auquel est associe le schema.
How to cite in this doc:
:ref:`const Comm_Group & Schema_Comm::get_group() const <public-const-comm-group-ref-schema-comm-get-group-const>`
[const Comm_Group & Schema_Comm::get_group() const](#public-const-comm-group-ref-schema-comm-get-group-const)
const ArrOfInt & Schema_Comm::get_recv_pe_list() const
References
Referenced By
How to cite in this doc:
:ref:`const ArrOfInt & Schema_Comm::get_recv_pe_list() const <public-const-arrofint-ref-schema-comm-get-recv-pe-list-const>`
[const ArrOfInt & Schema_Comm::get_recv_pe_list() const](#public-const-arrofint-ref-schema-comm-get-recv-pe-list-const)
const ArrOfInt & Schema_Comm::get_send_pe_list() const
References
Referenced By
How to cite in this doc:
:ref:`const ArrOfInt & Schema_Comm::get_send_pe_list() const <public-const-arrofint-ref-schema-comm-get-send-pe-list-const>`
[const ArrOfInt & Schema_Comm::get_send_pe_list() const](#public-const-arrofint-ref-schema-comm-get-send-pe-list-const)
const Schema_Comm & Schema_Comm::operator=(const Schema_Comm &)
Operateur copie : on copie la liste des processeurs qui communiquent.
Le nouveau schema est place dans l’etat RESET. Attention : tous les membres du Comm_Group doivent executer cette fonction simultanement.
References
Referenced By
How to cite in this doc:
:ref:`const Schema_Comm & Schema_Comm::operator=(const Schema_Comm &) <public-const-schema-comm-ref-schema-comm-operator-equal-const-schema-comm-ref>`
[const Schema_Comm & Schema_Comm::operator=(const Schema_Comm &)](#public-const-schema-comm-ref-schema-comm-operator-equal-const-schema-comm-ref)
Entree & Schema_Comm::recv_buffer(int num_PE) const
renvoie le buffer correspondant au processeur num_PE pour y lire les donnees recues.
Le schema doit etre dans l’etat EXCHANGED.
References
Referenced By
How to cite in this doc:
:ref:`Entree & Schema_Comm::recv_buffer(int num_PE) const <public-entree-ref-schema-comm-recv-buffer-int-num-pe-const>`
[Entree & Schema_Comm::recv_buffer(int num_PE) const](#public-entree-ref-schema-comm-recv-buffer-int-num-pe-const)
Schema_Comm::Schema_Comm()
Construction d’un nouveau schema de communication.
References
How to cite in this doc:
:ref:`Schema_Comm::Schema_Comm() <public-schema-comm-schema-comm>`
[Schema_Comm::Schema_Comm()](#public-schema-comm-schema-comm)
Schema_Comm::Schema_Comm(const Schema_Comm &)
Constructeur par copie (nouveau schema place en mode RESET).
Attention : tous les membres du Comm_Group doivent executer cette fonction simultanement.
References
How to cite in this doc:
:ref:`Schema_Comm::Schema_Comm(const Schema_Comm &) <public-schema-comm-schema-comm-const-schema-comm-ref>`
[Schema_Comm::Schema_Comm(const Schema_Comm &)](#public-schema-comm-schema-comm-const-schema-comm-ref)
Sortie & Schema_Comm::send_buffer(int num_PE) const
renvoie le buffer correspondant au processeur num_PE pour y entasser des donnees a envoyer.
Le schema doit etre dans l’etat WRITING.
References
Referenced By
How to cite in this doc:
:ref:`Sortie & Schema_Comm::send_buffer(int num_PE) const <public-sortie-ref-schema-comm-send-buffer-int-num-pe-const>`
[Sortie & Schema_Comm::send_buffer(int num_PE) const](#public-sortie-ref-schema-comm-send-buffer-int-num-pe-const)
void Schema_Comm::set_all_to_allv_flag(int x)
References
How to cite in this doc:
:ref:`void Schema_Comm::set_all_to_allv_flag(int x) <public-void-schema-comm-set-all-to-allv-flag-int-x>`
[void Schema_Comm::set_all_to_allv_flag(int x)](#public-void-schema-comm-set-all-to-allv-flag-int-x)
void Schema_Comm::set_group(const Comm_Group &group)
Methode obsolete, le groupe associe au schema est le groupe courant au moment ou on cree le schema.
L’appel a cette methode n’est valide qu’avec le meme groupe que le groupe d’origine. La methode ne fait rien.
How to cite in this doc:
:ref:`void Schema_Comm::set_group(const Comm_Group &group) <public-void-schema-comm-set-group-const-comm-group-ref-group>`
[void Schema_Comm::set_group(const Comm_Group &group)](#public-void-schema-comm-set-group-const-comm-group-ref-group)
void Schema_Comm::set_send_recv_pe_list(const ArrOfInt &send_pe_list, const ArrOfInt &recv_pe_list, const int me_to_me=0)
Definit la liste des processeurs a qui on va envoyer et de qui on va recevoir des donnees.
Si me_to_me est non nul, on autorise l’envoi des messages a soi - meme, sinon non (argument optionnel : par defaut, me_to_me = 0)
References
Referenced By
How to cite in this doc:
:ref:`void Schema_Comm::set_send_recv_pe_list(const ArrOfInt &send_pe_list, const ArrOfInt &recv_pe_list, const int me_to_me=0) <public-void-schema-comm-set-send-recv-pe-list-const-arrofint-ref-send-pe-list-const-arrofint-ref-recv-pe-list-const-int-me-to-me-equal-0>`
[void Schema_Comm::set_send_recv_pe_list(const ArrOfInt &send_pe_list, const ArrOfInt &recv_pe_list, const int me_to_me=0)](#public-void-schema-comm-set-send-recv-pe-list-const-arrofint-ref-send-pe-list-const-arrofint-ref-recv-pe-list-const-int-me-to-me-equal-0)
Schema_Comm::~Schema_Comm()
Destruction d’un schema de communication.
How to cite in this doc:
:ref:`Schema_Comm::~Schema_Comm() <public-schema-comm-dtor-schema-comm>`
[Schema_Comm::~Schema_Comm()](#public-schema-comm-dtor-schema-comm)
void Schema_Comm::check_send_recv_pe_list() const
Verifie que les send/recv_pe_list verifient la propriete “tu m’ecoutes quand je te parle”.
References
Referenced By
How to cite in this doc:
:ref:`void Schema_Comm::check_send_recv_pe_list() const <protected-void-schema-comm-check-send-recv-pe-list-const>`
[void Schema_Comm::check_send_recv_pe_list() const](#protected-void-schema-comm-check-send-recv-pe-list-const)
void Schema_Comm::echange_messages(const ArrOfInt &send_size, const ArrOfInt &recv_size) const
Cette methode lance l’echange de donnees entre tous les processeurs.
La taille des messages recus doit etre deja connue. Le schema passe de WRITING a EXCHANGED.
References
How to cite in this doc:
:ref:`void Schema_Comm::echange_messages(const ArrOfInt &send_size, const ArrOfInt &recv_size) const <protected-void-schema-comm-echange-messages-const-arrofint-ref-send-size-const-arrofint-ref-recv-size-const>`
[void Schema_Comm::echange_messages(const ArrOfInt &send_size, const ArrOfInt &recv_size) const](#protected-void-schema-comm-echange-messages-const-arrofint-ref-send-size-const-arrofint-ref-recv-size-const)
void Schema_Comm::echange_taille(const ArrOfInt &send_size, ArrOfInt &recv_size) const
Transmet la taille des messages a envoyer aux processeurs qui vont les recevoir.
La taille est le nombre de bytes des obuffers. send_pe_list et recv_pe_list doivent etre initialises. Le schema doit etre dans l’etat WRITING.
References
Referenced By
How to cite in this doc:
:ref:`void Schema_Comm::echange_taille(const ArrOfInt &send_size, ArrOfInt &recv_size) const <protected-void-schema-comm-echange-taille-const-arrofint-ref-send-size-arrofint-ref-recv-size-const>`
[void Schema_Comm::echange_taille(const ArrOfInt &send_size, ArrOfInt &recv_size) const](#protected-void-schema-comm-echange-taille-const-arrofint-ref-send-size-arrofint-ref-recv-size-const)
InputCommBuffer & Schema_Comm::ebuffer(int pe)
Accesseur a un membre du tableau ebuffers_ (avec verification)
References
Referenced By
How to cite in this doc:
:ref:`InputCommBuffer & Schema_Comm::ebuffer(int pe) <protected-static-inputcommbuffer-ref-schema-comm-ebuffer-int-pe>`
[InputCommBuffer & Schema_Comm::ebuffer(int pe)](#protected-static-inputcommbuffer-ref-schema-comm-ebuffer-int-pe)
OutputCommBuffer & Schema_Comm::obuffer(int pe)
Accesseur a un membre du tableau obuffers_ (avec verification)
References
Referenced By
How to cite in this doc:
:ref:`OutputCommBuffer & Schema_Comm::obuffer(int pe) <protected-static-outputcommbuffer-ref-schema-comm-obuffer-int-pe>`
[OutputCommBuffer & Schema_Comm::obuffer(int pe)](#protected-static-outputcommbuffer-ref-schema-comm-obuffer-int-pe)
Attributes Documentation#
Schema_Comm::Static_Status Schema_Comm::status_ =
int Schema_Comm::me_to_me_
ArrOfInt Schema_Comm::recv_pe_list_
TRUST_Ref<Comm_Group *> Schema_Comm::ref_group_
ArrOfInt Schema_Comm::send_pe_list_
int Schema_Comm::use_all_to_allv_
InOutCommBuffers Schema_Comm::buffers_
int Schema_Comm::n_buffers_ = 0
Enums#
Schema_Comm::Static_Status#
Location: trust-code/src/Kernel/Utilitaires/Schema_Comm.h:118
How to cite in this doc:
:ref:`Schema\_Comm::Static\_Status <enum-none-schema-comm-static-status>`
[Schema\_Comm::Static\_Status](#enum-none-schema-comm-static-status)
UNINITIALIZED
RESET
WRITING
EXCHANGED