All MPI processes in both groups identified by the inter-communicator must call the collective routine.
Note that the ``in place'' option for intra-communicators does not apply to inter-communicators since in the inter-communicator case there is no communication from an MPI process to itself.
For inter-communicator collective communication, if the operation is in the All-To-One or One-To-All categories, then the transfer is unidirectional. The direction of the transfer is indicated by a special value of the root argument. In this case, for the group containing the root, all MPI processes in the group must call the routine using a special argument for the root. For this, the root uses the special value MPI_ROOT; all other MPI processes in the same group as the root use MPI_PROC_NULL. All MPI processes in the other group (the group that is the remote group relative to the root) must call the collective routine and provide the rank of the root. If the operation is in the All-To-All category, then the transfer is bidirectional.
Rationale.
Operations in the All-To-One
and One-To-All categories are unidirectional by nature, and there is a clear
way of specifying direction.
Operations in the All-To-All category will often occur as part of
an exchange, where it makes sense to communicate in both directions at once.
( End of rationale.)