4.4 Datatype Constructor MPI_TYPE_CREATE_INDEXED_BLOCK

This function is the same as MPI_TYPE_INDEXED except that the blocklength is the same for all blocks. There are many codes using indirect addressing arising from unstructured grids where the blocksize is always 1 (gather/scatter). The following convenience function allows for constant blocksize and arbitrary displacements.



MPI_TYPE_CREATE_INDEXED_BLOCK(count, blocklength, array_of_displacements, oldtype, newtype)

IN
count length of array of displacements (integer)
IN
blocklength size of block (integer)
IN
array_of_displacements array of displacements (array of integer)
IN
oldtype old datatype (handle)
OUT
newtype new datatype (handle)

int MPI_Type_create_indexed_block(int count, int blocklength, int array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype *newtype)



MPI_TYPE_CREATE_INDEXED_BLOCK(COUNT, BLOCKLENGTH, ARRAY_OF_DISPLACEMENTS, OLDTYPE, NEWTYPE, IERROR) INTEGER COUNT, BLOCKLENGTH, ARRAY_OF_DISPLACEMENTS(*), OLDTYPE, NEWTYPE, IERROR



int MPI::Datatype::Create_indexed_block( int count, int blocklength, const int array_of_displacements[]) const



MPI::Datatype

MPI-Standard for MARMOT