Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 |