Udostępnij za pośrednictwem


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

Zobacz też

Funkcje typu danych MPI

MPI_Type_create_indexed_block