MPI_File_set_view(3)               Open MPI               MPI_File_set_view(3)



NAME
       MPI_File_set_view - Changes process's view of data in file
       (collective).

SYNTAX
       C Syntax
           #include <mpi.h>
           int MPI_File_set_view(MPI_File fh, MPI_Offset disp,
                  MPI_Datatype etype, MPI_Datatype filetype,
                  char *datarep, MPI_Info info)

       Fortran Syntax (see FORTRAN 77 NOTES)
           INCLUDE 'mpif.h'
           MPI_FILE_SET_VIEW(FH, DISP, ETYPE,
                   FILETYPE, DATAREP, INFO, IERROR)
             INTEGER FH, ETYPE, FILETYPE, INFO, IERROR
             CHARACTER*(*) DATAREP
             INTEGER(KIND=MPI_OFFSET_KIND) DISP


C++ Syntax
       #include <mpi.h>
       void MPI::File::Set_view(MPI::Offset disp,
            const MPI::Datatype& etype,
            const MPI::Datatype& filetype, const char* datarep,
            const MPI::Info& info)


INPUT/OUTPUT PARAMETER
       fh        File handle (handle).


INPUT PARAMETERS
       disp      Displacement (integer).

       etype     Elementary data type (handle).

       filetype  File type (handle). See Restrictions, below.

       datarep   Data representation (string).

       info      Info object (handle).


OUTPUT PARAMETER
       IERROR    Fortran only: Error status (integer).


DESCRIPTION
       The MPI_File_set_view routine changes the process's view of the data in
       the file -- the beginning of the data accessible in the file through
       that view is set to disp; the type of data is set to etype; and the
       distribution of data to processes is set to filetype.  In addition,
       MPI_File_set_view resets the independent file pointers and the shared
       file pointer to zero. MPI_File_set_view is collective; all processes in
       the group must pass identical values for fh and etype; values for disp,
       filetype, and info may vary. It is erroneous to use the shared file
       pointer data-access routines unless identical values for disp and
       filetype are also given. The data types passed in etype and filetype
       must be committed.

       The disp displacement argument specifies the position (absolute offset
       in bytes from the beginning of the file) where the view begins.

       The MPI_File_set_view interface allows the user to pass a data-
       representation string to MPI I/O via the datarep argument. To obtain
       the default value (or "native"), pass NULL. The user can also pass
       information via the info argument. See the HINTS section for a list of
       hints that can be set. For more information, see the MPI-2 standard.


HINTS
       The following hints can be used as values for the info argument.

       SETTABLE HINTS:

       - MPI_INFO_NULL

       - shared_file_timeout: Amount of time (in seconds) to wait for access
       to the shared file pointer before exiting with MPI_ERR_TIMEDOUT.

       - rwlock_timeout: Amount of time (in seconds) to wait for obtaining a
       read or write lock on a contiguous chunk of a UNIX file before exiting
       with MPI_ERR_TIMEDOUT.

       - noncoll_read_bufsize:  Maximum size of the buffer used by MPI I/O to
       satisfy read requests in the noncollective data-access routines. (See
       NOTE, below.)

       - noncoll_write_bufsize: Maximum size of the buffer used by MPI I/O to
       satisfy write requests in the noncollective data-access routines. (See
       NOTE, below.)

       - coll_read_bufsize:  Maximum size of the buffer used by MPI I/O to
       satisfy read requests in the collective data-access routines. (See
       NOTE, below.)

       - coll_write_bufsize:  Maximum size of the buffer used by MPI I/O to
       satisfy write requests in the collective data-access routines. (See
       NOTE, below.)

       NOTE: A buffer size smaller than the distance (in bytes) in a UNIX file
       between the first byte and the last byte of the access request causes
       MPI I/O to iterate and perform multiple UNIX read() or write() calls.
       If the request includes multiple noncontiguous chunks of data, and the
       buffer size is greater than the size of those chunks, then the UNIX
       read() or write() (made at the MPI I/O level) will access data not
       requested by this process in order to reduce the total number of
       write() calls made. If this is not desirable behavior, you should
       reduce this buffer size to equal the size of the contiguous chunks
       within the aggregate request.

       - mpiio_concurrency: (boolean) controls whether nonblocking I/O
       routines can bind an extra thread to an LWP.

       - mpiio_coll_contiguous: (boolean) controls whether subsequent
       collective data accesses will request collectively contiguous regions
       of the file.

       NON-SETTABLE HINTS:

       - filename: Access this hint to get the name of the file.


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

            INTEGER*MPI_OFFSET_KIND DISP

       where MPI_OFFSET_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. 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.4.1                            Jan 14, 2010             MPI_File_set_view(3)
