Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mpi_cart_sub(3openmpi) [osx man page]

MPI_Cart_sub(3OpenMPI)													    MPI_Cart_sub(3OpenMPI)

NAME
MPI_Cart_sub - Partitions a communicator into subgroups, which form lower-dimensional Cartesian subgrids. SYNTAX
C Syntax #include <mpi.h> int MPI_Cart_sub(MPI_Comm comm, int *remain_dims, MPI_Comm *comm_new) Fortran Syntax INCLUDE 'mpif.h' MPI_CART_SUB(COMM, REMAIN_DIMS, COMM_NEW, IERROR) INTEGER COMM, COMM_NEW, IERROR LOGICAL REMAIN_DIMS(*) C++ Syntax #include <mpi.h> Cartcomm Cartcomm::Sub(const bool remain_dims[]) const INPUT PARAMETERS
comm Communicator with Cartesian structure (handle). remain_dims The ith entry of remain_dims specifies whether the ith dimension is kept in the subgrid (true) or is dropped (false) (logical vector). OUTPUT PARAMETERS
comm_new Communicator containing the subgrid that includes the calling process (handle). IERROR Fortran only: Error status (integer). DESCRIPTION
If a Cartesian topology has been created with MPI_Cart_create, the function MPI_Cart_sub can be used to partition the communicator group into subgroups that form lower-dimensional Cartesian subgrids, and to build for each subgroup a communicator with the associated subgrid Cartesian topology. (This function is closely related to MPI_Comm_split.) Example: Assume that MPI_Cart_create( ..., comm) has defined a (2 x 3 x 4) grid. Let remain_dims = (true, false, true). Then a call to MPI_Cart_sub(comm, remain_dims, comm_new) will create three communicators, each with eight processes in a 2 x 4 Cartesian topology. If remain_dims = (false, false, true) then the call to MPI_Cart_sub(comm, remain_dims, comm_new) will create six nonoverlapping communicators, each with four processes, in a one-dimen- sional Cartesian topology. 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++ func- tions 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 MPI_Comm_split Open MPI 1.2 September 2006 MPI_Cart_sub(3OpenMPI)

Check Out this Related Man Page

MPI_Cart_get(3OpenMPI)													    MPI_Cart_get(3OpenMPI)

NAME
MPI_Cart_get - Retrieves Cartesian topology information associated with a communicator. SYNTAX
C Syntax #include <mpi.h> int MPI_Cart_get(MPI_Comm comm, int maxdims, int *dims, int *periods, int *coords) Fortran Syntax INCLUDE 'mpif.h' MPI_CART_GET(COMM, MAXDIMS, DIMS, PERIODS, COORDS, IERROR) INTEGER COMM, MAXDIMS, DIMS(*), COORDS(*), IERROR LOGICAL PERIODS(*) C++ Syntax #include <mpi.h> void Cartcomm::Get_topo(int maxdims, int dims[], bool periods[], int coords[]) const INPUT PARAMETERS
comm Communicator with Cartesian structure (handle). maxdims Length of vectors dims, periods, and coords in the calling program (integer). OUTPUT PARAMETERS
dims Number of processes for each Cartesian dimension (array of integers). periods Periodicity (true/false) for each Cartesian dimension (array of logicals). coords Coordinates of calling process in Cartesian structure (array of integers). IERROR Fortran only: Error status (integer). DESCRIPTION
The functions MPI_Cartdim_get and MPI_Cart_get return the Cartesian topology information that was associated with a communicator by MPI_Cart_create. 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++ func- tions 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_Cartdim_get MPI_Cart_create Open MPI 1.2 September 2006 MPI_Cart_get(3OpenMPI)
Man Page