Partager via


MPI_Type_create_subarray fonction

Définit un nouveau type de données qui se compose d’un sous-ensemble à n dimensions d’un tableau à n dimensions. La sous-liste peut se trouver n’importe où dans le tableau complet. Il peut s’agir de n’importe quelle taille différente de zéro tant qu’elle est entièrement contenue dans le tableau.

Syntaxe

int MPIAPI MPI_Type_create_subarray(
        int                   ndims,
        _In_count_(ndims) int array_of_sizes[],
        _In_count_(ndims) int array_of_subsizes[],
        _In_count_(ndims) int array_of_starts[],
        int                   order,
        MPI_Datatype          oldtype,
  _Out_ MPI_Datatype          *newtype
);

Paramètres

ndims

Nombre de dimensions de tableau et nombre d’éléments dans les paramètres array_of_sizes, array_of_subsizes et array_of_starts .

array_of_sizes

Nombre d’éléments dans chaque dimension du tableau complet.

array_of_subsizes

Nombre d’éléments dans chaque dimension de la sous-liste.

array_of_starts

Index de départ de la sous-liste dans chaque dimension.

order

Ordre des dimensions.

MPI_ORDER_C

Ordre principal de ligne dans lequel tous les éléments d’une ligne donnée sont stockés de manière contiguë.

MPI_ORDER_FORTRAN

Ordre de colonne-major dans lequel tous les éléments d’une colonne donnée sont stockés de manière contiguë.

Notes

Les programmes C et Fortran peuvent utiliser l’une ou l’autre commande. Les valeurs définies reflètent une utilisation classique.

 

oldtype

Spécifie le type de données de chaque élément.

newtype [out]

Au retour, contient un handle MPI_Datatype qui représente le nouveau type de données.

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_TYPE_CREATE_SUBARRAY(NDIMS, ARRAY_OF_SIZES, ARRAY_OF_SUBSIZES, ARRAY_OF_STARTS, ORDER, OLDTYPE, NEWTYPE, IERROR)
        NDIMS, ARRAY_OF_SIZES, ARRAY_OF_SUBSIZES, ARRAY_OF_STARTS, ORDER, OLDTYPE, NEWTYPE, IERROR

Remarques

La fonction retourne une erreur si la taille de la sous-liste dépasse la taille du tableau. Pour chaque dimension i, la valeur du paramètre array_of_subsizes[i] doit être supérieure ou égale à un et inférieure ou égale au paramètre array_of_sizes[i].

La fonction retourne une erreur si la sous-liste commence ou se termine en dehors des limites du tableau. Pour toute dimension i, la valeur du paramètre doit être égale à zéro et la somme des paramètres array_of_starts[i] et array_of_subsizes[i] doit être inférieure ou égale à la valeur du paramètre array_of_sizes[i]. Par exemple, si la sous-liste a la même taille que le tableau, la sous-liste doit commencer à l’index zéro. Les tableaux sont supposés être indexés à partir de zéro.

Configuration requise

Produit

HpC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package ou HPC Pack 2008 Client Utilities

En-tête

Mpi.h ; Mpif.h

Bibliothèque

Msmpi.lib

DLL

Msmpi.dll

Voir aussi

Fonctions de type de données MPI