Provided by: openmpi-doc_4.1.6-7ubuntu2_all bug

NAME

       MPI_Cart_rank  -  Determines process rank in communicator given Cartesian location.

SYNTAX

C Syntax

       #include <mpi.h>
       int MPI_Cart_rank(MPI_Comm comm, int coords[], int *rank)

Fortran Syntax

       USE MPI
       ! or the older form: INCLUDE 'mpif.h'
       MPI_CART_RANK(COMM, COORDS, RANK, IERROR)
            INTEGER   COMM, COORDS(*), RANK, IERROR

Fortran 2008 Syntax

       USE mpi_f08
       MPI_Cart_rank(comm, coords, rank, ierror)
            TYPE(MPI_Comm), INTENT(IN) :: comm
            INTEGER, INTENT(IN) :: coords(*)
            INTEGER, INTENT(OUT) :: rank
            INTEGER, OPTIONAL, INTENT(OUT) :: ierror

C++ Syntax

       #include <mpi.h>
       int Cartcomm::Get_cart_rank(const int coords[]) const

INPUT PARAMETERS

       comm      Communicator with Cartesian structure (handle).

       coords    Integer  array  (of  size  ndims,  which  was  defined  by MPI_Cart_create call) specifying the
                 Cartesian coordinates of a process.

OUTPUT PARAMETER

       rank      Rank of specified process (integer).

       IERROR    Fortran only: Error status (integer).

DESCRIPTION

       For a process group with Cartesian structure, the function MPI_Cart_rank translates the  logical  process
       coordinates  to  process  ranks  as  they  are used by the point-to-point routines.  For dimension i with
       periods(i) = true, if the coordinate, coords(i), is out of range, that is, coords(i) < 0 or  coords(i) >=
       dims(i),  it  is  shifted  back  to  the  interval   0 =< coords(i) < dims(i) automatically. Out-of-range
       coordinates are erroneous for nonperiodic dimensions.

ERRORS

       Almost all MPI routines return an error value; C routines as  the  value  of  the  function  and  Fortran
       routines in the last argument. C++ functions do not return errors. If the default error handler is set to
       MPI::ERRORS_THROW_EXCEPTIONS, then on error the  C++  exception  mechanism  will  be  used  to  throw  an
       MPI::Exception object.

       Before  the  error  value  is  returned,  the current MPI error handler is called. By default, this error
       handler aborts the MPI job, except for I/O function  errors.  The  error  handler  may  be  changed  with
       MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values
       to be returned. Note that MPI does not guarantee that an MPI program can continue past an error.

SEE ALSO

       MPI_Cart_create