« Return to documentation listing
NAME
MPI_Type_get_envelope - Returns informaion about input arguments asso-
ciated with a data type.
SYNTAX
C Syntax
#include <mpi.h>
int MPI_Type_get_envelope(MPI_Datatype datatype, int *num_integers,
int *num_addresses, int *num_datatypes, int *combiner)
Fortran Syntax
INCLUDE 'mpif.h'
MPI_TYPE_GET_ENVELOPE(DATATYPE, NUM_INTEGERS, NUM_ADDRESSES,
NUM_DATATYPES, COMBINER, IERROR)
INTEGER DATATYPE, NUM_INTEGERS, NUM_ADDRESSES
INTEGER NUM_DATATYPES, COMBINER, IERROR
C++ Syntax
#include <mpi.h>
void MPI::Datatype::Get_envelope(int& num_integers,
int& num_addresses, int& num_datatypes,
int& combiner) const
INPUT PARAMETER
datatype Data type to access (handle).
OUTPUT PARAMETERS
num_integers
Number of input integers used in the call constructing com-
biner (nonnegative integer).
num_addresses
Number of input addresses used in the call constructing com-
biner (nonnegative integer).
num_datatypes
Number of input data types used in the call constructing com-
biner (nonnegative integer).
combiner Combiner (state).
IERROR Fortran only: Error status (integer).
DESCRIPTION
For the given data type, MPI_Type_get_envelope returns information on
the number and type of input arguments used in teh call that created
the data type. The number-of-arguments values returned can be used to
provide sufficiently large arrays in the decoding routine
MPI_Type_get_contents. This call and the meaning of the returned values
is described below. The combiner reflects the MPI data type constructor
call that was used in creating datatype.
MPI_COMBINER_DUP MPI_Type_dup
MPI_COMBINER_CONTIGUOUS MPI_Type_contiguous
MPI_COMBINER_VECTOR MPI_Type_vector
MPI_COMBINER_HVECTOR_INTEGER MPI_Type_hvector from Fortran
MPI_COMBINER_HVECTOR MPI_Type_hvector from C or C++
and MPI_Type_create for
all languages
MPI_COMBINER_INDEXED MPI_Type_indexed
MPI_COMBINER_HINDEXED_INTEGER MPI_Type_hindexed from Fortran
MPI_COMBINER_HINDEXED MPI_Type_hindexed from C or C++
and MPI_Type_create_hindexed
for all languages
MPI_COMBINER_INDEXED_BLOCK MPI_Type_create_indexed_block
MPI_COMBINER_STRUCT_INTEGER MPI_Type_struct from Fortran
MPI_COMBINER_STRUCT MPI_Type_struct from C or C++
and MPI_Type_create_struct
for all languages
MPI_COMBINER_SUBARRAY MPI_Type_create_subarray
MPI_COMBINER_DARRAY MPI_Type_create_darray
MPI_COMBINER_F90_REAL MPI_Type_create_f90_real
MPI_COMBINER_F90_COMPLEX MPI_Type_create_f90_complex
MPI_COMBINER_F90_INTEGER MPI_Type_create_f90_integer
MPI_COMBINER_RESIZED MPI_Type_create_resized
If combiner is MPI_COMBINER_NAMED, then datatype is a named predefined
data type.
The actual arguments used in the creation call for a data type can be
obtained from the call MPI_Type_get_contents.
ERRORS
Almost all MPI routines return an error value; C routines as the value
of the function and Fortran routines in the last argument. C++ func-
tions do not return errors. If the default error handler is set to
MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism
will be used to throw an MPI:Exception object.
Before the error value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job, except for
I/O function errors. The error handler may be changed with
MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN
may be used to cause error values to be returned. Note that MPI does
not guarantee that an MPI program can continue past an error.
SEE ALSO
MPI_Type_get_contents
Open MPI 1.2 September 2006 MPI_Type_get_envelope(3OpenMPI)
« Return to documentation listing
|