MPI_Type_get_envelope(3)
MPI_Type_get_envelope - Returns the number and type of input arguments
Showing IRIX 6.5.30 (default release). Added in IRIX 6.5.19.
NAME MPI_Type_get_envelope - Returns the number and type of input arguments SYNOPSIS C: #include "mpi.h" int MPI_Type_get_envelope(MPI_Datatype datatype, int *num_integers, int *num_addresses, int *num_datatypes, int *combiner) Fortran: INCLUDE "mpif.h" (or USE MPI) INTEGER datatype, num_integers, num_addresses, num_datatypes, combiner, ierror CALL MPI_TYPE_GET_ENVELOPE(datatype, num_integers, num_addresses, num_datatypes, combiner, ierror) DESCRIPTION For a specified data type, MPI_Type_get_envelope returns information on the number and type of input arguments that were used in the call that created the data type. The returned values can be used to provide sufficiently large arrays in the decoding routine, MPI_Type_get_contents. MPI_Type_get_envelope accepts the following arguments: datatype Specifies the data type to be accessed (handle) num_integers Returns the number of input integers used in the call that constructs the combiner (nonnegative integer) num_addresses Returns the number of input addresses used in the call that constructs the combiner (nonnegative integer) num_datatypes Returns the number of input data types used in the call that constructs the combiner (nonnegative integer) combiner Reflects the MPI data type constructor call that was used in creating the data type (state) ierror Specifies the return code value for successful completion, which is in MPI_SUCCESS. MPI_SUCCESS is defined in the mpif.h file. By requiring that the combiner reflect the constructor used in the creation of the data type, the decoded information can be used to effectively recreate the calling sequence used in the original creation. One call is effectively the same as another when the information obtained from MPI_Type_get_contents can be used with either to produce the same outcome. In some MPI implementations, C calls, MPI_Type_hindexed and MPI_Type_create_hindexed, are always effectively the same, while the Fortran call, MPI_TYPE_HINDEXED, is different from either of these. The decoded information keeps track of data type duplications. This is important for distinguishing between a predefined data type and a duplicate of a predefined data type. The former is a constant object that cannot be freed; the latter is a derived data type that can be freed. The actual arguments used in the creation call for a data type can be obtained from the MPI_Type_get_contents call. SEE ALSO MPI_File_open(3), MPI_Type_get_contents(3)