ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



MPI_Type_get_contents(3OpenMPI)                                              MPI_Type_get_contents(3OpenMPI)



NAME
       MPI_Type_get_contents - Returns information about arguments used in creation of a data type.


SYNTAX
C Syntax
       #include <mpi.h>
       int MPI_Type_get_contents(MPI_Datatype datatype, int max_integers,
            int max_addresses, int max_datatypes, int array_of_integers[], MPI_Aint array_of_addresses[], MPI_Datatype array_of_datatypes[])


Fortran Syntax (see FORTRAN 77 NOTES)
       INCLUDE 'mpif.h'
       MPI_TYPE_GET_CONTENTS(DATATYPE, MAX_INTEGERS, MAX_ADDRESSES,
                 MAX_DATATYPES, ARRAY_OF_INTEGERS, ARRAY_OF_ADDRESSES,
                 ARRAY_OF_DATATYPES, IERROR)
            INTEGER   DATATYPE, MAX_INTEGERS, MAX_ADDRESSES, MAX_DATATYPES
            INTEGER   ARRAY_OF_INTEGERS(*), ARRAY_OF_DATATYPES(*), IERROR
            INTEGER(KIND=MPI_ADDRESS_KIND) ARRAY_OF_ADDRESSES(*)


C++ Syntax
       #include <mpi.h>
       void MPI::Datatype::Get_contents(int max_integers, int max_addresses,
            int max_datatypes, int array_of_integers[],
            MPI::Aint array_of_addresses[],
            MPI::Datatype array_of_datatypes[]) const


INPUT PARAMETERS
       datatype  Data type to access (handle).

       max_integers
                 Number of elements in array_of_integers (nonnegative integer).

       max_addresses
                 Number of elements in array_of_addresses (nonnegative integer).

       max_datatypes
                 Number of elements in array_of_datatypes (nonnegative integer).


OUTPUT PARAMETERS
       array_of_integers
                 Contains integer arguments used in constructing datatype (array of integers).

       array_of_addresses
                 Contains address arguments used in constructing datatype (array of integers).

       array_of_datatypes
                 Contains data-type arguments used in constructing datatype (array of integers).

       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 the 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.

       The  parameter datatype must be a predefined unnamed or a derived data type. The call is erroneous if
       datatype is a predefined named data type.

       The values given for max_integers, max_addresses, and max_datatypes must be at least as large as  the
       value  returned  in  num_integers,  num_addresses,  and  num_datatypes,  respectively,  in  the  call
       MPI_Type_get_envelope for the same datatype argument.

       The data types returned in array_of_datatypes are handles to data-type objects that are equivalent to
       the  data  types  used  in the original construction call. If these were derived data types, then the
       returned data types are new data-type  objects,  and  the  user  is  responsible  for  freeing  these
       datatypes  with  MPI_Type_free.  If  these were predefined data types, then the returned data type is
       equal to that (constant) predefined data type and cannot be freed.

       The committed state of returned derived data types is undefined, that is, the data types may  or  may
       not be committed. Furthermore, the content of attributes of returned data types is undefined.

       Note  that  MPI_Type_get_contents can be invoked with a data-type argument that was constructed using
       MPI_Type_create_f90_real, MPI_Type_create_f90_integer,  or  MPI_Type_create_f90_complex  (an  unnamed
       predefined data type). In such a case, an empty array_of_datatypes is returned.

       In  the  MPI-1  data-type constructor calls, the address arguments in Fortran are of type INTEGER. In
       the new MPI-2 calls, the address arguments are of  type  INTEGER(KIND=MPI  ADDRESS  KIND).  The  call
       MPI_Type_get_contents  returns  all  addresses in an argument of type INTEGER(KIND=MPI ADDRESS KIND).
       This is true even if the old MPI-1 calls were used. Thus, the location  of  values  returned  can  be
       thought  of as being returned by the C bindings. It can also be determined by examining the new MPI-2
       calls for data-type constructors for the deprecated MPI-1 calls that involve addresses.


FORTRAN 77 NOTES
       The MPI standard prescribes portable Fortran syntax for the ARRAY_OF_ADDRESSES argument only for For-tran Fortran
       tran 90. FORTRAN 77 users may use the non-portable syntax

            INTEGER*MPI_ADDRESS_KIND ARRAY_OF_ADDRESSES(*)

       where  MPI_ADDRESS_KIND  is a constant defined in mpif.h and gives the length of the declared integer
       in bytes.


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++ 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.

       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_envelope




Open MPI 1.2                                   September 2006                MPI_Type_get_contents(3OpenMPI)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.