Open MPI logo

MPI_Type_dup(3) man page (version 1.2.9)

  |   Home   |   Support   |   FAQ   |  

« Return to documentation listing


       MPI_Type_dup - Duplicates a data type with associated key values.


C Syntax

       #include <mpi.h>
       int MPI_Type_dup(MPI_Datatype type, MPI_Datatype *newtype)

Fortran Syntax

       INCLUDE 'mpif.h'

C++ Syntax

       #include <mpi.h>
       MPI::Datatype MPI::Datatype::Dup() const


       type      Data type (handle).


       newtype   Copy of type (handle).

       IERROR    Fortran only: Error status (integer).


       MPI_Type_dup  is  a  type constructor that duplicates the existing type
       with associated key values. For each key  value,  the  respective  copy
       callback  function  determines the attribute value associated with this
       key in the new communicator. One particular action that a copy callback
       may  take is to delete the attribute from the new data type. Returns in
       newtype a new data type with exactly the same properties  as  type,  as
       well  as any copied cached information. The new data type has identical
       upper bound and lower bound and yields the same net result  when  fully
       decoded  with the functions described in Section 8.6 of the MPI-2 stan-
       dard. newtype has the same committed state as the old type.


       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.

« Return to documentation listing