Edit

Share via


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