2.13.2.5. Data Types

Selected Basic Types. 

MPI_SHORT, MPI_INT, MPI_LONG, MPI_LONG_LONG

signed integer types

MPI_UNSIGNED_SHORT, MPI_UNSIGNED, MPI_UNSIGNED_LONG, MPI_UNSIGNED_LONG_LONG

unsigned integer types

MPI_FLOAT, MPI_DOUBLE, MPI_LONG_DOUBLE

floating point types

MPI_CHAR, MPI_SIGNED_CHAR, MPI_UNSIGNED_CHAR, MPI_WCHAR

character data types

MPI_INT8_T, MPI_INT16_T, MPI_INT32_T, MPI_INT64_T

exact size signed integer types

MPI_UINT8_T, MPI_UINT16_T, MPI_UINT32_T, MPI_UINT64_T

exact size unsigned integer types

MPI_BYTE

buffer with raw data

MPI_PACKED

buffer with packed data

Local Derived Types. 

int MPI_Type_commit (MPI_Datatype *datatype);
int MPI_Type_free (MPI_Datatype *datatype);
int MPI_Type_dup (MPI_Datatype oldtype, MPI_Datatype *newtype);

int MPI_Type_contiguous (int count, MPI_Datatype oldtype, MPI_Datatype *newtype);
int MPI_Type_vector (int count, int blocklength, int stride, MPI_Datatype oldtype, MPI_Datatype *newtype);

int MPI_Type_indexed (
    int count,
    const int array_of_blocklengths [],
    const int array_of_displacements [],
    MPI_Datatype oldtype,
    MPI_Datatype *newtype);

int MPI_Type_create_struct (
    int count,
    const int array_of_blocklengths [],
    const MPI_Aint array_of_displacements [],
    const MPI_Datatype array_of_types [],
    MPI_Datatype *newtype);

int MPI_Type_create_subarray (
    int ndims,
    const int array_of_sizes [], const int array_of_subsizes [],
    const int array_of_starts [],
    int order,
    MPI_Datatype oldtype,
    MPI_Datatype *newtype);
MPI_ORDER_C

row major order

MPI_ORDER_FORTRAN

column major order

Distributed Derived Types. 

int MPI_Type_create_darray (
    int size, int rank,
    int ndims,
    const int array_of_gsizes [],
    const int array_of_distribs [], const int array_of_dargs [],
    const int array_of_psizes [],
    int order,
    MPI_Datatype oldtype,
    MPI_Datatype *newtype);
MPI_DISTRIBUTE_BLOCK

sequential block distribution (AAABBBCCC...)

MPI_DISTRIBUTE_CYCLIC

cyclic element distribution (ABC...ABC...ABC...)

Conversions.