функция MPI_Type_create_hindexed_block

Разрешает репликацию старого типа данных в последовательность блоков (каждый блок является объединением старого типа данных), где все блоки имеют одинаковую длину блока, но могут иметь разные смещения блоков в байтах.

Синтаксис

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

Параметры

  • count [in]
    Количество блоков и количество записей в параметре array_of_displacements .

  • blocklength [in]
    Количество элементов в каждом блоке.

  • array_of_displacements [in]
    Массив, содержащий смещение каждого блока в байтах.

  • oldtype [in]
    Дескриптор MPI_Datatype , представляющий тип данных каждого элемента.

  • newtype [out]
    При возврате содержит дескриптор MPI_Datatype , представляющий тип данных, содержащий число копий блоков элементов. Каждый блок содержит элементы blocklength . Смещение каждого блока указывается в array_of_displacements.

Возвращаемое значение

Возвращает MPI_SUCCESS при успешном выполнении. В противном случае возвращаемое значение представляет собой код ошибки.

В Fortran возвращаемое значение хранится в параметре 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(*)

Комментарии

Эта функция аналогична функции MPI_Type_create_indexed_block за исключением того, что массив смещения содержит смещение каждого блока в байтах.

Требования

Продукт

Microsoft MPI версии 6

Заголовок

Mpi.h; Mpif.h

Библиотека

Msmpi.lib

DLL

Msmpi.dll

См. также раздел

Функции типов данных MPI

MPI_Type_create_indexed_block