MPI_Type_create_hindexed_block function

Allows replication of an old datatype into a sequence of blocks (each block is a concatenation of the old datatype), where all blocks have the same block length but can have different block displacements in bytes.

Syntax

int MPIAPI MPI_Type_create_hindexed_block(
  _In_  int          count,
  _In_  int          blocklength,
  _In_  MPI_Aint     array_of_displacements[],
  _In_  MPI_Datatype oldtype,
  _Out_ MPI_Datatype *newtype
);

Parameters

  • count [in]
    The number of blocks and the number of entries in the array_of_displacements parameter.

  • blocklength [in]
    The number of elements in each block.

  • array_of_displacements [in]
    The array containing the displacement of each block, in bytes.

  • oldtype [in]
    The MPI_Datatype handle representing the data type of each element.

  • newtype [out]
    On return, contains the MPI_Datatype handle representing a data type containing count copies of element blocks. Each block has blocklength elements. The displacement of each block is specified in array_of_displacements.

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_CREATE_HINDEXED_BLOCK(COUNT, BLOCKLENGTH, ARRAY_OF_DISPLACEMENTS, OLDTYPE, NEWTYPE, IERROR)
        INTEGER COUNT, BLOCKLENGTH, OLDTYPE, NEWTYPE, IERROR
    INTEGER(KIND=MPI_ADDRESS_KIND) ARRAY_OF_DISPLACEMENTS(*)

Remarks

This function is similar to the function MPI_Type_create_indexed_block except that the array of displacements contains the displacement of each block in bytes.

Requirements

Product

Microsoft MPI v6

Header

Mpi.h; Mpif.h

Library

Msmpi.lib

DLL

Msmpi.dll

See also

MPI Datatype Functions

MPI_Type_create_indexed_block