MPI_Type_indexed function

Defines a new data type that consists of a specified number of blocks of arbitrary size. Each block is a concatenation of elements of an existing data type. Each block can contain a different number of elements and have a different displacement.

Syntax


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

Parameters

count

The number of blocks and the number of elements in the array_of_blocklengths and array_of_displacements parameters.

array_of_blocklengths

The number of elements of each individual block.

array_of_displacements

The displacement of each individual block in bytes. All block displacements must be a multiple of the extent of the data type as specified in the oldtype parameter.

oldtype

The MPI data type of each element.

newtype [out]

On return, contains an MPI_Datatype handle that represents the new data type.

Return value

Returns MPI_SUCCESS on success. Otherwise, the return value is an error code.

In Fortran, the return value is stored in the IERROR parameter.

Fortran


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

Requirements

Product

HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package or HPC Pack 2008 Client Utilities

Header

Mpi.h;
Mpif.h

Library

Msmpi.lib

DLL

Msmpi.dll

See also

MPI Datatype Functions
MPI_Type_create_hindexed

 

 

Show: