Partager via


MPI_Group_range_incl, fonction

Constructeur de groupe utilisé pour définir un nouveau groupe en ajoutant des ensembles de rangs supplémentaires à un groupe existant.

Syntaxe

int MPIAPI MPI_Group_range_incl(
        MPI_Group         group,
        int               n,
        _In_count_(n) int ranges[][3],
  _Out_ MPI_Group         *newgroup
);

Paramètres

  • groupe
    Groupe existant.

  • n
    Nombre de triplets dans les plages de tableaux.

  • Gammes
    Tableau de spécifications de processus à inclure dans le nouveau groupe. Chaque élément du tableau spécifie une plage de processus sous la forme de trois entiers pour le premier rang, le dernier rang et la foulée.

  • newgroup [out]
    Pointeur vers un handle qui représente le nouveau groupe. Le nouveau groupe contient les ensembles de rangs supplémentaires. L’ordre est défini par des plages.

Valeur retournée

Retourne MPI_SUCCESS en cas de réussite. Sinon, la valeur de retour est un code d’erreur.

Dans Fortran, la valeur de retour est stockée dans le paramètre IERROR .

Fortran

    MPI_GROUP_RANGE_INCL(GROUP, N, RANGES, NEWGROUP, IERROR)
        INTEGER GROUP, N, RANGES(3,*), NEWGROUP, IERROR

Remarques

Si les plages se composent des triplettes (first1 , last1, stride1) , ..., (firstn, lastn, striden), newgroup se compose de la séquence de processus dans le groupe avec les rangs first1, first1 + stride1, ..., RoundDown((last1 - first1)/stride1)*stride1, ..., firstn, firstn + striden, ..., RoundDown((lastn - firstn)/striden)*striden.

Chaque classement calculé doit être un rang valide dans le nouveau groupe, et tous les rangs calculés doivent être distincts. Sinon, la fonction retourne une erreur.

Notes

Notez que vous pouvez définir en premier[i] supérieur à dernier[i] et stride[i] peut être négatif, mais qu’il ne peut pas être égal à zéro.

 

Il s’agit d’une opération locale. Différents processus peuvent définir des groupes distincts. Un processus peut définir un groupe qui ne s’inclut pas lui-même.

L’implémentation MPI ne fournit pas de mécanisme pour créer un groupe à partir de zéro, mais uniquement à partir de groupes existants. Le groupe de base, sur lequel tous les autres groupes sont définis, peut être récupéré à l’aide de la fonction MPI_Comm_group . Il s’agit du groupe associé au communicateur initial MPI_COMM_WORLD.

Configuration requise

Produit

Package redistribuable MS-MPI HPC Pack 2012, package redistribuable HPC Pack 2008 R2 MS-MPI, package redistribuable MS-MPI HPC Pack 2008 ou utilitaires clients HPC Pack 2008

En-tête

Mpi.h ; Mpif.h

Bibliothèque

Msmpi.lib

DLL

Msmpi.dll

Voir aussi

Fonctions de groupe MPI

MPI_Group_incl

MPI_Comm_group