1
1

Converted first half of MPI_C* (from MPI_Cancel to MPI_Close_port)

Signed-off-by: Colton Kammes <ckammes@nd.edu>
Этот коммит содержится в:
Colton Kammes 2020-10-30 10:30:46 -04:00
родитель dca2058e2f
Коммит a08f8d30dd
20 изменённых файлов: 820 добавлений и 702 удалений

Просмотреть файл

@ -1,84 +0,0 @@
.\" -*- nroff -*-
.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved.
.\" Copyright 2006-2008 Sun Microsystems, Inc.
.\" Copyright (c) 1996 Thinking Machines Corporation
.\" Copyright (c) 2020 Google, LLC. All rights reserved.
.\" $COPYRIGHT$
.TH MPI_Cancel 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Cancel\fP \- Cancels a communication request.
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Cancel(MPI_Request\fI *request\fP)
.fi
.SH Fortran Syntax
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_CANCEL(\fIREQUEST\fP, \fIIERROR\fP)
INTEGER \fIREQUEST\fP, \fIIERROR\fP
.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Cancel(\fIrequest\fP, \fIierror\fP)
TYPE(MPI_Request), INTENT(IN) :: \fIrequest\fP
INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP
.fi
.SH INPUT PARAMETER
.ft R
.TP 1i
request
Communication request (handle).
.SH OUTPUT PARAMETER
.ft R
.TP 1i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
The MPI_Cancel operation allows pending communications to be canceled. This is required for cleanup. Posting a send or a receive ties up user resources (send or receive buffers), and a cancel may be needed to free these resources gracefully.
.sp
A call to MPI_Cancel marks for cancellation a pending, nonblocking communication operation (send or receive). The cancel call is local. It returns immediately, possibly before the communication is actually canceled. It is still necessary to complete a communication that has been marked for cancellation, using a call to MPI_Request_free, MPI_Wait, or MPI_Test (or any of the derived operations).
.sp
If a communication is marked for cancellation, then an MPI_Wait call for that communication is guaranteed to return, irrespective of the activities of other processes (i.e., MPI_Wait behaves as a local function); similarly if MPI_Test is repeatedly called in a busy wait loop for a canceled communication, then MPI_Test will eventually be successful.
.sp
MPI_Cancel can be used to cancel a communication that uses a persistent request (see Section 3.9 in the MPI-1 Standard, "Persistent Communication Requests") in the same way it is used for nonpersistent requests. A successful cancellation cancels the active communication, but not the request itself. After the call to MPI_Cancel and the subsequent call to MPI_Wait or MPI_Test, the request becomes inactive and can be activated for a new communication.
.sp
The successful cancellation of a buffered send frees the buffer space occupied by the pending message.
.sp
Either the cancellation succeeds or the communication succeeds, but not both. If a send is marked for cancellation, then it must be the case that either the send completes normally, in which case the message sent is received at the destination process, or that the send is successfully canceled, in which case no part of the message is received at the destination. Then, any matching receive has to be satisfied by another send. If a receive is marked for cancellation, then it must be the case that either the receive completes normally, or that the receive is successfully canceled, in which case no part of the receive buffer is altered. Then, any matching send has to be satisfied by another receive.
.sp
If the operation has been canceled, then information to that effect will be returned in the status argument of the operation that completes the communication.
.SH NOTES
.ft R
The primary expected use of MPI_Cancel is in multi-buffering schemes,
where speculative MPI_Irecvs are made. When the
computation completes, some of these requests may remain;
using MPI_Cancel allows the user to cancel these unsatisfied requests.
.SH ERRORS
Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument.
.sp
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.
.SH SEE ALSO
.ft R
.sp
.nf
MPI_Probe
MPI_Iprobe
MPI_Test_cancelled
MPI_Cart_coords

114
ompi/mpi/man/man3/MPI_Cancel.md Исполняемый файл
Просмотреть файл

@ -0,0 +1,114 @@
# Name
`MPI_Cancel` - Cancels a communication request.
# Syntax
## C Syntax
```c
#include <mpi.h>
int MPI_Cancel(MPI_Request *request)
```
## Fortran Syntax
```fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_CANCEL(REQUEST, IERROR)
INTEGER REQUEST, IERROR
```
## Fortran 2008 Syntax
```fortran
USE mpi_f08
MPI_Cancel(request, ierror)
TYPE(MPI_Request), INTENT(IN) :: request
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
```
# Input Parameter
* `request` : Communication request (handle).
# Output Parameter
* `IERROR` : Fortran only: Error status (integer).
# Description
The `MPI_Cancel` operation allows pending communications to be canceled.
This is required for cleanup. Posting a send or a receive ties up user
resources (send or receive buffers), and a cancel may be needed to free
these resources gracefully.
A call to `MPI_Cancel` marks for cancellation a pending, nonblocking
communication operation (send or receive). The cancel call is local. It
returns immediately, possibly before the communication is actually
canceled. It is still necessary to complete a communication that has
been marked for cancellation, using a call to `MPI_Request_free,`
`MPI_Wait`, or `MPI_Test` (or any of the derived operations).
If a communication is marked for cancellation, then an `MPI_Wait` call for
that communication is guaranteed to return, irrespective of the
activities of other processes (i.e., `MPI_Wait` behaves as a local
function); similarly if `MPI_Test` is repeatedly called in a busy wait
loop for a canceled communication, then `MPI_Test` will eventually be
successful.
`MPI_Cancel` can be used to cancel a communication that uses a persistent
`request` (see Section 3.9 in the MPI-1 Standard, "Persistent
Communication Requests") in the same way it is used for nonpersistent
`request`s. A successful cancellation cancels the active communication,
but not the `request` itself. After the call to `MPI_Cancel` and the
subsequent call to `MPI_Wait` or `MPI_Test`, the `request` becomes inactive
and can be activated for a new communication.
The successful cancellation of a buffered send frees the buffer space
occupied by the pending message.
Either the cancellation succeeds or the communication succeeds, but not
both. If a send is marked for cancellation, then it must be the case
that either the send completes normally, in which case the message sent
is received at the destination process, or that the send is successfully
canceled, in which case no part of the message is received at the
destination. Then, any matching receive has to be satisfied by another
send. If a receive is marked for cancellation, then it must be the case
that either the receive completes normally, or that the receive is
successfully canceled, in which case no part of the receive buffer is
altered. Then, any matching send has to be satisfied by another receive.
If the operation has been canceled, then information to that effect will
be returned in the status argument of the operation that completes the
communication.
# Notes
The primary expected use of `MPI_Cancel` is in multi-buffering schemes,
where speculative `MPI_Irecvs` are made. When the computation completes,
some of these `request`s may remain; using `MPI_Cancel` allows the user to
cancel these unsatisfied `request`s.
# Errors
Almost all MPI routines return an error value; C routines as the value
of the function and Fortran routines in the last argument.
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_Probe`(3)](MPI_Probe.html)
[`MPI_Iprobe`(3)](MPI_Iprobe.html)
[`MPI_Test_cancelled`(3)](MPI_Test_cancelled.html)
[`MPI_Cart_coords`(3)](MPI_Cart_coords.html)

Просмотреть файл

@ -1,69 +0,0 @@
.\" -*- nroff -*-
.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved.
.\" Copyright 2006-2008 Sun Microsystems, Inc.
.\" Copyright (c) 1996 Thinking Machines Corporation
.\" Copyright (c) 2020 Google, LLC. All rights reserved.
.\" $COPYRIGHT$
.TH MPI_Cart_coords 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Cart_coords\fP \- Determines process coords in Cartesian topology given rank in group.
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Cart_coords(MPI_Comm \fIcomm\fP, int\fI rank\fP, int\fI maxdims\fP,
int\fI coords\fP[])
.fi
.SH Fortran Syntax
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_CART_COORDS(\fICOMM\fP,\fI RANK\fP,\fI MAXDIMS\fP,\fI COORDS\fP, \fIIERROR\fP)
INTEGER \fICOMM\fP,\fI RANK\fP,\fI MAXDIMS\fP,\fI COORDS(\fI*\fP)\fP,\fI IERROR
.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Cart_coords(\fIcomm\fP, \fIrank\fP, \fImaxdims\fP, \fIcoords\fP, \fIierror\fP)
TYPE(MPI_Comm), INTENT(IN) :: \fIcomm\fP
INTEGER, INTENT(IN) :: \fIrank\fP, \fImaxdims\fP
INTEGER, INTENT(OUT) :: \fIcoords(maxdims)\fP
INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP
.fi
.SH INPUT PARAMETERS
.ft R
.TP 1i
comm
Communicator with Cartesian structure (handle).
.TP 1i
rank
Rank of a process within group of comm (integer).
.TP 1i
maxdims
Length of vector coords in the calling program (integer).
.SH OUTPUT PARAMETERS
.ft R
.TP 1i
coords
Integer array (of size ndims,which was defined by MPI_Cart_create call) containing the Cartesian coordinates of specified process (integer).
.ft R
.TP 1i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
MPI_Cart_coords provies a mapping of ranks to Cartesian coordinates.
.SH ERRORS
Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument.
.sp
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.

66
ompi/mpi/man/man3/MPI_Cart_coords.md Исполняемый файл
Просмотреть файл

@ -0,0 +1,66 @@
# Name
`MPI_Cart_coords` - Determines process coords in Cartesian topology
given rank in group.
# Syntax
## C Syntax
```c
#include <mpi.h>
int MPI_Cart_coords(MPI_Comm comm, int rank, int maxdims,
int coords[])
```
## Fortran Syntax
```fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_CART_COORDS(COMM, RANK, MAXDIMS, COORDS, IERROR)
INTEGER COMM, RANK, MAXDIMS, COORDS(*), IERROR
```
## Fortran 2008 Syntax
```fortran
USE mpi_f08
MPI_Cart_coords(comm, rank, maxdims, coords, ierror)
TYPE(MPI_Comm), INTENT(IN) :: comm
INTEGER, INTENT(IN) :: rank, maxdims
INTEGER, INTENT(OUT) :: coords(maxdims)
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
```
# Input Parameters
* `comm` : Communicator with Cartesian structure (handle).
* `rank` : Rank of a process within group of comm (integer).
* `maxdims` : Length of vector coords in the calling program (integer).
Length of vector coords in the calling program (integer).
# Output Parameters
* `coords` : Integer array (of size ndims,which was defined by MPI_Cart_create
call) containing the Cartesian coordinates of specified process
(integer).
* `IERROR` : Fortran only: Error status (integer).
# Description
`MPI_Cart_coords` provies a mapping of `rank`s to Cartesian coordinates.
# Errors
Almost all MPI routines return an error value; C routines as the value
of the function and Fortran routines in the last argument.
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.

Просмотреть файл

@ -1,81 +0,0 @@
.\" -*- nroff -*-
.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved.
.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved.
.\" Copyright 2006-2008 Sun Microsystems, Inc.
.\" Copyright (c) 1996 Thinking Machines Corporation
.\" Copyright (c) 2020 Google, LLC. All rights reserved.
.\" $COPYRIGHT$
.TH MPI_Cart_create 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Cart_create\fP \- Makes a new communicator to which Cartesian topology information has been attached.
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Cart_create(MPI_Comm\fI comm_old\fP, int\fI ndims\fP, const int\fI dims\fP[],
const int\fI periods\fP[], int\fI reorder\fP, MPI_Comm\fI *comm_cart\fP)
.fi
.SH Fortran Syntax
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_CART_CREATE(\fICOMM_OLD\fP,\fI NDIMS\fP,\fI DIMS\fP,\fI PERIODS\fP,\fI REORDER\fP,
\fICOMM_CART\fP,\fI IERROR\fP)
INTEGER \fICOMM_OLD\fP,\fI NDIMS\fP,\fI DIMS\fP(*),\fI COMM_CART\fP,\fI IERROR\fP
LOGICAL \fIPERIODS\fI(*),\fI REORDER\fP
.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Cart_create(\fIcomm_old\fP, \fIndims\fP, \fIdims\fP, \fIperiods\fP, \fIreorder\fP, \fIcomm_cart\fP, \fIierror\fP)
TYPE(MPI_Comm), INTENT(IN) :: \fIcomm_old\fP
INTEGER, INTENT(IN) :: \fIndims\fP, \fIdims(ndims)\fP
LOGICAL, INTENT(IN) :: \fIperiods(ndims)\fP, \fIreorder\fP
TYPE(MPI_Comm), INTENT(OUT) :: \fIcomm_cart\fP
INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP
.fi
.SH INPUT PARAMETERS
.ft R
.TP 1i
comm_old
Input communicator (handle).
.TP 1i
ndims
Number of dimensions of Cartesian grid (integer).
.TP 1i
dims
Integer array of size ndims specifying the number of processes in each
dimension.
.TP 1i
periods
Logical array of size ndims specifying whether the grid is periodic (true)
or not (false) in each dimension.
.TP 1i
reorder
Ranking may be reordered (true) or not (false) (logical).
.SH OUTPUT PARAMETERS
.ft R
.TP 1i
comm_cart
Communicator with new Cartesian topology (handle).
.ft R
.TP 1i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
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 process in the new group is identical to its rank in the old group. Otherwise, the function may reorder the 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, then some processes are returned MPI_COMM_NULL, in analogy to MPI_Comm_split. The call is erroneous if it specifies a grid that is larger than the group size.
.SH ERRORS
Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument.
.sp
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.

80
ompi/mpi/man/man3/MPI_Cart_create.md Исполняемый файл
Просмотреть файл

@ -0,0 +1,80 @@
# Name
`MPI_Cart_create` - Makes a new communicator to which Cartesian
topology information has been attached.
# Syntax
## C Syntax
```c
#include <mpi.h>
int MPI_Cart_create(MPI_Comm comm_old, int ndims, const int dims[],
const int periods[], int reorder, MPI_Comm *comm_cart)
```
## Fortran Syntax
```fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_CART_CREATE(COMM_OLD, NDIMS, DIMS, PERIODS, REORDER,
COMM_CART, IERROR)
INTEGER COMM_OLD, NDIMS, DIMS(*), COMM_CART, IERROR
LOGICAL PERIODS(*), REORDER
```
## Fortran 2008 Syntax
```fortran
USE mpi_f08
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
```
# Input Parameters
* `comm_old` : Input communicator (handle).
* `ndims` : Number of dimensions of Cartesian grid (integer).
* `dims` : Integer array of size ndims specifying the number of processes in
each dimension.
* `periods` : Logical array of size ndims specifying whether the grid is periodic
(true) or not (false) in each dimension.
* `reorder` : Ranking may be reordered (true) or not (false) (logical).
# Output Parameters
* `comm_cart` : Communicator with new Cartesian topology (handle).
* `IERROR` : Fortran only: Error status (integer).
# Description
`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 process in the new group is identical to its rank in the
old group. Otherwise, the function may `reorder` the 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, then some processes are returned
`MPI_COMM_NULL`, in analogy to `MPI_Comm_split`. The call is erroneous if it
specifies a grid that is larger than the group size.
# Errors
Almost all MPI routines return an error value; C routines as the value
of the function and Fortran routines in the last argument.
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.

Просмотреть файл

@ -1,80 +0,0 @@
.\" -*- nroff -*-
.\" Copyright 2014 Cisco Systems, Inc. All rights reserved.
.\" Copyright 2006-2008 Sun Microsystems, Inc.
.\" Copyright (c) 1996 Thinking Machines Corporation
.\" Copyright (c) 2020 Google, LLC. All rights reserved.
.\" $COPYRIGHT$
.TH MPI_Cart_get 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Cart_get\fP \- Retrieves Cartesian topology information associated with a communicator.
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Cart_get(MPI_Comm\fI comm\fP, int\fI maxdims\fP, int\fI dims\fP[], int\fI periods\fP[],
int\fI coords\fP[])
.fi
.SH Fortran Syntax
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_CART_GET(\fICOMM\fP, \fIMAXDIMS\fP, \fIDIMS\fP, \fIPERIODS\fP, \fICOORDS\fP, \fIIERROR\fP)
INTEGER \fICOMM\fP, \fIMAXDIMS\fP, \fIDIMS\fP(*), \fICOORDS\fP(*), \fIIERROR\fP
LOGICAL \fIPERIODS\fP(*)
.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Cart_get(\fIcomm\fP, \fImaxdims\fP, \fIdims\fP, \fIperiods\fP, \fIcoords\fP, \fIierror\fP)
TYPE(MPI_Comm), INTENT(IN) :: \fIcomm\fP
INTEGER, INTENT(IN) :: \fImaxdims\fP
INTEGER, INTENT(OUT) :: \fIdims(maxdims)\fP, \fIcoords(maxdims)\fP
LOGICAL, INTENT(OUT) :: \fIperiods(maxdims)\fP
INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP
.fi
.SH INPUT PARAMETERS
.ft R
.TP 1i
comm
Communicator with Cartesian structure (handle).
.TP 1i
maxdims
Length of vectors dims, periods, and coords in the calling program (integer).
.SH OUTPUT PARAMETERS
.ft R
.TP 1i
dims
Number of processes for each Cartesian dimension (array of integers).
.TP 1i
periods
Periodicity (true/false) for each Cartesian dimension (array of logicals).
.TP 1i
coords
Coordinates of calling process in Cartesian structure (array of integers).
.ft R
.TP 1i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
The functions MPI_Cartdim_get and MPI_Cart_get return the Cartesian topology information that was associated with a communicator by MPI_Cart_create.
.SH ERRORS
Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument.
.sp
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.
.SH SEE ALSO
.ft R
.sp
.nf
MPI_Cartdim_get
MPI_Cart_create

77
ompi/mpi/man/man3/MPI_Cart_get.md Исполняемый файл
Просмотреть файл

@ -0,0 +1,77 @@
# Name
`MPI_Cart_get` - Retrieves Cartesian topology information associated
with a communicator.
# Syntax
## C Syntax
```c
#include <mpi.h>
int MPI_Cart_get(MPI_Comm comm, int maxdims, int dims[], int periods[],
int coords[])
```
## Fortran Syntax
```fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_CART_GET(COMM, MAXDIMS, DIMS, PERIODS, COORDS, IERROR)
INTEGER COMM, MAXDIMS, DIMS(*), COORDS(*), IERROR
LOGICAL PERIODS(*)
```
## Fortran 2008 Syntax
```fortran
USE mpi_f08
MPI_Cart_get(comm, maxdims, dims, periods, coords, ierror)
TYPE(MPI_Comm), INTENT(IN) :: comm
INTEGER, INTENT(IN) :: maxdims
INTEGER, INTENT(OUT) :: dims(maxdims), coords(maxdims)
LOGICAL, INTENT(OUT) :: periods(maxdims)
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
```
# 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 `comm`unicator 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.
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`(3)](MPI_Cartdim_get.html)
[`MPI_Cart_create`(3)](MPI_Cart_create.html)

Просмотреть файл

@ -1,82 +0,0 @@
.\" -*- nroff -*-
.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved.
.\" Copyright 2010 Cisco Systems, Inc. All rights reserved.
.\" Copyright 2006-2008 Sun Microsystems, Inc.
.\" Copyright (c) 1996 Thinking Machines Corporation
.\" Copyright (c) 2020 Google, LLC. All rights reserved.
.\" $COPYRIGHT$
.TH MPI_Cart_map 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Cart_map \fP \- Maps process to Cartesian topology information.
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Cart_map(MPI_Comm \fIcomm\fP, int\fI ndims\fP, const int\fI dims\fP[],
const int\fI periods\fP[], int\fI *newrank\fP)
.fi
.SH Fortran Syntax
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_CART_MAP(\fICOMM, NDIMS, DIMS, PERIODS, NEWRANK, IERROR\fP)
INTEGER \fICOMM, NDIMS, DIMS(*), NEWRANK, IERROR\fP
LOGICAL \fIPERIODS\fP(*)
.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Cart_map(\fIcomm\fP, \fIndims\fP, \fIdims\fP, \fIperiods\fP, \fInewrank\fP, \fIierror\fP)
TYPE(MPI_Comm), INTENT(IN) :: \fIcomm\fP
INTEGER, INTENT(IN) :: \fIndims\fP, \fIdims(ndims)\fP
LOGICAL, INTENT(IN) :: \fIperiods(ndims)\fP
INTEGER, INTENT(OUT) :: \fInewrank\fP
INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP
.fi
.SH INPUT PARAMETERS
.ft R
.TP 1i
comm
Input communicator (handle).
.TP 1i
ndims
Number of dimensions of Cartesian structure (integer).
.TP 1i
dims
Integer array of size ndims specifying the number of processes in each
coordinate direction.
.TP 1i
periods
Logical array of size ndims specifying the periodicity specification in each coordinate direction.
.SH OUTPUT PARAMETERS
.ft R
.TP 1i
newrank
Reordered rank of the calling process; MPI_UNDEFINED if calling process does not belong to grid (integer).
.ft R
.TP 1i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
MPI_Cart_map and MPI_Graph_map can be used to implement all other topology functions. In general they will not be called by the user directly, unless he or she is creating additional virtual topology capability other than that provided by MPI.
.sp
MPI_Cart_map computes an "optimal" placement for the calling process on the physical machine. A possible implementation of this function is to always return the rank of the calling process, that is, not to perform any reordering.
.SH ERRORS
Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument.
.sp
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.
.SH SEE ALSO
.ft R
.sp
MPI_Graph_map

79
ompi/mpi/man/man3/MPI_Cart_map.md Исполняемый файл
Просмотреть файл

@ -0,0 +1,79 @@
# Name
`MPI_Cart_map` - Maps process to Cartesian topology information.
# Syntax
## C Syntax
```c
#include <mpi.h>
int MPI_Cart_map(MPI_Comm comm, int ndims, const int dims[],
const int periods[], int *newrank)
```
## Fortran Syntax
```fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_CART_MAP(COMM, NDIMS, DIMS, PERIODS, NEWRANK, IERROR)
INTEGER COMM, NDIMS, DIMS(*), NEWRANK, IERROR
LOGICAL PERIODS(*)
```
## Fortran 2008 Syntax
```fortran
USE mpi_f08
MPI_Cart_map(comm, ndims, dims, periods, newrank, ierror)
TYPE(MPI_Comm), INTENT(IN) :: comm
INTEGER, INTENT(IN) :: ndims, dims(ndims)
LOGICAL, INTENT(IN) :: periods(ndims)
INTEGER, INTENT(OUT) :: newrank
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
```
# Input Parameters
* `comm` : Input communicator (handle).
* `ndims` : Number of dimensions of Cartesian structure (integer).
* `dims` : Integer array of size ndims specifying the number of processes in
each coordinate direction.
* `periods` : Logical array of size ndims specifying the periodicity specification
in each coordinate direction.
# Output Parameters
* `newrank` : Reordered rank of the calling process; `MPI_UNDEFINED` if calling
process does not belong to grid (integer).
* `IERROR` : Fortran only: Error status (integer).
# Description
`MPI_Cart_map` and `MPI_Graph_map` can be used to implement all other
topology functions. In general they will not be called by the user
directly, unless he or she is creating additional virtual topology
capability other than that provided by MPI.
`MPI_Cart_map` computes an "optimal" placement for the calling process
on the physical machine. A possible implementation of this function is
to always return the rank of the calling process, that is, not to
perform any reordering.
# Errors
Almost all MPI routines return an error value; C routines as the value
of the function and Fortran routines in the last argument.
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_Graph_map`(3)](MPI_Graph_map.html)

Просмотреть файл

@ -1,69 +0,0 @@
.\" -*- nroff -*-
.\" Copyright 2010 Cisco Systems, Inc. All rights reserved.
.\" Copyright 2006-2008 Sun Microsystems, Inc.
.\" Copyright (c) 1996 Thinking Machines Corporation
.\" Copyright (c) 2020 Google, LLC. All rights reserved.
.\" $COPYRIGHT$
.TH MPI_Cart_rank 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Cart_rank \fP \- Determines process rank in communicator given Cartesian location.
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Cart_rank(MPI_Comm \fIcomm\fP, int\fI coords\fP[], int\fI *rank\fP)
.fi
.SH Fortran Syntax
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_CART_RANK(\fICOMM, COORDS, RANK, IERROR\fP)
INTEGER \fICOMM, COORDS(*), RANK, IERROR\fP
.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Cart_rank(\fIcomm\fP, \fIcoords\fP, \fIrank\fP, \fIierror\fP)
TYPE(MPI_Comm), INTENT(IN) :: \fIcomm\fP
INTEGER, INTENT(IN) :: \fIcoords(*)\fP
INTEGER, INTENT(OUT) :: \fIrank\fP
INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP
.fi
.SH INPUT PARAMETERS
.ft R
.TP 1i
comm
Communicator with Cartesian structure (handle).
.TP 1i
coords
Integer array (of size ndims, which was defined by MPI_Cart_create call) specifying the Cartesian coordinates of a process.
.SH OUTPUT PARAMETER
.ft R
.TP 1i
rank
Rank of specified process (integer).
.ft R
.TP 1i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
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.
.SH ERRORS
Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument.
.sp
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.
.SH SEE ALSO
.sp
MPI_Cart_create

72
ompi/mpi/man/man3/MPI_Cart_rank.md Исполняемый файл
Просмотреть файл

@ -0,0 +1,72 @@
# Name
`MPI_Cart_rank` - Determines process rank in communicator given
Cartesian location.
# Syntax
## C Syntax
```c
#include <mpi.h>
int MPI_Cart_rank(MPI_Comm comm, int coords[], int *rank)
```
## Fortran Syntax
```fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_CART_RANK(COMM, COORDS, RANK, IERROR)
INTEGER COMM, COORDS(*), RANK, IERROR
```
## Fortran 2008 Syntax
```fortran
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
```
# 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 `rank`s 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.
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`(3)](MPI_Cart_create.html)

Просмотреть файл

@ -1,101 +0,0 @@
.\" -*- nroff -*-
.\" Copyright 2010 Cisco Systems, Inc. All rights reserved.
.\" Copyright 2006-2008 Sun Microsystems, Inc.
.\" Copyright (c) 1996 Thinking Machines
.\" Copyright (c) 2020 Google, LLC. All rights reserved.
.\" $COPYRIGHT$
.TH MPI_Cart_shift 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Cart_shift \fP \- Returns the shifted source and destination ranks, given a shift direction and amount.
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Cart_shift(MPI_Comm \fIcomm\fP, int\fI direction\fP, int\fI disp\fP,
int\fI *rank_source\fP, int\fI *rank_dest\fP)
.fi
.SH Fortran Syntax
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_CART_SHIFT(\fICOMM, DIRECTION, DISP, RANK_SOURCE,
RANK_DEST, IERROR\fP)
INTEGER \fICOMM, DIRECTION, DISP, RANK_SOURCE\fP
INTEGER \fIRANK_DEST, IERROR\fP
.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Cart_shift(\fIcomm\fP, \fIdirection\fP, \fIdisp\fP, \fIrank_source\fP, \fIrank_dest\fP, \fIierror\fP)
TYPE(MPI_Comm), INTENT(IN) :: \fIcomm\fP
INTEGER, INTENT(IN) :: \fIdirection\fP, \fIdisp\fP
INTEGER, INTENT(OUT) :: \fIrank_source\fP, \fIrank_dest\fP
INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP
.fi
.SH INPUT PARAMETERS
.ft R
.TP 1i
comm
Communicator with Cartesian structure (handle).
.TP 1i
direction
Coordinate dimension of shift (integer).
.TP 1i
disp
Displacement ( > 0: upward shift, < 0: downward shift) (integer).
.SH OUTPUT PARAMETERS
.ft R
.TP 1i
rank_source
Rank of source process (integer).
.TP 1i
rank_dest
Rank of destination process (integer).
.ft R
.TP 1i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
If the process topology is a Cartesian structure, an MPI_Sendrecv operation is likely to be used along a coordinate direction to perform a shift of data. As input, MPI_Sendrecv takes the rank of a source process for the receive, and the rank of a destination process for the send. If the function MPI_Cart_shift is called for a Cartesian process group, it provides the calling process with the above identifiers, which then can be passed to MPI_Sendrecv. The user specifies the coordinate direction and the size of the step (positive or negative). The function is local.
.sp
The direction argument indicates the dimension of the shift, i.e., the coordinate whose value is modified by the shift. The coordinates are numbered from 0 to ndims-1, where ndims is the number of dimensions.
.sp
\fBNote:\fP The direction argument is in the range [0, n-1] for an n-dimensional Cartesian mesh.
.sp
Depending on the periodicity of the Cartesian group in the specified coordinate direction, MPI_Cart_shift provides the identifiers for a circular or an end-off shift. In the case of an end-off shift, the value MPI_PROC_NULL may be returned in rank_source or rank_dest, indicating that the source or the destination for the shift is out of range.
.sp
\fBExample:\fP The communicator, comm, has a two-dimensional, periodic, Cartesian topology associated with it. A two-dimensional array of REALs is stored one element per process, in variable A. One wishes to skew this array, by shifting column i (vertically, i.e., along the column) by i steps.
.sp
.nf
\&....
C find process rank
CALL MPI_COMM_RANK(comm, rank, ierr)
C find Cartesian coordinates
CALL MPI_CART_COORDS(comm, rank, maxdims, coords,
ierr)
C compute shift source and destination
CALL MPI_CART_SHIFT(comm, 0, coords(2), source,
dest, ierr)
C skew array
CALL MPI_SENDRECV_REPLACE(A, 1, MPI_REAL, dest, 0,
source, 0, comm, status,
ierr)
.fi
.SH NOTE
In Fortran, the dimension indicated by DIRECTION = i has DIMS(i+1) nodes, where DIMS is the array that was used to create the grid. In C, the dimension indicated by direction = i is the dimension specified by dims[i].
.SH ERRORS
Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument.
.sp
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.

112
ompi/mpi/man/man3/MPI_Cart_shift.md Исполняемый файл
Просмотреть файл

@ -0,0 +1,112 @@
# Name
`MPI_Cart_shift` - Returns the shifted source and destination ranks,
given a shift direction and amount.
# Syntax
## C Syntax
```c
#include <mpi.h>
int MPI_Cart_shift(MPI_Comm comm, int direction, int disp,
int *rank_source, int *rank_dest)
```
## Fortran Syntax
```fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_CART_SHIFT(COMM, DIRECTION, DISP, RANK_SOURCE,
RANK_DEST, IERROR)
INTEGER COMM, DIRECTION, DISP, RANK_SOURCE
INTEGER RANK_DEST, IERROR
```
## Fortran 2008 Syntax
```fortran
USE mpi_f08
MPI_Cart_shift(comm, direction, disp, rank_source, rank_dest, ierror)
TYPE(MPI_Comm), INTENT(IN) :: comm
INTEGER, INTENT(IN) :: direction, disp
INTEGER, INTENT(OUT) :: rank_source, rank_dest
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
```
# Input Parameters
* `comm` : Communicator with Cartesian structure (handle).
* `direction` : Coordinate dimension of shift (integer).
* `disp` : Displacement ( > 0: upward shift, < 0: downward shift) (integer).
# Output Parameters
* `rank_source` : Rank of source process (integer).
* `rank_dest` : Rank of destination process (integer).
* `IERROR` : Fortran only: Error status (integer).
# Description
If the process topology is a Cartesian structure, an `MPI_Sendrecv`
operation is likely to be used along a coordinate `direction` to perform a
shift of data. As input, `MPI_Sendrecv` takes the rank of a source process
for the receive, and the rank of a destination process for the send. If
the function `MPI_Cart_shift` is called for a Cartesian process group, it
provides the calling process with the above identifiers, which then can
be passed to `MPI_Sendrecv`. The user specifies the coordinate `direction`
and the size of the step (positive or negative). The function is local.
The `direction` argument indicates the dimension of the shift, i.e., the
coordinate whose value is modified by the shift. The coordinates are
numbered from 0 to ndims-1, where ndims is the number of dimensions.
Note: The `direction` argument is in the range [0, n-1] for an
n-dimensional Cartesian mesh.
Depending on the periodicity of the Cartesian group in the specified
coordinate `direction`, `MPI_Cart_shift` provides the identifiers for a
circular or an end-off shift. In the case of an end-off shift, the value
`MPI_PROC_NULL` may be returned in ``rank_source`` or ``rank_dest``, indicating
that the source or the destination for the shift is out of range.
Example: The `comm`unicator, `comm`, has a two-dimensional, periodic,
Cartesian topology associated with it. A two-dimensional array of REALs
is stored one element per process, in variable A. One wishes to skew
this array, by shifting column i (vertically, i.e., along the column) by
i steps.
```fortran
! find process rank
CALL MPI_COMM_RANK(comm, rank, ierr)
! find Cartesian coordinates
CALL MPI_CART_COORDS(comm, rank, maxdims, coords, ierr)
! compute shift source and destination
CALL MPI_CART_SHIFT(comm, 0, coords(2), source, dest, ierr)
! skew array
CALL MPI_SENDRECV_REPLACE(A, 1, MPI_REAL, dest, 0, source, 0, comm, status,
ierr)
```
# Note
In Fortran, the dimension indicated by DIRECTION = i has DIMS(i+1) nodes,
where DIMS is the array that was used to create the grid. In C, the
dimension indicated by direction = i is the dimension specified by
dims[i].
# Errors
Almost all MPI routines return an error value; C routines as the value
of the function and Fortran routines in the last argument.
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.

86
ompi/mpi/man/man3/MPI_Cart_sub.md Обычный файл
Просмотреть файл

@ -0,0 +1,86 @@
# Name
`MPI_Cart_sub` - Partitions a communicator into subgroups, which form
lower-dimensional Cartesian subgrids.
# Syntax
## C Syntax
```c
#include <mpi.h>
int MPI_Cart_sub(MPI_Comm comm, const int remain_dims[], MPI_Comm *comm_new)
```
## Fortran Syntax
```fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_CART_SUB(COMM, REMAIN_DIMS, COMM_NEW, IERROR)
INTEGER COMM, COMM_NEW, IERROR
LOGICAL REMAIN_DIMS(*)
```
## Fortran 2008 Syntax
```fortran
USE mpi_f08
MPI_Cart_sub(comm, remain_dims, newcomm, ierror)
TYPE(MPI_Comm), INTENT(IN) :: comm
LOGICAL, INTENT(IN) :: remain_dims(*)
TYPE(MPI_Comm), INTENT(OUT) :: newcomm
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
```
# 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-dimensional 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.
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`(3)](MPI_Cart_create.html)
[`MPI_Comm_split`(3)](MPI_Comm_split.html)

Просмотреть файл

@ -1,68 +0,0 @@
.\" -*- nroff -*-
.\" Copyright 2010 Cisco Systems, Inc. All rights reserved.
.\" Copyright 2006-2008 Sun Microsystems, Inc.
.\" Copyright (c) 1996 Thinking Machines Corporation
.\" Copyright (c) 2020 Google, LLC. All rights reserved.
.\" $COPYRIGHT$
.TH MPI_Cartdim_get 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Cartdim_get \fP \- Retrieves Cartesian topology information associated with a communicator.
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Cartdim_get(MPI_Comm\fI comm\fP, int\fI *ndims\fP)
.fi
.SH Fortran Syntax
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_CARTDIM_GET(\fICOMM, NDIMS, IERROR\fP)
INTEGER \fICOMM, NDIMS, IERROR\fP
.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Cartdim_get(\fIcomm\fP, \fIndims\fP, \fIierror\fP)
TYPE(MPI_Comm), INTENT(IN) :: \fIcomm\fP
INTEGER, INTENT(OUT) :: \fIndims\fP
INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP
.fi
.SH INPUT PARAMETER
.ft R
.TP 1i
comm
Communicator with Cartesian structure (handle).
.SH OUTPUT PARAMETERS
.ft R
.TP 1i
ndims
Number of dimensions of the Cartesian structure (integer).
.ft R
.TP 1i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
MPI_Cartdim_get returns the number of dimensions of the Cartesian structure.
.SH ERRORS
Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument.
.sp
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.
.SH SEE ALSO
.ft R
.sp
.nf
MPI_Cart_get
MPI_Cart_create

66
ompi/mpi/man/man3/MPI_Cartdim_get.md Исполняемый файл
Просмотреть файл

@ -0,0 +1,66 @@
# Name
`MPI_Cartdim_get` - Retrieves Cartesian topology information
associated with a communicator.
# Syntax
## C Syntax
```c
#include <mpi.h>
int MPI_Cartdim_get(MPI_Comm comm, int *ndims)
```
## Fortran Syntax
```fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_CARTDIM_GET(COMM, NDIMS, IERROR)
INTEGER COMM, NDIMS, IERROR
```
## Fortran 2008 Syntax
```fortran
USE mpi_f08
MPI_Cartdim_get(comm, ndims, ierror)
TYPE(MPI_Comm), INTENT(IN) :: comm
INTEGER, INTENT(OUT) :: ndims
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
```
# Input Parameter
* `comm` : Communicator with Cartesian structure (handle).
# Output Parameters
* `ndims` : Number of dimensions of the Cartesian structure (integer).
* `IERROR` : Fortran only: Error status (integer).
# Description
`MPI_Cartdim_get` returns the number of dimensions of the Cartesian
structure.
# Errors
Almost all MPI routines return an error value; C routines as the value
of the function and Fortran routines in the last argument.
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_get`(3)](MPI_Cart_get.html)
[`MPI_Cart_create`(3)](MPI_Cart_create.html)

Просмотреть файл

@ -1,58 +0,0 @@
.\" -*- nroff -*-
.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved.
.\" Copyright 2010 Cisco Systems, Inc. All rights reserved.
.\" Copyright 2006-2008 Sun Microsystems, Inc.
.\" Copyright (c) 1996 Thinking Machines Corporation
.\" Copyright (c) 2020 Google, LLC. All rights reserved.
.\" $COPYRIGHT$
.TH MPI_Close_port 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Close_port \fP \- Releases the specified network address.
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Close_port(const char *\fIport_name\fP)
.fi
.SH Fortran Syntax
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_CLOSE_PORT(\fIPORT_NAME, IERROR\fP)
CHARACTER*(*) \fIPORT_NAME\fP
INTEGER \fIIERROR\fP
.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Close_port(\fIport_name\fP, \fIierror\fP)
CHARACTER(LEN=*), INTENT(IN) :: \fIport_name\fP
INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP
.fi
.SH INPUT PARAMETER
.ft R
.TP 1i
port_name
A port (string).
.SH OUTPUT PARAMETER
.ft R
.TP 1i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
MPI_Close_port releases the network address represented by \fIport_name\fP.
.SH ERRORS
Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument.
.sp
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.

58
ompi/mpi/man/man3/MPI_Close_port.md Исполняемый файл
Просмотреть файл

@ -0,0 +1,58 @@
# Name
`MPI_Close_port` - Releases the specified network address.
# Syntax
## C Syntax
```c
#include <mpi.h>
int MPI_Close_port(const char *port_name)
```
## Fortran Syntax
```fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_CLOSE_PORT(PORT_NAME, IERROR)
CHARACTER*(*) PORT_NAME
INTEGER IERROR
```
## Fortran 2008 Syntax
```fortran
USE mpi_f08
MPI_Close_port(port_name, ierror)
CHARACTER(LEN=*), INTENT(IN) :: port_name
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
```
# Input Parameter
* `port_name` : A port (string).
# Output Parameter
* `IERROR` : Fortran only: Error status (integer).
# Description
`MPI_Close_port` releases the network address represented by `port_name`.
# Errors
Almost all MPI routines return an error value; C routines as the value
of the function and Fortran routines in the last argument.
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.

Просмотреть файл

@ -29,6 +29,16 @@ MD_FILES = \
MPI_Bsend_init.md \
MPI_Buffer_attach.md \
MPI_Buffer_detach.md \
MPI_Cancel.md \
MPI_Cart_coords.md \
MPI_Cart_create.md \
MPI_Cart_get.md \
MPI_Cart_map.md \
MPI_Cart_rank.md \
MPI_Cart_shift.md \
MPI_Close_port.md \
MPI_Cart_sub.md \
MPI_Cartdim_get.md \
MPI_T_init_thread.3.md \
MPI_Status_f2c.3.md \
MPI_Status_f082c.3.md \
@ -69,16 +79,6 @@ TEMPLATE_FILES = \
MPI_Attr_put.3in \
MPI_Ibarrier.3in \
MPI_Ibcast.3in \
MPI_Cancel.3in \
MPI_Cart_coords.3in \
MPI_Cart_create.3in \
MPI_Cartdim_get.3in \
MPI_Cart_get.3in \
MPI_Cart_map.3in \
MPI_Cart_rank.3in \
MPI_Cart_shift.3in \
MPI_Cart_sub.3in \
MPI_Close_port.3in \
MPI_Comm_accept.3in \
MPI_Comm_c2f.3in \
MPI_Comm_call_errhandler.3in \