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#
public : Comm_Group
List of Public Static Methods#
List of Public Methods#
List of Protected Methods#
List of Private Methods#
Complete Member Function Documentation#
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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
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)
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)
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()
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)
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)
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)
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)
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)
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)
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)
int Comm_Group_MPI::get_node_id() const
Retrieve ID of my numa node.
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)
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)
void Comm_Group_MPI::init_comm_on_numa_node()
Building MPI communicator based on numa node (ie one communicator for each node)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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
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)
void Comm_Group_MPI::recv(int pe, void *buffer, int size, int tag) const override
Reception blocante d’un message.
Reimplements:
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)
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)
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)
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)
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)
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() 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)
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:
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)
void Comm_Group_MPI::internal_collective(const double *x, double *resu, int nx, const Collective_Op *op, int nop, int level) const
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)
void Comm_Group_MPI::internal_collective(const float *x, float *resu, int nx, const Collective_Op *op, int nop, int level) const
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)
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)
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)
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)
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)
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)
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#
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_