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


функция MPI_Type_indexed

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

Синтаксис

int MPIAPI MPI_Type_indexed(
        int                   count,
        _In_count_(count) int *array_of_blocklengths,
        _In_count_(count) int *array_of_displacements,
        MPI_Datatype          oldtype,
  _Out_ MPI_Datatype          *newtype
);

Параметры

  • count
    Количество блоков и количество элементов в параметрах array_of_blocklengths и array_of_displacements .

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

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

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

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

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

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

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

Fortran

    MPI_TYPE_INDEXED(COUNT, ARRAY_OF_BLOCKLENGTHS, ARRAY_OF_DISPLACEMENTS, OLDTYPE, NEWTYPE, IERROR)
        COUNT, ARRAY_OF_BLOCKLENGTHS, ARRAY_OF_DISPLACEMENTS, OLDTYPE, NEWTYPE, IERROR

Требования

Продукт

Распространяемый пакет 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_create_hindexed