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

 

 

Show: