1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
|
.. _mpi_file_set_info:
MPI_File_set_info
=================
.. include_body
:ref:`MPI_File_set_info` |mdash| Sets new values for hints (collective).
SYNTAX
------
C Syntax
^^^^^^^^
.. code-block:: c
#include <mpi.h>
int MPI_File_set_info(MPI_File fh, MPI_Info info)
Fortran Syntax
^^^^^^^^^^^^^^
.. code-block:: fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_FILE_SET_INFO(FH, INFO, IERROR)
INTEGER FH, INFO, IERROR
Fortran 2008 Syntax
^^^^^^^^^^^^^^^^^^^
.. code-block:: fortran
USE mpi_f08
MPI_File_set_info(fh, info, ierror)
TYPE(MPI_File), INTENT(IN) :: fh
TYPE(MPI_Info), INTENT(IN) :: info
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
INPUT/OUTPUT PARAMETER
----------------------
* ``fh``: File handle (handle).
INPUT PARAMETER
---------------
* ``info``: Info object (handle).
OUTPUT PARAMETER
----------------
* ``ierror``: Fortran only: Error status (integer).
DESCRIPTION
-----------
:ref:`MPI_File_set_info` is a collective routine that sets new values
for the hints of the file associated with *fh*. These hints are set
for each file, using the :ref:`MPI_File_open`, :ref:`MPI_File_delete`,
:ref:`MPI_File_set_view`, and :ref:`MPI_File_set_info` routines. The
opaque *info* object, which allows you to provide hints for
optimization of your code, may be different on each process, but some
*info* entries are required to be the same on all processes: In these
cases, they must appear with the same value in each process's info
object. See the :ref:`HINTS section <man-openmpi-mpi-file-set-info>`
for a list of hints that can be set.
.. _man-openmpi-mpi-file-set-info:
HINTS
-----
The following hints can be used as values for the *info* argument.
**SETTABLE HINTS**
* ``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.
.. 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.
* ``noncoll_write_bufsize``: Maximum size of the buffer used by MPI
I/O to satisfy write requests in the noncollective data-access
routines.
See the above note in ``noncoll_read_bufsize``.
* ``coll_read_bufsize``: Maximum size of the buffer used by MPI I/O to
satisfy read requests in the collective data-access routines.
See the above note in ``noncoll_read_bufsize``.
* ``coll_write_bufsize``: Maximum size of the buffer used by MPI I/O
to satisfy write requests in the collective data-access
routines.
See the above note in ``noncoll_read_bufsize``.
* ``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.
ERRORS
------
.. include:: ./ERRORS.rst
|