[97] | 1 | .\"Copyright 2006-2008 Sun Microsystems, Inc. |
---|
| 2 | .\" Copyright (c) 1996 Thinking Machines Corporation |
---|
| 3 | .TH MPI_Type_get_envelope 3 "Dec 08, 2009" "1.4" "Open MPI" |
---|
| 4 | .SH NAME |
---|
| 5 | \fBMPI_Type_get_envelope\fP \- Returns informaion about input arguments associated with a data type. |
---|
| 6 | |
---|
| 7 | .SH SYNTAX |
---|
| 8 | .ft R |
---|
| 9 | .SH C Syntax |
---|
| 10 | .nf |
---|
| 11 | #include <mpi.h> |
---|
| 12 | int MPI_Type_get_envelope(MPI_Datatype \fIdatatype\fP, int *\fInum_integers\fP, |
---|
| 13 | int *\fInum_addresses\fP, int *\fInum_datatypes\fP, int *\fIcombiner\fP) |
---|
| 14 | |
---|
| 15 | .SH Fortran Syntax |
---|
| 16 | .nf |
---|
| 17 | INCLUDE 'mpif.h' |
---|
| 18 | MPI_TYPE_GET_ENVELOPE(\fIDATATYPE, NUM_INTEGERS, NUM_ADDRESSES, |
---|
| 19 | NUM_DATATYPES, COMBINER, IERROR\fP) |
---|
| 20 | INTEGER \fIDATATYPE, NUM_INTEGERS, NUM_ADDRESSES\fP |
---|
| 21 | INTEGER \fINUM_DATATYPES, COMBINER, IERROR\fP |
---|
| 22 | |
---|
| 23 | .SH C++ Syntax |
---|
| 24 | .nf |
---|
| 25 | #include <mpi.h> |
---|
| 26 | void MPI::Datatype::Get_envelope(int& \fInum_integers\fP, |
---|
| 27 | int& \fInum_addresses\fP, int& \fInum_datatypes\fP, |
---|
| 28 | int& \fIcombiner\fP) const |
---|
| 29 | |
---|
| 30 | .SH INPUT PARAMETER |
---|
| 31 | .ft R |
---|
| 32 | .TP 1i |
---|
| 33 | datatype |
---|
| 34 | Data type to access (handle). |
---|
| 35 | |
---|
| 36 | .SH OUTPUT PARAMETERS |
---|
| 37 | .ft R |
---|
| 38 | .TP 1i |
---|
| 39 | num_integers |
---|
| 40 | Number of input integers used in the call constructing \fIcombiner\fP (nonnegative integer). |
---|
| 41 | .TP 1i |
---|
| 42 | num_addresses |
---|
| 43 | Number of input addresses used in the call constructing \fIcombiner\fP (nonnegative integer). |
---|
| 44 | .TP 1i |
---|
| 45 | num_datatypes |
---|
| 46 | Number of input data types used in the call constructing \fIcombiner\fP (nonnegative integer). |
---|
| 47 | .TP 1i |
---|
| 48 | combiner |
---|
| 49 | Combiner (state). |
---|
| 50 | .TP 1i |
---|
| 51 | IERROR |
---|
| 52 | Fortran only: Error status (integer). |
---|
| 53 | |
---|
| 54 | .SH DESCRIPTION |
---|
| 55 | .ft R |
---|
| 56 | 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 \fIdatatype\fP. |
---|
| 57 | |
---|
| 58 | .SH NOTES |
---|
| 59 | .ft R |
---|
| 60 | These are the values that can be returned in \fIcombiner\fP and their associated calls: |
---|
| 61 | .sp |
---|
| 62 | .nf |
---|
| 63 | Values Associated Calls |
---|
| 64 | |
---|
| 65 | MPI_COMBINER_NAMED a named predefined data type |
---|
| 66 | MPI_COMBINER_DUP MPI_Type_dup |
---|
| 67 | MPI_COMBINER_CONTIGUOUS MPI_Type_contiguous |
---|
| 68 | MPI_COMBINER_VECTOR MPI_Type_vector |
---|
| 69 | MPI_COMBINER_HVECTOR_INTEGER MPI_Type_hvector from Fortran |
---|
| 70 | MPI_COMBINER_HVECTOR MPI_Type_hvector from C or C++ |
---|
| 71 | and MPI_Type_create for |
---|
| 72 | all languages |
---|
| 73 | MPI_COMBINER_INDEXED MPI_Type_indexed |
---|
| 74 | MPI_COMBINER_HINDEXED_INTEGER MPI_Type_hindexed from Fortran |
---|
| 75 | MPI_COMBINER_HINDEXED MPI_Type_hindexed from C or C++ |
---|
| 76 | and MPI_Type_create_hindexed |
---|
| 77 | for all languages |
---|
| 78 | MPI_COMBINER_INDEXED_BLOCK MPI_Type_create_indexed_block |
---|
| 79 | MPI_COMBINER_STRUCT_INTEGER MPI_Type_struct from Fortran |
---|
| 80 | MPI_COMBINER_STRUCT MPI_Type_struct from C or C++ |
---|
| 81 | and MPI_Type_create_struct |
---|
| 82 | for all languages |
---|
| 83 | MPI_COMBINER_SUBARRAY MPI_Type_create_subarray |
---|
| 84 | MPI_COMBINER_DARRAY MPI_Type_create_darray |
---|
| 85 | MPI_COMBINER_F90_REAL MPI_Type_create_f90_real |
---|
| 86 | MPI_COMBINER_F90_COMPLEX MPI_Type_create_f90_complex |
---|
| 87 | MPI_COMBINER_F90_INTEGER MPI_Type_create_f90_integer |
---|
| 88 | MPI_COMBINER_RESIZED MPI_Type_create_resized |
---|
| 89 | .fi |
---|
| 90 | .sp |
---|
| 91 | If \fIcombiner\fP is MPI_COMBINER_NAMED, then \fIdatatype\fP is a named predefined data type. |
---|
| 92 | .sp |
---|
| 93 | The actual arguments used in the creation call for a data type can be obtained from the call MPI_Type_get_contents. |
---|
| 94 | |
---|
| 95 | .SH ERRORS |
---|
| 96 | Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions 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. |
---|
| 97 | .sp |
---|
| 98 | Before the error value is returned, the current MPI error handler is |
---|
| 99 | 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. |
---|
| 100 | |
---|
| 101 | .SH SEE ALSO |
---|
| 102 | .ft r |
---|
| 103 | MPI_Type_get_contents |
---|
| 104 | .br |
---|
| 105 | |
---|