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
|
.. _mpi_comm_set_info:
MPI_Comm_set_info
=================
.. include_body
:ref:`MPI_Comm_set_info` |mdash| Set communicator info hints
SYNTAX
------
C Syntax
^^^^^^^^
.. code-block:: c
#include <mpi.h>
int MPI_Comm_set_info(MPI_Comm comm, MPI_Info info)
Fortran Syntax
^^^^^^^^^^^^^^
.. code-block:: fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_SET_INFO(COMM, INFO, IERROR)
INTEGER COMM, INFO, IERROR
Fortran 2008 Syntax
^^^^^^^^^^^^^^^^^^^
.. code-block:: fortran
USE mpi_f08
MPI_Comm_set_info(comm, info, ierror)
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
INPUT PARAMETERS
----------------
* ``comm``: Communicator on which to set info hints
* ``info``: Info object containing hints to be set on *comm*
OUTPUT PARAMETERS
-----------------
* ``ierror``: Fortran only: Error status (integer).
DESCRIPTION
-----------
:ref:`MPI_Comm_set_info` sets new values for the hints of the communicator
associated with *comm*. :ref:`MPI_Comm_set_info` is a collective routine. The
info object may be different on each process, but any info entries that
an implementation requires to be the same on all processes must appear
with the same value in each process's *info* object.
The following info key assertions may be accepted by Open MPI:
*mpi_assert_no_any_tag* (boolean): If set to true, then the
implementation may assume that the process will not use the ``MPI_ANY_TAG``
wildcard on the given communicator.
*mpi_assert_no_any_source* (boolean): If set to true, then the
implementation may assume that the process will not use the
``MPI_ANY_SOURCE`` wildcard on the given communicator.
*mpi_assert_exact_length* (boolean): If set to true, then the
implementation may assume that the lengths of messages received by the
process are equal to the lengths of the corresponding receive buffers,
for point-to-point communication operations on the given communicator.
*mpi_assert_allow_overtaking* (boolean): If set to true, then the
implementation may assume that point-to-point communications on the
given communicator do not rely on the non-overtaking rule specified in
MPI-3.1 Section 3.5. In other words, the application asserts that send
operations are not required to be matched at the receiver in the order
in which the send operations were performed by the sender, and receive
operations are not required to be matched in the order in which they
were performed by the receiver.
ERRORS
------
.. include:: ./ERRORS.rst
.. seealso::
* :ref:`MPI_Comm_get_info`
* :ref:`MPI_Info_create`
* :ref:`MPI_Info_set`
* :ref:`MPI_Info_free`
|