MPI_Type_create_hindexed_block, funkcja
Umożliwia replikację starego typu danych do sekwencji bloków (każdy blok jest łączeniem starego typu danych), gdzie wszystkie bloki mają taką samą długość bloku, ale mogą mieć różne przemieszczenia bloków w bajtach.
Składnia
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
);
Parametry
count [in]
Liczba bloków i liczba wpisów w parametrze array_of_displacements .blocklength [in]
Liczba elementów w każdym bloku.array_of_displacements [in]
Tablica zawierająca przemieszczanie każdego bloku w bajtach.oldtype [in]
Uchwyt MPI_Datatype reprezentujący typ danych każdego elementu.newtype [out]
Po powrocie zawiera MPI_Datatype dojście reprezentujące typ danych zawierający liczbę kopii bloków elementów. Każdy blok ma elementy blocklength . Przesunięcie każdego bloku jest określone w array_of_displacements.
Wartość zwracana
Zwraca MPI_SUCCESS powodzenia. W przeciwnym razie wartość zwracana jest kodem błędu.
W fortran wartość zwracana jest przechowywana w parametrze 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(*)
Uwagi
Ta funkcja jest podobna do funkcji MPI_Type_create_indexed_block z tą różnicą, że tablica przesiedleń zawiera przemieszczenie każdego bloku w bajtach.
Wymagania
Produkt |
Microsoft MPI v6 |
Nagłówek |
Mpi.h; Mpif.h |
Biblioteka |
Msmpi.lib |
DLL |
Msmpi.dll |