16#ifndef Schema_Comm_included
17#define Schema_Comm_included
19#include <TRUSTArray.h>
91 void set_send_recv_pe_list(
const ArrOfInt& send_pe_list,
const ArrOfInt& recv_pe_list,
const int me_to_me = 0);
108 void echange_taille(
const ArrOfInt& send_size, ArrOfInt& recv_size)
const;
109 void echange_messages(
const ArrOfInt& send_size,
const ArrOfInt& recv_size)
const;
134 static int n_buffers_;
: Cette classe decrit un groupe de processeurs sur lesquels
Class defining operators and methods for all reading operation in an input flow (file,...
: Classe outil utilisee exclusivement par Schema_Comm.
const ArrOfInt & get_send_size() const
renvoie une reference a un tableau qui contient, pour chaque processeur de send_pe_list_,...
const ArrOfInt & get_recv_size() const
renvoie une reference a un tableau qui contient, pour chaque processeur de send_pe_list_,...
void echange_messages(const ArrOfInt &recv_size) const
Cette methode lance l'echange de donnees.
static InputCommBuffer & ebuffer(int pe)
Accesseur a un membre du tableau ebuffers_ (avec verification).
const Schema_Comm & operator=(const Schema_Comm &)
Operateur copie : on copie la liste des processeurs qui communiquent.
void set_group(const Comm_Group &group)
Methode obsolete, le groupe associe au schema est le groupe courant au moment ou on cree le schema.
const Comm_Group & get_group() const
Renvoie le groupe auquel est associe le schema.
void echange_taille_et_messages() const
Cette methode lance l'echange de donnees entre tous les processeurs.
~Schema_Comm()
Destruction d'un schema de communication.
Sortie & send_buffer(int num_PE) const
renvoie le buffer correspondant au processeur num_PE pour y entasser des donnees a envoyer.
static OutputCommBuffer & obuffer(int pe)
Accesseur a un membre du tableau obuffers_ (avec verification).
void end_comm() const
Vide les buffers et libere les ressources: on a fini de lire les donnees recues dans les buffers.
Entree & recv_buffer(int num_PE) const
renvoie le buffer correspondant au processeur num_PE pour y lire les donnees recues.
void echange_taille(const ArrOfInt &send_size, ArrOfInt &recv_size) const
Transmet la taille des messages a envoyer aux processeurs qui vont les recevoir.
const ArrOfInt & get_recv_pe_list() const
void begin_comm() const
Reserve les buffers de comm pour une nouvelle communication.
void check_send_recv_pe_list() const
Verifie que les send/recv_pe_list verifient la propriete "tu m'ecoutes quand je te parle".
const ArrOfInt & get_send_pe_list() const
void 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.
void set_all_to_allv_flag(int x)
OBS_PTR(Comm_Group) ref_group_
static Static_Status status_
Schema_Comm()
Construction d'un nouveau schema de communication.
Classe de base des flux de sortie.