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
|
.. _mpi_group_incl:
MPI_Group_incl
==============
.. include_body
:ref:`MPI_Group_incl` |mdash| Produces a group by reordering an existing group and
taking only listed members.
SYNTAX
------
C Syntax
^^^^^^^^
.. code-block:: c
#include <mpi.h>
int MPI_Group_incl(MPI_Group group, int n, const int ranks[],
MPI_Group *newgroup)
Fortran Syntax
^^^^^^^^^^^^^^
.. code-block:: fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_GROUP_INCL(GROUP, N, RANKS, NEWGROUP, IERROR)
INTEGER GROUP, N, RANKS(*), NEWGROUP, IERROR
Fortran 2008 Syntax
^^^^^^^^^^^^^^^^^^^
.. code-block:: fortran
USE mpi_f08
MPI_Group_incl(group, n, ranks, newgroup, ierror)
TYPE(MPI_Group), INTENT(IN) :: group
INTEGER, INTENT(IN) :: n, ranks(n)
TYPE(MPI_Group), INTENT(OUT) :: newgroup
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
INPUT PARAMETERS
----------------
* ``group`` : Group (handle).
* ``n`` : Number of elements in array ranks (and size of
newgroup)(integer).
* ``ranks`` : Ranks of processes in group to appear in newgroup (array of
integers).
OUTPUT PARAMETERS
-----------------
* ``newgroup`` : New group derived from above, in the order defined by
ranks (handle).
* ``ierror`` : Fortran only: Error status (integer).
DESCRIPTION
-----------
The function :ref:`MPI_Group_incl` creates a group group_out that consists of
the n processes in group with ranks rank[0], ..., rank[n-1]; the process
with rank i in group_out is the process with rank ranks[i] in group.
Each of the n elements of ranks must be a valid rank in group and all
elements must be distinct, or else the program is erroneous. If n = 0,
then group_out is MPI_GROUP_EMPTY. This function can, for instance, be
used to reorder the elements of a group.
NOTE
----
This implementation does not currently check to ensure that there are no
duplicates in the list of ranks.
ERRORS
------
.. include:: ./ERRORS.rst
.. seealso:: :ref:`MPI_Group_compare`
|