Partager via


MPI_Type_create_hindexed_block, fonction

Permet la réplication d’un ancien type de données dans une séquence de blocs (chaque bloc est une concaténation de l’ancien type de données), où tous les blocs ont la même longueur de bloc, mais peuvent avoir des déplacements de blocs différents en octets.

Syntaxe

int MPIAPI MPI_Type_create_hindexed_block(
  _In_  int          count,
  _In_  int          blocklength,
  _In_  MPI_Aint     array_of_displacements[],
  _In_  MPI_Datatype oldtype,
  _Out_ MPI_Datatype *newtype
);

Paramètres

  • count [in]
    Nombre de blocs et nombre d’entrées dans le paramètre array_of_displacements .

  • blocklength [in]
    Nombre d’éléments dans chaque bloc.

  • array_of_displacements [in]
    Tableau contenant le déplacement de chaque bloc, en octets.

  • oldtype [in]
    Handle MPI_Datatype représentant le type de données de chaque élément.

  • newtype [out]
    Au retour, contient le handle MPI_Datatype représentant un type de données contenant des copies de nombre de blocs d’éléments. Chaque bloc a des éléments blocklength . Le déplacement de chaque bloc est spécifié dans array_of_displacements.

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_HINDEXED_BLOCK(COUNT, BLOCKLENGTH, ARRAY_OF_DISPLACEMENTS, OLDTYPE, NEWTYPE, IERROR)
        INTEGER COUNT, BLOCKLENGTH, OLDTYPE, NEWTYPE, IERROR
    INTEGER(KIND=MPI_ADDRESS_KIND) ARRAY_OF_DISPLACEMENTS(*)

Remarques

Cette fonction est similaire à la fonction MPI_Type_create_indexed_block sauf que le tableau de déplacements contient le déplacement de chaque bloc en octets.

Configuration requise

Produit

Microsoft MPI v6

En-tête

Mpi.h ; Mpif.h

Bibliothèque

Msmpi.lib

DLL

Msmpi.dll

Voir aussi

Fonctions de type de données MPI

MPI_Type_create_indexed_block