Open MPI logo

MPI_Register_datarep(3) man page (version 1.3.4)

  |   Home   |   Support   |   FAQ   |  

« Return to documentation listing



NAME

       MPI_Register_datarep - Defines data representation.

SYNTAX

       C Syntax
           #include <mpi.h>
           int MPI_Register_datarep(char *datarep,
                  MPI_Datarep_conversion_function *read_conversion_fn,
                  MPI_Datarep_conversion_function *write_conversion_fn,
                  MPI_Datarep_extent_function *dtype_file_extent_fn,
                  void *extra_state)

       Fortran Syntax
           INCLUDE 'mpif.h'
           MPI_REGISTER_DATAREP(DATAREP, READ_CONVERSION_FN,
            WRITE_CONVERSION_FN, DTYPE_FILE_EXTENT_FN,
            EXTRA_STATE, IERROR)
                 CHARACTER*(*) DATAREP
                 EXTERNAL READ_CONVERSION_FN, WRITE_CONVERSION_FN,
                          DTYPE_FILE_EXTENT_FN
                 INTEGER   IERROR
                 INTEGER(KIND=MPI_ADDRESS_KIND) EXTRA_STATE

C++ Syntax

       #include <mpi.h>
       void MPI::Register_datarep(const char* datarep,
            MPI::Datarep_conversion_function* read_conversion_fn,
            MPI::Datarep_conversion_function* write_conversion_fn,
            MPI::Datarep_extent_function* dtype_file_extent_fn,
            void* extra_state)

INPUT PARAMETERS

       datarep   Data representation identifier (string).

       read_conversion_fn
                 Function  invoked  to  convert  from  file  representation to
                 native representation (function).

       write_conversion_fn
                 Function invoked to convert  from  native  representation  to
                 file representation (function).

       dtype_file_extent_fn
                 Function  invoked  to get the extent of a data type as repre-
                 sented in the file (function).

       extra_state
                 Extra state.

OUTPUT PARAMETER

       IERROR    Fortran only: Error status (integer).

       this routine,  you  may  specify  its  identifier  as  an  argument  to
       MPI_File_set_view,  causing  subsequent  data-access operations to call
       the specified conversion functions.

       The  call  associates  read_conversion_fn,   write_conversion_fn,   and
       dtype_file_extent_fn  with  the data representation identifier datarep.
       datarep can then be used as an argument to  MPI_File_set_view,  causing
       subsequent  data  access operations to call the conversion functions to
       convert all data items accessed between file  data  representation  and
       native  representation.  MPI_Register_datarep  is a local operation and
       only registers the data representation for the calling MPI process.  If
       datarep   is   already   defined,   an   error   in   the  error  class
       MPI_ERR_DUP_DATAREP is raised using the default file error handler. The
       length  of  a  data  representation  string  is limited to the value of
       MPI_MAX_DATAREP_STRING. MPI_MAX_DATAREP_STRING must have a value of  at
       least  64.  No routines are provided to delete data representations and
       free the associated resources; it is not expected that  an  application
       will generate them in significant numbers.

NOTES

       The  Fortran version of each MPI I/O routine includes a final argument,
       IERROR, which is not defined in the PARAMETERS sections. This  argument
       is used to return the error status of the routine in the manner typical
       for Fortran library routines.

       The C version of each routine returns an error  status  as  an  integer
       return value.

       Error  classes  are  found  in mpi.h (for C), mpif.h (for Fortran), and
       mpi++.h (for C++).

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.  For  MPI I/O function errors, the default error handler is set
       to  MPI_ERRORS_RETURN.  The  error  handler   may   be   changed   with
       MPI_File_set_errhandler;      the      predefined     error     handler
       MPI_ERRORS_ARE_FATAL may be used to make I/O errors  fatal.  Note  that
       MPI  does not guarantee that an MPI program can continue past an error.

1.3.4                            Nov 11, 2009          MPI_Register_datarep(3)

« Return to documentation listing