16#include <Comm_Group_MPI.h>
17#include <My_Comm_Group.h>
18#include <Comm_Group.h>
108 Process::exit(
"What !!! You need an MPI TRUST version to use My_Comm_Group !!!");
111 assert(!my_comm_group);
116 if (nb_groups > nb_procs)
117 nb_groups = nb_procs;
119 const int base_size = nb_procs / nb_groups;
120 const int extra = nb_procs % nb_groups;
126 for (
int i = 0; i < nb_groups; i++)
128 const int group_size = base_size + (i < extra ? 1 : 0);
130 if (rank >= count && rank < count + group_size)
132 ArrOfInt tab(group_size);
133 for (
int j = 0; j < group_size; j++)
151 assert(my_comm_group);
152 return my_comm_group.valeur();
: Cette classe decrit un groupe de processeurs sur lesquels
Class defining operators and methods for all reading operation in an input flow (file,...
Classe de base des objets "interprete".
Entree & interpreter(Entree &) override
static const Comm_Group & get_my_comm_group()
const Nom & que_suis_je() const
renvoie la chaine identifiant la classe.
virtual Entree & readOn(Entree &)
Lecture d'un Objet_U sur un flot d'entree Methode a surcharger.
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
static void initialize_user_defined_group(const Comm_Group &ngrp)
static void create_group(const ArrOfInt &liste_pe, OWN_PTR(Comm_Group) &group, int force_Comm_Group_NoParallel=0)
Creation d'un nouveau groupe de processeurs (utilisation possible n'importe ou dans le code).
Helper class to factorize the readOn method of Objet_U classes.
void ajouter(const char *keyword, const int *value, Param::Nature nat=Param::OPTIONAL)
Register an integer parameter.
int lire_avec_accolades_depuis(Entree &is)
Parse the parameter block { ... } from is.
static int nproc()
renvoie le nombre de processeurs dans le groupe courant Voir Comm_Group::nproc() et PE_Groups::curren...
static int me()
renvoie mon rang dans le groupe de communication courant.
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
static bool is_sequential()
Classe de base des flux de sortie.