16#ifndef Schema_Comm_included
17#define Schema_Comm_included
19#include <TRUSTArray.h>
89 void set_send_recv_pe_list(
const ArrOfInt& send_pe_list,
const ArrOfInt& recv_pe_list,
const int me_to_me = 0);
106 void echange_taille(
const ArrOfInt& send_size, ArrOfInt& recv_size)
const;
107 void echange_messages(
const ArrOfInt& send_size,
const ArrOfInt& recv_size)
const;
130 static int n_buffers_;
: This class describes a group of processors on which
Class defining operators and methods for all reading operation in an input flow (file,...
Tool class used exclusively by Schema_Comm.
const ArrOfInt & get_send_size() const
Returns a reference to an array containing, for each processor in send_pe_list_, the size in bytes of...
const ArrOfInt & get_recv_size() const
Returns a reference to an array containing, for each processor in send_pe_list_, the size in bytes of...
void echange_messages(const ArrOfInt &recv_size) const
Launches the data exchange.
static InputCommBuffer & ebuffer(int pe)
Accessor to a member of the ebuffers_ array (with verification).
const Schema_Comm & operator=(const Schema_Comm &)
Copy operator: copies the list of communicating processors.
void set_group(const Comm_Group &group)
Obsolete method. The group associated with the schema is the current group at the time the schema is ...
const Comm_Group & get_group() const
Returns the group associated with the schema.
void echange_taille_et_messages() const
Launches the data exchange between all processors.
~Schema_Comm()
Destructs a communication schema.
Sortie & send_buffer(int num_PE) const
Returns the buffer corresponding to processor num_PE to stack data to send.
static OutputCommBuffer & obuffer(int pe)
Accessor to a member of the obuffers_ array (with verification).
void end_comm() const
Clears the buffers and releases resources: reading of received data from buffers is complete.
Entree & recv_buffer(int num_PE) const
Returns the buffer corresponding to processor num_PE to read received data.
void echange_taille(const ArrOfInt &send_size, ArrOfInt &recv_size) const
Transmits the size of messages to send to the processors that will receive them.
const ArrOfInt & get_recv_pe_list() const
void begin_comm() const
Reserves communication buffers for a new communication.
void check_send_recv_pe_list() const
Verifies that send/recv_pe_list satisfy the property "you listen when I speak".
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)
Defines the list of processors to send data to and receive data from.
void set_all_to_allv_flag(int x)
OBS_PTR(Comm_Group) ref_group_
static Static_Status status_
Schema_Comm()
Constructs a new communication schema.
Base class for output streams.