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 |