функция 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 |