Comm_Group_MPI#

#include <Comm_Group_MPI.h>

: Classe Comm_Group_MPI , derivee de la classe abstraite Comm_Group .

How to cite this class in this doc#

:ref:`Comm\_Group\_MPI <class-comm-group-mpi>`
[Comm\_Group\_MPI](#class-comm-group-mpi)

Detailed description#

Cette classe represente un groupe de communication qui repose sur MPI. Construction de l’objet : voir init_group_trio() pour le groupe_TRUST et init_group() pour les autres.

Inherits from#

List of Public Static Methods#

List of Public Methods#

List of Protected Methods#

List of Private Methods#

Complete Member Function Documentation#

cree_instance
Objet_U * Comm_Group_MPI::cree_instance()
How to cite in this doc:
:ref:`Objet_U * Comm_Group_MPI::cree_instance() <public-static-objet-u-ptr-comm-group-mpi-cree-instance>`
[Objet_U * Comm_Group_MPI::cree_instance()](#public-static-objet-u-ptr-comm-group-mpi-cree-instance)
get_trio_u_world
MPI_Comm Comm_Group_MPI::get_trio_u_world()
Referenced By
How to cite in this doc:
:ref:`MPI_Comm Comm_Group_MPI::get_trio_u_world() <public-static-mpi-comm-comm-group-mpi-get-trio-u-world>`
[MPI_Comm Comm_Group_MPI::get_trio_u_world()](#public-static-mpi-comm-comm-group-mpi-get-trio-u-world)
info
const Type_info * Comm_Group_MPI::info()
How to cite in this doc:
:ref:`const Type_info * Comm_Group_MPI::info() <public-static-const-type-info-ptr-comm-group-mpi-info>`
[const Type_info * Comm_Group_MPI::info()](#public-static-const-type-info-ptr-comm-group-mpi-info)
self_cast
const Comm_Group_MPI & Comm_Group_MPI::self_cast(const Objet_U &)
How to cite in this doc:
:ref:`const Comm_Group_MPI & Comm_Group_MPI::self_cast(const Objet_U &) <public-static-const-comm-group-mpi-ref-comm-group-mpi-self-cast-const-objet-u-ref>`
[const Comm_Group_MPI & Comm_Group_MPI::self_cast(const Objet_U &)](#public-static-const-comm-group-mpi-ref-comm-group-mpi-self-cast-const-objet-u-ref)
self_cast
Comm_Group_MPI & Comm_Group_MPI::self_cast(Objet_U &)
How to cite in this doc:
:ref:`Comm_Group_MPI & Comm_Group_MPI::self_cast(Objet_U &) <public-static-comm-group-mpi-ref-comm-group-mpi-self-cast-objet-u-ref>`
[Comm_Group_MPI & Comm_Group_MPI::self_cast(Objet_U &)](#public-static-comm-group-mpi-ref-comm-group-mpi-self-cast-objet-u-ref)
set_must_mpi_initialize
void Comm_Group_MPI::set_must_mpi_initialize(bool flag)
References
Referenced By
How to cite in this doc:
:ref:`void Comm_Group_MPI::set_must_mpi_initialize(bool flag) <public-static-void-comm-group-mpi-set-must-mpi-initialize-bool-flag>`
[void Comm_Group_MPI::set_must_mpi_initialize(bool flag)](#public-static-void-comm-group-mpi-set-must-mpi-initialize-bool-flag)
set_trio_u_world
void Comm_Group_MPI::set_trio_u_world(MPI_Comm world)

pour que trio_u n’utilise qu’une partie des processeurs de MPI_COMM_WORLD, il faut donner un communicateur a utiliser avant

d’appeler init_group_trio.

References
Referenced By
How to cite in this doc:
:ref:`void Comm_Group_MPI::set_trio_u_world(MPI_Comm world) <public-static-void-comm-group-mpi-set-trio-u-world-mpi-comm-world>`
[void Comm_Group_MPI::set_trio_u_world(MPI_Comm world)](#public-static-void-comm-group-mpi-set-trio-u-world-mpi-comm-world)
abort
void Comm_Group_MPI::abort() const override

appel a MPI_Abort et rend la main

Reimplements:

How to cite in this doc:
:ref:`void Comm_Group_MPI::abort() const override <public-void-comm-group-mpi-abort-const-override>`
[void Comm_Group_MPI::abort() const override](#public-void-comm-group-mpi-abort-const-override)
all_gather
void Comm_Group_MPI::all_gather(const void *src_buffer, void *dest_buffer, int data_size) const override

Reimplements:

References
How to cite in this doc:
:ref:`void Comm_Group_MPI::all_gather(const void *src_buffer, void *dest_buffer, int data_size) const override <public-void-comm-group-mpi-all-gather-const-void-ptr-src-buffer-void-ptr-dest-buffer-int-data-size-const-override>`
[void Comm_Group_MPI::all_gather(const void *src_buffer, void *dest_buffer, int data_size) const override](#public-void-comm-group-mpi-all-gather-const-void-ptr-src-buffer-void-ptr-dest-buffer-int-data-size-const-override)
all_gatherv
void Comm_Group_MPI::all_gatherv(const void *src_buffer, void *dest_buffer, int send_size, const True_int *recv_size, const True_int *displs) const override

Reimplements:

References
How to cite in this doc:
:ref:`void Comm_Group_MPI::all_gatherv(const void *src_buffer, void *dest_buffer, int send_size, const True_int *recv_size, const True_int *displs) const override <public-void-comm-group-mpi-all-gatherv-const-void-ptr-src-buffer-void-ptr-dest-buffer-int-send-size-const-true-int-ptr-recv-size-const-true-int-ptr-displs-const-override>`
[void Comm_Group_MPI::all_gatherv(const void *src_buffer, void *dest_buffer, int send_size, const True_int *recv_size, const True_int *displs) const override](#public-void-comm-group-mpi-all-gatherv-const-void-ptr-src-buffer-void-ptr-dest-buffer-int-send-size-const-true-int-ptr-recv-size-const-true-int-ptr-displs-const-override)
all_to_all
void Comm_Group_MPI::all_to_all(const void *src_buffer, void *dest_buffer, int data_size) const override

Reimplements:

References
How to cite in this doc:
:ref:`void Comm_Group_MPI::all_to_all(const void *src_buffer, void *dest_buffer, int data_size) const override <public-void-comm-group-mpi-all-to-all-const-void-ptr-src-buffer-void-ptr-dest-buffer-int-data-size-const-override>`
[void Comm_Group_MPI::all_to_all(const void *src_buffer, void *dest_buffer, int data_size) const override](#public-void-comm-group-mpi-all-to-all-const-void-ptr-src-buffer-void-ptr-dest-buffer-int-data-size-const-override)
all_to_allv
void Comm_Group_MPI::all_to_allv(const void *src_buffer, int *send_data_size, int *send_data_offset, void *dest_buffer, int *recv_data_size, int *recv_data_offset) const
References
How to cite in this doc:
:ref:`void Comm_Group_MPI::all_to_allv(const void *src_buffer, int *send_data_size, int *send_data_offset, void *dest_buffer, int *recv_data_size, int *recv_data_offset) const <public-void-comm-group-mpi-all-to-allv-const-void-ptr-src-buffer-int-ptr-send-data-size-int-ptr-send-data-offset-void-ptr-dest-buffer-int-ptr-recv-data-size-int-ptr-recv-data-offset-const>`
[void Comm_Group_MPI::all_to_allv(const void *src_buffer, int *send_data_size, int *send_data_offset, void *dest_buffer, int *recv_data_size, int *recv_data_offset) const](#public-void-comm-group-mpi-all-to-allv-const-void-ptr-src-buffer-int-ptr-send-data-size-int-ptr-send-data-offset-void-ptr-dest-buffer-int-ptr-recv-data-size-int-ptr-recv-data-offset-const)
barrier
void Comm_Group_MPI::barrier(int tag) const override

Point de synchronisation de tous les processeurs du groupe (permet de verifier que tout le monde est la.

..). Si check_enabled() est non nul, on utilise le tag pour verifier que tous les processeurs sont bien en train d’attendre le meme tag, sinon c’est une barriere simple. Le tag doit verifier 0 < = tag <max_tag (soit 32).

Reimplements:

References
How to cite in this doc:
:ref:`void Comm_Group_MPI::barrier(int tag) const override <public-void-comm-group-mpi-barrier-int-tag-const-override>`
[void Comm_Group_MPI::barrier(int tag) const override](#public-void-comm-group-mpi-barrier-int-tag-const-override)
broadcast
void Comm_Group_MPI::broadcast(void *buffer, int size, int pe_source) const override

Reimplements:

References
How to cite in this doc:
:ref:`void Comm_Group_MPI::broadcast(void *buffer, int size, int pe_source) const override <public-void-comm-group-mpi-broadcast-void-ptr-buffer-int-size-int-pe-source-const-override>`
[void Comm_Group_MPI::broadcast(void *buffer, int size, int pe_source) const override](#public-void-comm-group-mpi-broadcast-void-ptr-buffer-int-size-int-pe-source-const-override)
Comm_Group_MPI
Comm_Group_MPI::Comm_Group_MPI()

Constructeur par defaut.

Il faut ensuite appeler init_group() ou init_group_trio() pour finir la construction du groupe.

How to cite in this doc:
:ref:`Comm_Group_MPI::Comm_Group_MPI() <public-comm-group-mpi-comm-group-mpi>`
[Comm_Group_MPI::Comm_Group_MPI()](#public-comm-group-mpi-comm-group-mpi)
duplique
int Comm_Group_MPI::duplique() const override

Reimplements:

How to cite in this doc:
:ref:`int Comm_Group_MPI::duplique() const override <public-int-comm-group-mpi-duplique-const-override>`
[int Comm_Group_MPI::duplique() const override](#public-int-comm-group-mpi-duplique-const-override)
free
void Comm_Group_MPI::free()
How to cite in this doc:
:ref:`void Comm_Group_MPI::free() <public-void-comm-group-mpi-free>`
[void Comm_Group_MPI::free()](#public-void-comm-group-mpi-free)
free_all
void Comm_Group_MPI::free_all()

Free group and MPI communicator (to use for MPI subgroups only, MPI_COMM_WORLD can no be freed)

How to cite in this doc:
:ref:`void Comm_Group_MPI::free_all() <public-void-comm-group-mpi-free-all>`
[void Comm_Group_MPI::free_all()](#public-void-comm-group-mpi-free-all)
gather
void Comm_Group_MPI::gather(const void *src_buffer, void *dest_buffer, int data_size, int root) const override

Reimplements:

References
How to cite in this doc:
:ref:`void Comm_Group_MPI::gather(const void *src_buffer, void *dest_buffer, int data_size, int root) const override <public-void-comm-group-mpi-gather-const-void-ptr-src-buffer-void-ptr-dest-buffer-int-data-size-int-root-const-override>`
[void Comm_Group_MPI::gather(const void *src_buffer, void *dest_buffer, int data_size, int root) const override](#public-void-comm-group-mpi-gather-const-void-ptr-src-buffer-void-ptr-dest-buffer-int-data-size-int-root-const-override)
get_info
const Type_info * Comm_Group_MPI::get_info() const override

Donne des informations sur le type de l’ Objet_U .

Reimplements:

How to cite in this doc:
:ref:`const Type_info * Comm_Group_MPI::get_info() const override <public-const-type-info-ptr-comm-group-mpi-get-info-const-override>`
[const Type_info * Comm_Group_MPI::get_info() const override](#public-const-type-info-ptr-comm-group-mpi-get-info-const-override)
get_mpi_comm
MPI_Comm Comm_Group_MPI::get_mpi_comm() const
Referenced By
How to cite in this doc:
:ref:`MPI_Comm Comm_Group_MPI::get_mpi_comm() const <public-mpi-comm-comm-group-mpi-get-mpi-comm-const>`
[MPI_Comm Comm_Group_MPI::get_mpi_comm() const](#public-mpi-comm-comm-group-mpi-get-mpi-comm-const)
get_node_id
int Comm_Group_MPI::get_node_id() const

Retrieve ID of my numa node.

References
Referenced By
How to cite in this doc:
:ref:`int Comm_Group_MPI::get_node_id() const <public-int-comm-group-mpi-get-node-id-const>`
[int Comm_Group_MPI::get_node_id() const](#public-int-comm-group-mpi-get-node-id-const)
init_comm_on_node_master
void Comm_Group_MPI::init_comm_on_node_master()

Building MPI communicator containing only the master of my numa node (ie one different communicator for each node)

References
How to cite in this doc:
:ref:`void Comm_Group_MPI::init_comm_on_node_master() <public-void-comm-group-mpi-init-comm-on-node-master>`
[void Comm_Group_MPI::init_comm_on_node_master()](#public-void-comm-group-mpi-init-comm-on-node-master)
init_comm_on_numa_node
void Comm_Group_MPI::init_comm_on_numa_node()

Building MPI communicator based on numa node (ie one communicator for each node)

References
How to cite in this doc:
:ref:`void Comm_Group_MPI::init_comm_on_numa_node() <public-void-comm-group-mpi-init-comm-on-numa-node>`
[void Comm_Group_MPI::init_comm_on_numa_node()](#public-void-comm-group-mpi-init-comm-on-numa-node)
init_group_trio
void Comm_Group_MPI::init_group_trio()

constructeur du groupe “tous” Attention, ce constructeur ne doit etre appele qu’une seule fois.

Le groupe est associe a trio_u_world_ Si must_mpi_initialize_ = = false, on suppose que MPI_Init a deja ete appele. Apres l’appel a init_group_trio, il faut enregistrer le groupe dans PE_Groups Voir PE_Groups::initialize()

References
How to cite in this doc:
:ref:`void Comm_Group_MPI::init_group_trio() <public-void-comm-group-mpi-init-group-trio>`
[void Comm_Group_MPI::init_group_trio()](#public-void-comm-group-mpi-init-group-trio)
mp_collective_op
void Comm_Group_MPI::mp_collective_op(const double *x, double *resu, const Collective_Op *op, int n) const override

Reimplements:

References
How to cite in this doc:
:ref:`void Comm_Group_MPI::mp_collective_op(const double *x, double *resu, const Collective_Op *op, int n) const override <public-void-comm-group-mpi-mp-collective-op-const-double-ptr-x-double-ptr-resu-const-collective-op-ptr-op-int-n-const-override>`
[void Comm_Group_MPI::mp_collective_op(const double *x, double *resu, const Collective_Op *op, int n) const override](#public-void-comm-group-mpi-mp-collective-op-const-double-ptr-x-double-ptr-resu-const-collective-op-ptr-op-int-n-const-override)
mp_collective_op
void Comm_Group_MPI::mp_collective_op(const double *x, double *resu, int n, Collective_Op op) const override

Reimplements:

Referenced By
How to cite in this doc:
:ref:`void Comm_Group_MPI::mp_collective_op(const double *x, double *resu, int n, Collective_Op op) const override <public-void-comm-group-mpi-mp-collective-op-const-double-ptr-x-double-ptr-resu-int-n-collective-op-op-const-override>`
[void Comm_Group_MPI::mp_collective_op(const double *x, double *resu, int n, Collective_Op op) const override](#public-void-comm-group-mpi-mp-collective-op-const-double-ptr-x-double-ptr-resu-int-n-collective-op-op-const-override)
mp_collective_op
void Comm_Group_MPI::mp_collective_op(const float *x, float *resu, const Collective_Op *op, int n) const override

Reimplements:

References
How to cite in this doc:
:ref:`void Comm_Group_MPI::mp_collective_op(const float *x, float *resu, const Collective_Op *op, int n) const override <public-void-comm-group-mpi-mp-collective-op-const-float-ptr-x-float-ptr-resu-const-collective-op-ptr-op-int-n-const-override>`
[void Comm_Group_MPI::mp_collective_op(const float *x, float *resu, const Collective_Op *op, int n) const override](#public-void-comm-group-mpi-mp-collective-op-const-float-ptr-x-float-ptr-resu-const-collective-op-ptr-op-int-n-const-override)
mp_collective_op
void Comm_Group_MPI::mp_collective_op(const float *x, float *resu, int n, Collective_Op op) const override

Reimplements:

How to cite in this doc:
:ref:`void Comm_Group_MPI::mp_collective_op(const float *x, float *resu, int n, Collective_Op op) const override <public-void-comm-group-mpi-mp-collective-op-const-float-ptr-x-float-ptr-resu-int-n-collective-op-op-const-override>`
[void Comm_Group_MPI::mp_collective_op(const float *x, float *resu, int n, Collective_Op op) const override](#public-void-comm-group-mpi-mp-collective-op-const-float-ptr-x-float-ptr-resu-int-n-collective-op-op-const-override)
mp_collective_op
void Comm_Group_MPI::mp_collective_op(const int *x, int *resu, const Collective_Op *op, int n) const override

Reimplements:

References
How to cite in this doc:
:ref:`void Comm_Group_MPI::mp_collective_op(const int *x, int *resu, const Collective_Op *op, int n) const override <public-void-comm-group-mpi-mp-collective-op-const-int-ptr-x-int-ptr-resu-const-collective-op-ptr-op-int-n-const-override>`
[void Comm_Group_MPI::mp_collective_op(const int *x, int *resu, const Collective_Op *op, int n) const override](#public-void-comm-group-mpi-mp-collective-op-const-int-ptr-x-int-ptr-resu-const-collective-op-ptr-op-int-n-const-override)
mp_collective_op
void Comm_Group_MPI::mp_collective_op(const int *x, int *resu, int n, Collective_Op op) const override

Reimplements:

How to cite in this doc:
:ref:`void Comm_Group_MPI::mp_collective_op(const int *x, int *resu, int n, Collective_Op op) const override <public-void-comm-group-mpi-mp-collective-op-const-int-ptr-x-int-ptr-resu-int-n-collective-op-op-const-override>`
[void Comm_Group_MPI::mp_collective_op(const int *x, int *resu, int n, Collective_Op op) const override](#public-void-comm-group-mpi-mp-collective-op-const-int-ptr-x-int-ptr-resu-int-n-collective-op-op-const-override)
mp_collective_op
void Comm_Group_MPI::mp_collective_op(const trustIdType *x, trustIdType *resu, const Collective_Op *op, int n) const override

Reimplements:

References
How to cite in this doc:
:ref:`void Comm_Group_MPI::mp_collective_op(const trustIdType *x, trustIdType *resu, const Collective_Op *op, int n) const override <public-void-comm-group-mpi-mp-collective-op-const-trustidtype-ptr-x-trustidtype-ptr-resu-const-collective-op-ptr-op-int-n-const-override>`
[void Comm_Group_MPI::mp_collective_op(const trustIdType *x, trustIdType *resu, const Collective_Op *op, int n) const override](#public-void-comm-group-mpi-mp-collective-op-const-trustidtype-ptr-x-trustidtype-ptr-resu-const-collective-op-ptr-op-int-n-const-override)
mp_collective_op
void Comm_Group_MPI::mp_collective_op(const trustIdType *x, trustIdType *resu, int n, Collective_Op op) const override

Reimplements:

How to cite in this doc:
:ref:`void Comm_Group_MPI::mp_collective_op(const trustIdType *x, trustIdType *resu, int n, Collective_Op op) const override <public-void-comm-group-mpi-mp-collective-op-const-trustidtype-ptr-x-trustidtype-ptr-resu-int-n-collective-op-op-const-override>`
[void Comm_Group_MPI::mp_collective_op(const trustIdType *x, trustIdType *resu, int n, Collective_Op op) const override](#public-void-comm-group-mpi-mp-collective-op-const-trustidtype-ptr-x-trustidtype-ptr-resu-int-n-collective-op-op-const-override)
ptop_send_recv
void Comm_Group_MPI::ptop_send_recv(const void *send_buf, int send_buf_size, int send_proc, void *recv_buf, int recv_buf_size, int recv_proc) const
References
How to cite in this doc:
:ref:`void Comm_Group_MPI::ptop_send_recv(const void *send_buf, int send_buf_size, int send_proc, void *recv_buf, int recv_buf_size, int recv_proc) const <public-void-comm-group-mpi-ptop-send-recv-const-void-ptr-send-buf-int-send-buf-size-int-send-proc-void-ptr-recv-buf-int-recv-buf-size-int-recv-proc-const>`
[void Comm_Group_MPI::ptop_send_recv(const void *send_buf, int send_buf_size, int send_proc, void *recv_buf, int recv_buf_size, int recv_proc) const](#public-void-comm-group-mpi-ptop-send-recv-const-void-ptr-send-buf-int-send-buf-size-int-send-proc-void-ptr-recv-buf-int-recv-buf-size-int-recv-proc-const)
recv
void Comm_Group_MPI::recv(int pe, void *buffer, int size, int tag) const override

Reception blocante d’un message.

Reimplements:

References
How to cite in this doc:
:ref:`void Comm_Group_MPI::recv(int pe, void *buffer, int size, int tag) const override <public-void-comm-group-mpi-recv-int-pe-void-ptr-buffer-int-size-int-tag-const-override>`
[void Comm_Group_MPI::recv(int pe, void *buffer, int size, int tag) const override](#public-void-comm-group-mpi-recv-int-pe-void-ptr-buffer-int-size-int-tag-const-override)
send
void Comm_Group_MPI::send(int pe, const void *buffer, int size, int tag) const override

Envoi blocant.

Pour etre bien certain que le code est safe, on force une communication synchrone pour forcer le blocage en mode check (voir check_enabled() ). Sinon, on utilise MPI_Send qui est en general non blocant pour les petits messages (donc de meilleures performances).

Reimplements:

References
How to cite in this doc:
:ref:`void Comm_Group_MPI::send(int pe, const void *buffer, int size, int tag) const override <public-void-comm-group-mpi-send-int-pe-const-void-ptr-buffer-int-size-int-tag-const-override>`
[void Comm_Group_MPI::send(int pe, const void *buffer, int size, int tag) const override](#public-void-comm-group-mpi-send-int-pe-const-void-ptr-buffer-int-size-int-tag-const-override)
send_recv_finish
void Comm_Group_MPI::send_recv_finish() const override

Attend que l’ensemble des communications lancees par send_recv_start soient finie.

Reimplements:

References
How to cite in this doc:
:ref:`void Comm_Group_MPI::send_recv_finish() const override <public-void-comm-group-mpi-send-recv-finish-const-override>`
[void Comm_Group_MPI::send_recv_finish() const override](#public-void-comm-group-mpi-send-recv-finish-const-override)
send_recv_start
void Comm_Group_MPI::send_recv_start(const ArrOfInt &send_list, const ArrOfInt &send_size, const char *const *const send_buffers, const ArrOfInt &recv_list, const ArrOfInt &recv_size, char *const *const recv_buffers, TypeHint typehint=CHAR) const override

Demarre l’envoi et la reception des buffers.

Les buffers doivent rester valide jusqu’au retour de send_recv_finish() . Le graphe de communication et la taille des buffers doivent etre corrects ! send_list : liste des processeurs (numerotation sur groupe courant) a qui envoyer send_size : taille en octets de chaque message send_buffers : adresse des donnees a envoyer. recv_… : idem pour les donnees en reception.

Reimplements:

References
How to cite in this doc:
:ref:`void Comm_Group_MPI::send_recv_start(const ArrOfInt &send_list, const ArrOfInt &send_size, const char *const *const send_buffers, const ArrOfInt &recv_list, const ArrOfInt &recv_size, char *const *const recv_buffers, TypeHint typehint=CHAR) const override <public-void-comm-group-mpi-send-recv-start-const-arrofint-ref-send-list-const-arrofint-ref-send-size-const-char-ptr-const-ptr-const-send-buffers-const-arrofint-ref-recv-list-const-arrofint-ref-recv-size-char-ptr-const-ptr-const-recv-buffers-typehint-typehint-equal-char-const-override>`
[void Comm_Group_MPI::send_recv_start(const ArrOfInt &send_list, const ArrOfInt &send_size, const char *const *const send_buffers, const ArrOfInt &recv_list, const ArrOfInt &recv_size, char *const *const recv_buffers, TypeHint typehint=CHAR) const override](#public-void-comm-group-mpi-send-recv-start-const-arrofint-ref-send-list-const-arrofint-ref-send-size-const-char-ptr-const-ptr-const-send-buffers-const-arrofint-ref-recv-list-const-arrofint-ref-recv-size-char-ptr-const-ptr-const-recv-buffers-typehint-typehint-equal-char-const-override)
set_must_finalize
void Comm_Group_MPI::set_must_finalize(int flag)
How to cite in this doc:
:ref:`void Comm_Group_MPI::set_must_finalize(int flag) <public-void-comm-group-mpi-set-must-finalize-int-flag>`
[void Comm_Group_MPI::set_must_finalize(int flag)](#public-void-comm-group-mpi-set-must-finalize-int-flag)
taille_memoire
unsigned Comm_Group_MPI::taille_memoire() const override

Reimplements:

How to cite in this doc:
:ref:`unsigned Comm_Group_MPI::taille_memoire() const override <public-unsigned-comm-group-mpi-taille-memoire-const-override>`
[unsigned Comm_Group_MPI::taille_memoire() const override](#public-unsigned-comm-group-mpi-taille-memoire-const-override)
~Comm_Group_MPI
Comm_Group_MPI::~Comm_Group_MPI() override
How to cite in this doc:
:ref:`Comm_Group_MPI::~Comm_Group_MPI() override <public-comm-group-mpi-dtor-comm-group-mpi-override>`
[Comm_Group_MPI::~Comm_Group_MPI() override](#public-comm-group-mpi-dtor-comm-group-mpi-override)
init_group
void Comm_Group_MPI::init_group(const ArrOfInt &pe_list) override

Construction du groupe de processeurs a partir de la liste.

Voir Comm_Group::init_group(const ArrOfInt &) Methode appelee par PE_Groups::create_group()

Reimplements:

References
How to cite in this doc:
:ref:`void Comm_Group_MPI::init_group(const ArrOfInt &pe_list) override <protected-void-comm-group-mpi-init-group-const-arrofint-ref-pe-list-override>`
[void Comm_Group_MPI::init_group(const ArrOfInt &pe_list) override](#protected-void-comm-group-mpi-init-group-const-arrofint-ref-pe-list-override)
internal_collective
void Comm_Group_MPI::internal_collective(const double *x, double *resu, int nx, const Collective_Op *op, int nop, int level) const
References
How to cite in this doc:
:ref:`void Comm_Group_MPI::internal_collective(const double *x, double *resu, int nx, const Collective_Op *op, int nop, int level) const <protected-void-comm-group-mpi-internal-collective-const-double-ptr-x-double-ptr-resu-int-nx-const-collective-op-ptr-op-int-nop-int-level-const>`
[void Comm_Group_MPI::internal_collective(const double *x, double *resu, int nx, const Collective_Op *op, int nop, int level) const](#protected-void-comm-group-mpi-internal-collective-const-double-ptr-x-double-ptr-resu-int-nx-const-collective-op-ptr-op-int-nop-int-level-const)
internal_collective
void Comm_Group_MPI::internal_collective(const float *x, float *resu, int nx, const Collective_Op *op, int nop, int level) const
References
How to cite in this doc:
:ref:`void Comm_Group_MPI::internal_collective(const float *x, float *resu, int nx, const Collective_Op *op, int nop, int level) const <protected-void-comm-group-mpi-internal-collective-const-float-ptr-x-float-ptr-resu-int-nx-const-collective-op-ptr-op-int-nop-int-level-const>`
[void Comm_Group_MPI::internal_collective(const float *x, float *resu, int nx, const Collective_Op *op, int nop, int level) const](#protected-void-comm-group-mpi-internal-collective-const-float-ptr-x-float-ptr-resu-int-nx-const-collective-op-ptr-op-int-nop-int-level-const)
internal_collective
void Comm_Group_MPI::internal_collective(const int *x, int *resu, int nx, const Collective_Op *op, int nop, int level) const
References
Referenced By
How to cite in this doc:
:ref:`void Comm_Group_MPI::internal_collective(const int *x, int *resu, int nx, const Collective_Op *op, int nop, int level) const <protected-void-comm-group-mpi-internal-collective-const-int-ptr-x-int-ptr-resu-int-nx-const-collective-op-ptr-op-int-nop-int-level-const>`
[void Comm_Group_MPI::internal_collective(const int *x, int *resu, int nx, const Collective_Op *op, int nop, int level) const](#protected-void-comm-group-mpi-internal-collective-const-int-ptr-x-int-ptr-resu-int-nx-const-collective-op-ptr-op-int-nop-int-level-const)
internal_collective
void Comm_Group_MPI::internal_collective(const trustIdType *x, trustIdType *resu, int nx, const Collective_Op *op, int nop, int level) const
References
How to cite in this doc:
:ref:`void Comm_Group_MPI::internal_collective(const trustIdType *x, trustIdType *resu, int nx, const Collective_Op *op, int nop, int level) const <protected-void-comm-group-mpi-internal-collective-const-trustidtype-ptr-x-trustidtype-ptr-resu-int-nx-const-collective-op-ptr-op-int-nop-int-level-const>`
[void Comm_Group_MPI::internal_collective(const trustIdType *x, trustIdType *resu, int nx, const Collective_Op *op, int nop, int level) const](#protected-void-comm-group-mpi-internal-collective-const-trustidtype-ptr-x-trustidtype-ptr-resu-int-nx-const-collective-op-ptr-op-int-nop-int-level-const)
printOn
Sortie & Comm_Group_MPI::printOn(Sortie &x) const override

Ecriture de l’objet sur un flot de sortie Methode a surcharger.

Reimplements:

References
How to cite in this doc:
:ref:`Sortie & Comm_Group_MPI::printOn(Sortie &x) const override <protected-sortie-ref-comm-group-mpi-printon-sortie-ref-x-const-override>`
[Sortie & Comm_Group_MPI::printOn(Sortie &x) const override](#protected-sortie-ref-comm-group-mpi-printon-sortie-ref-x-const-override)
readOn
Entree & Comm_Group_MPI::readOn(Entree &) override

Lecture d’un Objet_U sur un flot d’entree Methode a surcharger.

Reimplements:

References
How to cite in this doc:
:ref:`Entree & Comm_Group_MPI::readOn(Entree &) override <protected-entree-ref-comm-group-mpi-readon-entree-ref-override>`
[Entree & Comm_Group_MPI::readOn(Entree &) override](#protected-entree-ref-comm-group-mpi-readon-entree-ref-override)
mp_collective_op_template
void Comm_Group_MPI::mp_collective_op_template(const _TYPE_ *x, _TYPE_ *resu, int n, Comm_Group::Collective_Op op, const Stat_Counter_Id &cnt_sum_id, const Stat_Counter_Id &cnt_min_id, const Stat_Counter_Id &cnt_max_id) const
How to cite in this doc:
:ref:`void Comm_Group_MPI::mp_collective_op_template(const _TYPE_ *x, _TYPE_ *resu, int n, Comm_Group::Collective_Op op, const Stat_Counter_Id &cnt_sum_id, const Stat_Counter_Id &cnt_min_id, const Stat_Counter_Id &cnt_max_id) const <private-void-comm-group-mpi-mp-collective-op-template-const-type-ptr-x-type-ptr-resu-int-n-comm-group-collective-op-op-const-stat-counter-id-ref-cnt-sum-id-const-stat-counter-id-ref-cnt-min-id-const-stat-counter-id-ref-cnt-max-id-const>`
[void Comm_Group_MPI::mp_collective_op_template(const _TYPE_ *x, _TYPE_ *resu, int n, Comm_Group::Collective_Op op, const Stat_Counter_Id &cnt_sum_id, const Stat_Counter_Id &cnt_min_id, const Stat_Counter_Id &cnt_max_id) const](#private-void-comm-group-mpi-mp-collective-op-template-const-type-ptr-x-type-ptr-resu-int-n-comm-group-collective-op-op-const-stat-counter-id-ref-cnt-sum-id-const-stat-counter-id-ref-cnt-min-id-const-stat-counter-id-ref-cnt-max-id-const)
mppartial_sum_impl
trustIdType Comm_Group_MPI::mppartial_sum_impl(trustIdType x) const

Renvoie la somme des x sur les processeurs precedents du groupe (moi non compris).

Le resultat sur le premier processeur du groupe est donc toujours 0. Le resultat depend de l’ordre dans lequel les processeurs ont ete fournis dans le constructeur.

How to cite in this doc:
:ref:`trustIdType Comm_Group_MPI::mppartial_sum_impl(trustIdType x) const <private-trustidtype-comm-group-mpi-mppartial-sum-impl-trustidtype-x-const>`
[trustIdType Comm_Group_MPI::mppartial_sum_impl(trustIdType x) const](#private-trustidtype-comm-group-mpi-mppartial-sum-impl-trustidtype-x-const)

Attributes Documentation#

info_obj (public)
const Type_info Comm_Group_MPI::info_obj
current_msg_size_ (private)
int Comm_Group_MPI::current_msg_size_
mpi_maxrequests_ (private)
int Comm_Group_MPI::mpi_maxrequests_ = - 1
mpi_nrequests_ (private)
int Comm_Group_MPI::mpi_nrequests_ = - 1
mpi_requests_ (private)
MPI_Request * Comm_Group_MPI::mpi_requests_ = 0
mpi_status_ (private)
MPI_Status * Comm_Group_MPI::mpi_status_ = 0
must_mpi_initialize_ (private)
bool Comm_Group_MPI::must_mpi_initialize_ = true
trio_u_world_ (private)
MPI_Comm Comm_Group_MPI::trio_u_world_ = MPI_COMM_WORLD
groupe_pere_ (private)
TRUST_Ref<Comm_Group *> Comm_Group_MPI::groupe_pere_
mpi_comm_ (private)
MPI_Comm Comm_Group_MPI::mpi_comm_
mpi_group_ (private)
MPI_Group Comm_Group_MPI::mpi_group_
must_finalize_ (private)
int Comm_Group_MPI::must_finalize_