MPI_CART_CREATE(comm_old, ndims, dims, periods, reorder, comm_cart) | |

IN comm_old | input communicator (handle) |

IN ndims | number of dimensions of Cartesian grid (integer) |

IN dims | integer array of size ndims specifying the number of processes in each dimension |

IN periods | logical array of size ndims specifying whether the grid is periodic ( true) or not ( false) in each dimension |

IN reorder | ranks may be reordered ( true) or not ( false) (logical) |

OUT comm_cart | new communicator with associated Cartesian topology (handle) |

TYPE(MPI_Comm), INTENT(IN) :: comm_old

INTEGER, INTENT(IN) :: ndims, dims(ndims)

LOGICAL, INTENT(IN) :: periods(ndims), reorder

TYPE(MPI_Comm), INTENT(OUT) :: comm_cart

INTEGER, OPTIONAL, INTENT(OUT) :: ierror

INTEGER COMM_OLD, NDIMS, DIMS(*), COMM_CART, IERROR

LOGICAL PERIODS(*), REORDER

MPI_CART_CREATE returns a handle to a new communicator to which the
Cartesian topology information is attached. If reorder = false then
the rank of each MPI process in the group of the new communicator is identical
to its rank in the group of the old communicator. If reorder = true
then the procedure may reorder the ranks of the MPI processes (possibly so as to
choose a good embedding of the * virtual topology* onto the physical machine).
If the total size of the Cartesian grid is smaller than the size of the group
of comm_old, then some MPI processes return MPI_COMM_NULL, in
analogy to MPI_COMM_SPLIT.
If ndims is zero then a zero-dimensional Cartesian topology is created. The
call is erroneous if it specifies a grid that is larger than the group size or if
ndims is negative.
MPI_CART_CREATE will associate information representing a Cartesian topology
with the specified number of dimensions, numbers of MPI processes in each coordinate
direction, and periodicity with the new communicator.

Return to MPI-4.1 Standard Index

Return to MPI Forum Home Page

(Unofficial) MPI-4.1 of November 2, 2023

HTML Generated on November 19, 2023