Comm_Group_MPI#
#include <Comm_Group_MPI.h>
: Classe Comm_Group_MPI , derivee de la classe abstraite Comm_Group .
How to reference this class#
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
: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#
public : Comm_Group
Inheritance graph#
If the image is too small, right-click and open in new tab
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()
Detailed description
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`Objet_U * Comm_Group_MPI::cree_instance() <comm-group-mpi-public-static-objet-u-ptr-comm-group-mpi-cree-instance>`
[Objet_U * Comm_Group_MPI::cree_instance()](#comm-group-mpi-public-static-objet-u-ptr-comm-group-mpi-cree-instance)
get_trio_u_world#
MPI_Comm Comm_Group_MPI::get_trio_u_world()
Detailed description
Referenced By
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`MPI_Comm Comm_Group_MPI::get_trio_u_world() <comm-group-mpi-public-static-mpi-comm-comm-group-mpi-get-trio-u-world>`
[MPI_Comm Comm_Group_MPI::get_trio_u_world()](#comm-group-mpi-public-static-mpi-comm-comm-group-mpi-get-trio-u-world)
info#
const Type_info * Comm_Group_MPI::info()
Detailed description
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`const Type_info * Comm_Group_MPI::info() <comm-group-mpi-public-static-const-type-info-ptr-comm-group-mpi-info>`
[const Type_info * Comm_Group_MPI::info()](#comm-group-mpi-public-static-const-type-info-ptr-comm-group-mpi-info)
self_cast#
const Comm_Group_MPI & Comm_Group_MPI::self_cast(const Objet_U &)
Detailed description
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`const Comm_Group_MPI & Comm_Group_MPI::self_cast(const Objet_U &) <comm-group-mpi-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 &)](#comm-group-mpi-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 &)
Detailed description
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`Comm_Group_MPI & Comm_Group_MPI::self_cast(Objet_U &) <comm-group-mpi-public-static-comm-group-mpi-ref-comm-group-mpi-self-cast-objet-u-ref>`
[Comm_Group_MPI & Comm_Group_MPI::self_cast(Objet_U &)](#comm-group-mpi-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)
Detailed description
References
Referenced By
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::set_must_mpi_initialize(bool flag) <comm-group-mpi-public-static-void-comm-group-mpi-set-must-mpi-initialize-bool-flag>`
[void Comm_Group_MPI::set_must_mpi_initialize(bool flag)](#comm-group-mpi-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
Detailed description
d’appeler init_group_trio.
References
Referenced By
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::set_trio_u_world(MPI_Comm world) <comm-group-mpi-public-static-void-comm-group-mpi-set-trio-u-world-mpi-comm-world>`
[void Comm_Group_MPI::set_trio_u_world(MPI_Comm world)](#comm-group-mpi-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
Detailed description
Reimplements:
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::abort() const override <comm-group-mpi-public-void-comm-group-mpi-abort-const-override>`
[void Comm_Group_MPI::abort() const override](#comm-group-mpi-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
Detailed description
Reimplements:
References
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::all_gather(const void *src_buffer, void *dest_buffer, int data_size) const override <comm-group-mpi-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](#comm-group-mpi-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
Detailed description
Reimplements:
References
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
: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 <comm-group-mpi-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](#comm-group-mpi-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
Detailed description
Reimplements:
References
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::all_to_all(const void *src_buffer, void *dest_buffer, int data_size) const override <comm-group-mpi-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](#comm-group-mpi-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
Detailed description
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
: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 <comm-group-mpi-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](#comm-group-mpi-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.
Detailed description
..). 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 reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::barrier(int tag) const override <comm-group-mpi-public-void-comm-group-mpi-barrier-int-tag-const-override>`
[void Comm_Group_MPI::barrier(int tag) const override](#comm-group-mpi-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
Detailed description
Reimplements:
References
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::broadcast(void *buffer, int size, int pe_source) const override <comm-group-mpi-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](#comm-group-mpi-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.
Detailed description
Il faut ensuite appeler init_group() ou init_group_trio() pour finir la construction du groupe.
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`Comm_Group_MPI::Comm_Group_MPI() <comm-group-mpi-public-comm-group-mpi-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
Detailed description
Reimplements:
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`int Comm_Group_MPI::duplique() const override <comm-group-mpi-public-int-comm-group-mpi-duplique-const-override>`
[int Comm_Group_MPI::duplique() const override](#comm-group-mpi-public-int-comm-group-mpi-duplique-const-override)
free#
void Comm_Group_MPI::free()
Detailed description
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::free() <comm-group-mpi-public-void-comm-group-mpi-free>`
[void Comm_Group_MPI::free()](#comm-group-mpi-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)
Detailed description
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::free_all() <comm-group-mpi-public-void-comm-group-mpi-free-all>`
[void Comm_Group_MPI::free_all()](#comm-group-mpi-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
Detailed description
Reimplements:
References
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::gather(const void *src_buffer, void *dest_buffer, int data_size, int root) const override <comm-group-mpi-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](#comm-group-mpi-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 .
Detailed description
Reimplements:
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`const Type_info * Comm_Group_MPI::get_info() const override <comm-group-mpi-public-const-type-info-ptr-comm-group-mpi-get-info-const-override>`
[const Type_info * Comm_Group_MPI::get_info() const override](#comm-group-mpi-public-const-type-info-ptr-comm-group-mpi-get-info-const-override)
get_mpi_comm#
MPI_Comm Comm_Group_MPI::get_mpi_comm() const
Detailed description
Referenced By
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`MPI_Comm Comm_Group_MPI::get_mpi_comm() const <comm-group-mpi-public-mpi-comm-comm-group-mpi-get-mpi-comm-const>`
[MPI_Comm Comm_Group_MPI::get_mpi_comm() const](#comm-group-mpi-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.
Detailed description
Referenced By
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`int Comm_Group_MPI::get_node_id() const <comm-group-mpi-public-int-comm-group-mpi-get-node-id-const>`
[int Comm_Group_MPI::get_node_id() const](#comm-group-mpi-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)
Detailed description
References
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::init_comm_on_node_master() <comm-group-mpi-public-void-comm-group-mpi-init-comm-on-node-master>`
[void Comm_Group_MPI::init_comm_on_node_master()](#comm-group-mpi-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)
Detailed description
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::init_comm_on_numa_node() <comm-group-mpi-public-void-comm-group-mpi-init-comm-on-numa-node>`
[void Comm_Group_MPI::init_comm_on_numa_node()](#comm-group-mpi-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.
Detailed description
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 reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::init_group_trio() <comm-group-mpi-public-void-comm-group-mpi-init-group-trio>`
[void Comm_Group_MPI::init_group_trio()](#comm-group-mpi-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
Detailed description
Reimplements:
References
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::mp_collective_op(const double *x, double *resu, const Collective_Op *op, int n) const override <comm-group-mpi-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](#comm-group-mpi-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
Detailed description
Reimplements:
Referenced By
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::mp_collective_op(const double *x, double *resu, int n, Collective_Op op) const override <comm-group-mpi-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](#comm-group-mpi-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
Detailed description
Reimplements:
References
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::mp_collective_op(const float *x, float *resu, const Collective_Op *op, int n) const override <comm-group-mpi-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](#comm-group-mpi-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
Detailed description
Reimplements:
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::mp_collective_op(const float *x, float *resu, int n, Collective_Op op) const override <comm-group-mpi-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](#comm-group-mpi-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
Detailed description
Reimplements:
References
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::mp_collective_op(const int *x, int *resu, const Collective_Op *op, int n) const override <comm-group-mpi-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](#comm-group-mpi-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
Detailed description
Reimplements:
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::mp_collective_op(const int *x, int *resu, int n, Collective_Op op) const override <comm-group-mpi-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](#comm-group-mpi-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
Detailed description
Reimplements:
References
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::mp_collective_op(const trustIdType *x, trustIdType *resu, const Collective_Op *op, int n) const override <comm-group-mpi-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](#comm-group-mpi-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
Detailed description
Reimplements:
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::mp_collective_op(const trustIdType *x, trustIdType *resu, int n, Collective_Op op) const override <comm-group-mpi-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](#comm-group-mpi-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
Detailed description
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
: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 <comm-group-mpi-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](#comm-group-mpi-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.
Detailed description
Reimplements:
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::recv(int pe, void *buffer, int size, int tag) const override <comm-group-mpi-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](#comm-group-mpi-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.
Detailed description
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 reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::send(int pe, const void *buffer, int size, int tag) const override <comm-group-mpi-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](#comm-group-mpi-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.
Detailed description
Reimplements:
References
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::send_recv_finish() const override <comm-group-mpi-public-void-comm-group-mpi-send-recv-finish-const-override>`
[void Comm_Group_MPI::send_recv_finish() const override](#comm-group-mpi-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.
Detailed description
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 reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
: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 <comm-group-mpi-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](#comm-group-mpi-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)
Detailed description
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::set_must_finalize(int flag) <comm-group-mpi-public-void-comm-group-mpi-set-must-finalize-int-flag>`
[void Comm_Group_MPI::set_must_finalize(int flag)](#comm-group-mpi-public-void-comm-group-mpi-set-must-finalize-int-flag)
taille_memoire#
unsigned Comm_Group_MPI::taille_memoire() const override
Detailed description
Reimplements:
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`unsigned Comm_Group_MPI::taille_memoire() const override <comm-group-mpi-public-unsigned-comm-group-mpi-taille-memoire-const-override>`
[unsigned Comm_Group_MPI::taille_memoire() const override](#comm-group-mpi-public-unsigned-comm-group-mpi-taille-memoire-const-override)
~Comm_Group_MPI#
Comm_Group_MPI::~Comm_Group_MPI() override
Detailed description
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`Comm_Group_MPI::~Comm_Group_MPI() override <comm-group-mpi-public-comm-group-mpi-dtor-comm-group-mpi-override>`
[Comm_Group_MPI::~Comm_Group_MPI() override](#comm-group-mpi-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.
Detailed description
Voir Comm_Group::init_group(const ArrOfInt &) Methode appelee par PE_Groups::create_group()
Reimplements:
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::init_group(const ArrOfInt &pe_list) override <comm-group-mpi-protected-void-comm-group-mpi-init-group-const-arrofint-ref-pe-list-override>`
[void Comm_Group_MPI::init_group(const ArrOfInt &pe_list) override](#comm-group-mpi-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
Detailed description
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::internal_collective(const double *x, double *resu, int nx, const Collective_Op *op, int nop, int level) const <comm-group-mpi-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](#comm-group-mpi-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
Detailed description
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::internal_collective(const float *x, float *resu, int nx, const Collective_Op *op, int nop, int level) const <comm-group-mpi-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](#comm-group-mpi-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
Detailed description
References
Referenced By
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::internal_collective(const int *x, int *resu, int nx, const Collective_Op *op, int nop, int level) const <comm-group-mpi-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](#comm-group-mpi-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
Detailed description
References
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`void Comm_Group_MPI::internal_collective(const trustIdType *x, trustIdType *resu, int nx, const Collective_Op *op, int nop, int level) const <comm-group-mpi-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](#comm-group-mpi-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.
Detailed description
Reimplements:
References
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`Sortie & Comm_Group_MPI::printOn(Sortie &x) const override <comm-group-mpi-protected-sortie-ref-comm-group-mpi-printon-sortie-ref-x-const-override>`
[Sortie & Comm_Group_MPI::printOn(Sortie &x) const override](#comm-group-mpi-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.
Detailed description
Reimplements:
References
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`Entree & Comm_Group_MPI::readOn(Entree &) override <comm-group-mpi-protected-entree-ref-comm-group-mpi-readon-entree-ref-override>`
[Entree & Comm_Group_MPI::readOn(Entree &) override](#comm-group-mpi-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
Detailed description
How to reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
: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 <comm-group-mpi-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](#comm-group-mpi-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).
Detailed description
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 reference this method:
Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):
:ref:`trustIdType Comm_Group_MPI::mppartial_sum_impl(trustIdType x) const <comm-group-mpi-private-trustidtype-comm-group-mpi-mppartial-sum-impl-trustidtype-x-const>`
[trustIdType Comm_Group_MPI::mppartial_sum_impl(trustIdType x) const](#comm-group-mpi-private-trustidtype-comm-group-mpi-mppartial-sum-impl-trustidtype-x-const)
Attributes Documentation#
const Type_info Comm_Group_MPI::info_obj
int Comm_Group_MPI::current_msg_size_
int Comm_Group_MPI::mpi_maxrequests_ = - 1
int Comm_Group_MPI::mpi_nrequests_ = - 1
MPI_Request * Comm_Group_MPI::mpi_requests_ = 0
MPI_Status * Comm_Group_MPI::mpi_status_ = 0
bool Comm_Group_MPI::must_mpi_initialize_ = true
MPI_Comm Comm_Group_MPI::trio_u_world_ = MPI_COMM_WORLD
TRUST_Ref<Comm_Group *> Comm_Group_MPI::groupe_pere_
MPI_Comm Comm_Group_MPI::mpi_comm_
MPI_Group Comm_Group_MPI::mpi_group_
int Comm_Group_MPI::must_finalize_