Поделиться через


функция MPI_Type_create_indexed_block

Определяет новый тип данных, состоящий из указанного количества блоков. Каждый блок имеет одинаковую длину блока, но каждый блок может иметь разное смещение блока.

Синтаксис

int MPIAPI MPI_Type_create_indexed_block(
        int                   count,
        int                   blocklength,
        _In_count_(count) int array_of_displacements[],
        MPI_Datatype          oldtype,
  _Out_ MPI_Datatype          *newtype
);

Параметры

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

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

  • array_of_displacements
    Смещение каждого отдельного блока в байтах. Все смещения блоков должны быть кратными экстенту типа данных, как указано в параметре oldtype .

  • старый тип
    Тип данных MPI для каждого элемента.

  • newtype [out]
    При возврате содержит дескриптор MPI_Datatype , представляющий новый тип данных.

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

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

В Fortran возвращаемое значение хранится в параметре IERROR .

Fortran

    MPI_TYPE_CREATE_INDEXED_BLOCK(COUNT, BLOCKLENGTH, ARRAY_OF_DISPLACEMENTS, OLDTYPE, NEWTYPE, IERROR)
        COUNT, BLOCKLENGTH, ARRAY_OF_DISPLACEMENTS, OLDTYPE, NEWTYPE, IERROR

Комментарии

Эта функция аналогична функции MPI_Type_indexed за исключением того, что все блоки имеют одинаковую длину.

Требования

Продукт

Распространяемый пакет HPC 2012 MS-MPI, пакет HPC 2008 R2 распространяемый пакет MS-MPI, пакет HPC 2008 MS-MPI или клиентские служебные программы пакета HPC 2008

Заголовок

Mpi.h; Mpif.h

Библиотека

Msmpi.lib

DLL

Msmpi.dll

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

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

MPI_Type_indexed