Condividi tramite


funzione MPI_Type_create_hindexed_block

Consente la replica di un tipo di dati precedente in una sequenza di blocchi (ogni blocco è una concatenazione del tipo di dati precedente), dove tutti i blocchi hanno la stessa lunghezza del blocco, ma possono avere spostamenti di blocchi diversi in byte.

Sintassi

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

Parametri

  • conteggio [in]
    Numero di blocchi e numero di voci nel parametro array_of_displacements .

  • blocklength [in]
    Numero di elementi in ogni blocco.

  • array_of_displacements [in]
    Matrice contenente lo spostamento di ogni blocco, in byte.

  • oldtype [in]
    Handle MPI_Datatype che rappresenta il tipo di dati di ogni elemento.

  • newtype [out]
    In caso di restituzione, contiene l'handle MPI_Datatype che rappresenta un tipo di dati contenente copie di conteggio dei blocchi di elementi. Ogni blocco ha elementi blocklength . Lo spostamento di ogni blocco viene specificato in array_of_displacements.

Valore restituito

Restituisce MPI_SUCCESS sull'esito positivo. In caso contrario, il valore restituito è un codice di errore.

In Fortran il valore restituito viene archiviato nel parametro 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(*)

Commenti

Questa funzione è simile alla funzione MPI_Type_create_indexed_block , ad eccezione del fatto che la matrice di spostamenti contiene lo spostamento di ogni blocco in byte.

Requisiti

Prodotto

Microsoft MPI v6

Intestazione

Mpi.h; Mpif.h

Libreria

Msmpi.lib

DLL

Msmpi.dll

Vedi anche

Funzioni del tipo di dati MPI

MPI_Type_create_indexed_block