Freigeben über


MPI_Type_create_hindexed_block-Funktion

Ermöglicht die Replikation eines alten Datentyps in eine Sequenz von Blöcken (jeder Block ist eine Verkettung des alten Datentyps), wobei alle Blöcke die gleiche Blocklänge haben, aber unterschiedliche Blockverschiebungen in Bytes aufweisen können.

Syntax

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
);

Parameter

  • Anzahl [in]
    Die Anzahl der Blöcke und die Anzahl der Einträge im parameter array_of_displacements .

  • Blocklänge [in]
    Die Anzahl der Elemente in jedem Block.

  • array_of_displacements [in]
    Das Array, das die Verschiebung jedes Blocks in Bytes enthält.

  • oldtype [in]
    Das MPI_Datatype Handle, das den Datentyp jedes Elements darstellt.

  • newtype [out]
    Enthält bei der Rückgabe das MPI_Datatype-Handle , das einen Datentyp darstellt, der Die Anzahl von Kopien von Elementblöcken enthält. Jeder Block verfügt über Blocklängenelemente . Die Verschiebung jedes Blocks wird in array_of_displacements angegeben.

Rückgabewert

Gibt MPI_SUCCESS nach Erfolg zurück. Andernfalls ist der Rückgabewert ein Fehlercode.

In Fortran wird der Rückgabewert im IERROR-Parameter gespeichert.

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(*)

Hinweise

Diese Funktion ähnelt der Funktion MPI_Type_create_indexed_block mit der Ausnahme, dass das Array von Verschiebungen die Verschiebung jedes Blocks in Bytes enthält.

Anforderungen

Produkt

Microsoft MPI v6

Header

Mpi.h; Mpif.h

Bibliothek

Msmpi.lib

DLL

Msmpi.dll

Weitere Informationen

MPI-Datentypfunktionen

MPI_Type_create_indexed_block