MPI's basic datatypes are mostly drawn from the standard language-defined types from C and Fortran. However, MPI provides constructors for the following general datatypes, i.e., datatypes that can be built up from the basic ones.

Contiguous
Vector with "stride" of one
Vector
Fixed-size blocks separated by constant stride
Hvector
Like vector, but with stride in bytes
Indexed
Arrays of block sizes and indices (like scatterv/gatherv)
Hindexed
Like indexed, but with indices in bytes
Indexed_block
same as an Indexed block, but with uniform block sizes.
Hindexed_block
same as Indexed_block, but with displacement indices in bytes.
Struct
General mixed types (for C structs etc.)

The Contiguous, Vector and Indexed types are created using a function with the form MPI_Type_*. The rest of the general data types, including indexed_block, are created using functions with names in the form of MPI_Type_create_*.

 
©   Cornell University  |  Center for Advanced Computing  |  Copyright Statement  |  Inclusivity Statement