MPI_Type_create_indexed_block function

Defines a new data type that consists of a specified number of blocks. Each block is the same block length, but each block can have a different block displacement.

Syntax

int MPIAPI MPI_Type_create_indexed_block(
        int                   count,
        int                   blocklength,
        _In_count_(count) int array_of_displacements[],
        MPI_Datatype          oldtype,
  _Out_ MPI_Datatype          *newtype
);

Parameters

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

  • blocklength
    The number of elements in each 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_CREATE_INDEXED_BLOCK(COUNT, BLOCKLENGTH, ARRAY_OF_DISPLACEMENTS, OLDTYPE, NEWTYPE, IERROR)
        COUNT, BLOCKLENGTH, ARRAY_OF_DISPLACEMENTS, OLDTYPE, NEWTYPE, IERROR

Remarks

This function is similar to the function MPI_Type_indexed except that all the blocks have the same length.

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_indexed