Selected Basic Types.
signed integer types
unsigned integer types
floating point types
character data types
exact size signed integer types
exact size unsigned integer types
buffer with raw data
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);
elements of basic types
offset for each element
also versions with byte offsets
also functions for introspecting derived types
also functions for data import and export in canonical format
row major order
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);
sequential block distribution (AAABBBCCC...)
cyclic element distribution (ABC...ABC...ABC...)
Conversions.
MPI types provided by communication parties must be the same
representation conversion for portability is performed as necessary
representation of derived types with byte offsets may not be portable