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#

List of Public Methods#

List of Protected Methods#

List of Protected Static Methods#

Complete Member Function Documentation#

begin_comm
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)
echange_messages
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)
echange_taille_et_messages
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)
end_comm
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)
get_group
const Comm_Group & Schema_Comm::get_group() const

Renvoie le groupe auquel est associe le schema.

References
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)
get_recv_pe_list
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)
get_send_pe_list
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)
operator =
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)
recv_buffer
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::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::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)
send_buffer
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)
set_all_to_allv_flag
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)
set_group
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.

References
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)
set_send_recv_pe_list
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::~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)
check_send_recv_pe_list
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)
echange_messages
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)
echange_taille
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)
ebuffer
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)
obuffer
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#

status_ (protected)
Schema_Comm::Static_Status Schema_Comm::status_ =
me_to_me_ (protected)
int Schema_Comm::me_to_me_
recv_pe_list_ (protected)
ArrOfInt Schema_Comm::recv_pe_list_
ref_group_ (protected)
TRUST_Ref<Comm_Group *> Schema_Comm::ref_group_
send_pe_list_ (protected)
ArrOfInt Schema_Comm::send_pe_list_
use_all_to_allv_ (protected)
int Schema_Comm::use_all_to_allv_
buffers_ (private)
InOutCommBuffers Schema_Comm::buffers_
n_buffers_ (private)
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