9.5.1. Cartesian Constructor

PreviousUpNext
Up: Topology Constructors Next: Cartesian Convenience Function: MPI_DIMS_CREATE Previous: Topology Constructors

MPI_CART_CREATE(comm_old, ndims, dims, periods, reorder, comm_cart)
IN comm_oldinput communicator (handle)
IN ndimsnumber of dimensions of Cartesian grid (integer)
IN dimsinteger array of size ndims specifying the number of processes in each dimension
IN periodslogical array of size ndims specifying whether the grid is periodic ( true) or not ( false) in each dimension
IN reorderranks may be reordered ( true) or not ( false) (logical)
OUT comm_cartnew communicator with associated Cartesian topology (handle)
C binding
int MPI_Cart_create(MPI_Comm comm_old, int ndims, const int dims[], const int periods[], int reorder, MPI_Comm *comm_cart)
Fortran 2008 binding
MPI_Cart_create(comm_old, ndims, dims, periods, reorder, comm_cart, ierror)

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
Fortran binding
MPI_CART_CREATE(COMM_OLD, NDIMS, DIMS, PERIODS, REORDER, COMM_CART, 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.


PreviousUpNext
Up: Topology Constructors Next: Cartesian Convenience Function: MPI_DIMS_CREATE Previous: Topology Constructors


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