.. _mpi_comm_set_info:


MPI_Comm_set_info
=================

.. include_body

:ref:`MPI_Comm_set_info` |mdash| Set communicator info hints

.. The following file was automatically generated
.. include:: ./bindings/mpi_comm_set_info.rst

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`
