1
1

Merge pull request #8162 from Colton-K/pr/MPI_C_batch2

Converted batch 2 of MPI_C* (MPI_Comm_accept - MPI_Comm_dup_with_info)
Этот коммит содержится в:
Jeff Squyres 2020-10-31 13:20:14 -04:00 коммит произвёл GitHub
родитель fe03602d1f ee3bd5859e
Коммит 6f2a5b91cd
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
25 изменённых файлов: 1035 добавлений и 1054 удалений

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

@ -1,85 +0,0 @@
.\" -*- nroff -*-
.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved.
.\" Copyright 2009-2010 Cisco Systems, Inc. All rights reserved.
.\" Copyright 2007, Sun Microsystems, Inc.
.\" Copyright (c) 1996 Thinking Machines Corporation
.\" Copyright (c) 2020 Google, LLC. All rights reserved.
.\" Copyright (c) 2020 FUJITSU LIMITED. All rights reserved.
.\" $COPYRIGHT$
.TH MPI_Comm_accept 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Comm_accept \fP \- Establishes communication with a client.
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Comm_accept(const char *\fIport_name\fP, MPI_Info \fIinfo\fP, int \fIroot\fP, MPI_Comm \fIcomm\fP, MPI_Comm *\fInewcomm\fP)
.fi
.SH Fortran Syntax
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_ACCEPT(\fIPORT_NAME, INFO, ROOT, COMM, NEWCOMM, IERROR\fP)
CHARACTER*(*) \fIPORT_NAME\fP
INTEGER \fIINFO, ROOT, COMM, NEWCOMM, IERROR\fP
.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Comm_accept(\fIport_name\fP, \fIinfo\fP, \fIroot\fP, \fIcomm\fP, \fInewcomm\fP, \fIierror\fP)
CHARACTER(LEN=*), INTENT(IN) :: \fIport_name\fP
TYPE(MPI_Info), INTENT(IN) :: \fIinfo\fP
INTEGER, INTENT(IN) :: \fIroot\fP
TYPE(MPI_Comm), INTENT(IN) :: \fIcomm\fP
TYPE(MPI_Comm), INTENT(OUT) :: \fInewcomm\fP
INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP
.fi
.SH INPUT PARAMETERS
.ft R
.TP 1i
port_name
Port name (string, used only on \fIroot\fP).
.TP 1i
info
Options given by root for the accept (handle, used only on root). No options currently supported.
.TP 1i
root
Rank in \fIcomm\fP of root node (integer).
.TP 1i
comm
Intracommunicator over which call is collective (handle).
.SH OUTPUT PARAMETERS
.ft R
.TP 1i
newcomm
Intercommunicator with client as remote group (handle)
.TP 1i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
MPI_Comm_accept establishes communication with a client. It is collective over the calling communicator. It returns an intercommunicator that allows communication with the client, after the client has connected with the MPI_Comm_accept function using the MPI_Comm_connect function.
.sp
The \fIport_name\fP must have been established through a call to MPI_Open_port on the root.
.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.
.sp
See the MPI man page for a full list of MPI error codes.
.SH SEE ALSO
MPI_Comm_connect
MPI_Open_port
.br

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

@ -0,0 +1,78 @@
# Name
`MPI_Comm_accept` - Establishes communication with a client.
# Syntax
## C Syntax
```c
#include <mpi.h>
int MPI_Comm_accept(const char *port_name, MPI_Info info, int root, MPI_Comm comm, MPI_Comm *newcomm)
```
## Fortran Syntax
```fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_ACCEPT(PORT_NAME, INFO, ROOT, COMM, NEWCOMM, IERROR)
CHARACTER*(*) PORT_NAME
INTEGER INFO, ROOT, COMM, NEWCOMM, IERROR
```
## Fortran 2008 Syntax
```fortran
USE mpi_f08
MPI_Comm_accept(port_name, info, root, comm, newcomm, ierror)
CHARACTER(LEN=*), INTENT(IN) :: port_name
TYPE(MPI_Info), INTENT(IN) :: info
INTEGER, INTENT(IN) :: root
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Comm), INTENT(OUT) :: newcomm
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
```
# Input Parameters
* `port_name` : Port name (string, used only on *root*).
* `info` : Options given by root for the accept (handle, used only on root). No
options currently supported.
* `root` : Rank in *comm* of root node (integer).
* `comm` : Intracommunicator over which call is collective (handle).
# Output Parameters
* `newcomm` : Intercommunicator with client as remote group (handle)
* `IERROR` : Fortran only: Error status (integer).
# Description
`MPI_Comm_accept` establishes communication with a client. It is
collective over the calling communicator. It returns an
intercommunicator that allows communication with the client, after the
client has connected with the `MPI_Comm_accept` function using the
`MPI_Comm_connect` function.
The `port_name` must have been established through a call to
`MPI_Open_port` on the `root`.
# 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.
See the MPI man page for a full list of MPI error codes.
# See Also
[`MPI_Comm_connect`(3)](MPI_Comm_connect.html)
[`MPI_Open_port`(3)](MPI_Open_port.html)

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

@ -1,81 +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_Comm_call_errhandler 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Comm_call_errhandler\fP \- Passes the supplied error code to the
error handler assigned to a communicator
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Comm_call_errhandler(MPI_Comm \fIcomm\fP, int \fIerrorcode\fP)
.fi
.SH Fortran Syntax
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_CALL_ERRHANDLER(\fICOMM, ERRORCODE, IERROR\fP)
INTEGER \fICOMM, ERRORCODE, IERROR\fP
.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Comm_call_errhandler(\fIcomm\fP, \fIerrorcode\fP, \fIierror\fP)
TYPE(MPI_Comm), INTENT(IN) :: \fIcomm\fP
INTEGER, INTENT(IN) :: \fIerrorcode\fP
INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP
.fi
.SH INPUT PARAMETER
.ft R
.TP 1.4i
comm
communicator with error handler (handle).
.ft R
.TP 1.4i
errorcode
error code (integer).
.SH OUTPUT PARAMETERS
.ft R
.TP 1.4i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
This function invokes the error handler assigned to the communicator
\fIcomm\fP with the supplied error code \fIerrorcode\fP. If the error
handler was successfully called, the process is not aborted, and the
error handler returns, this function returns MPI_SUCCESS.
.SH NOTES
.ft R
Users should note that the default error handler is
MPI_ERRORS_ARE_FATAL. Thus, calling this function will abort the
processes in \fIcomm\fP if the default error handler has not been
changed.
.SH ERRORS
.ft R
Almost all MPI routines return an error value; C routines as
the value of the function and Fortran routines in the last argument.
.sp
See the MPI man page for a full list of MPI error codes.
.SH SEE ALSO
.ft R
.nf
MPI_Comm_create_errhandler
MPI_Comm_set_errhandler

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

@ -0,0 +1,69 @@
# Name
`MPI_Comm_call_errhandler` - Passes the supplied error code to the
error handler assigned to a communicator
# Syntax
## C Syntax
```c
#include <mpi.h>
int MPI_Comm_call_errhandler(MPI_Comm comm, int errorcode)
```
## Fortran Syntax
```fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_CALL_ERRHANDLER(COMM, ERRORCODE, IERROR)
INTEGER COMM, ERRORCODE, IERROR
```
## Fortran 2008 Syntax
```fortran
USE mpi_f08
MPI_Comm_call_errhandler(comm, errorcode, ierror)
TYPE(MPI_Comm), INTENT(IN) :: comm
INTEGER, INTENT(IN) :: errorcode
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
```
# Input Parameter
* `comm` : communicator with error handler (handle).
* `errorcode` : error code (integer).
# Output Parameters
* `IERROR` : Fortran only: Error status (integer).
# Description
This function invokes the error handler assigned to the `comm`unicator
`comm` with the supplied error code `errorcode`. If the error handler
was successfully called, the process is not aborted, and the error
handler returns, this function returns `MPI_SUCCESS.`
# Notes
Users should note that the default error handler is
`MPI_ERRORS_ARE_FATAL`. Thus, calling this function will abort the
processes in `comm` if the default error handler has not been changed.
# Errors
Almost all MPI routines return an error value; C routines as the value
of the function and Fortran routines in the last argument.
See the MPI man page for a full list of MPI error codes.
# See Also
[`MPI_Comm_create_errhandler`(3)](MPI_Comm_create_errhandler.html)
[`MPI_Comm_set_errhandler`(3)](MPI_Comm_set_errhandler.html)

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

@ -1,65 +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_Comm_compare 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Comm_compare \fP \- Compares two communicators.
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Comm_compare(MPI_Comm \fIcomm1\fP, MPI_Comm\fI comm2\fP, int\fI *result\fP)
.fi
.SH Fortran Syntax
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_COMPARE(\fICOMM1, COMM2, RESULT, IERROR\fP)
INTEGER \fICOMM1, COMM2, RESULT, IERROR\fP
.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Comm_compare(\fIcomm1\fP, \fIcomm2\fP, \fIresult\fP, \fIierror\fP)
TYPE(MPI_Comm), INTENT(IN) :: \fIcomm1\fP, \fIcomm2\fP
INTEGER, INTENT(OUT) :: \fIresult\fP
INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP
.fi
.SH INPUT PARAMETERS
.ft R
.TP 1i
comm1
Comm1 (handle).
.TP 1i
comm2
Comm2 (handle).
.SH OUTPUT PARAMETERS
.ft R
.TP 1i
result
Result of comparison (integer).
.ft R
.TP 1i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
MPI_IDENT results if and only if comm1 and comm2 are handles for the same object (identical groups and same contexts). MPI_CONGRUENT results if the underlying groups are identical in constituents and rank order; these communicators differ only by context. MPI_SIMILAR results of the group members of both communicators are the same but the rank order differs. MPI_UNEQUAL results otherwise.
.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.

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

@ -0,0 +1,65 @@
# Name
`MPI_Comm_compare` - Compares two communicators.
# Syntax
## C Syntax
```c
#include <mpi.h>
int MPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result)
```
## Fortran Syntax
```fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_COMPARE(COMM1, COMM2, RESULT, IERROR)
INTEGER COMM1, COMM2, RESULT, IERROR
```
## Fortran 2008 Syntax
```fortran
USE mpi_f08
MPI_Comm_compare(comm1, comm2, result, ierror)
TYPE(MPI_Comm), INTENT(IN) :: comm1, comm2
INTEGER, INTENT(OUT) :: result
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
```
# Input Parameters
* `comm1` : Comm1 (handle).
* `comm2` : Comm2 (handle).
# Output Parameters
* `result` : Result of comparison (integer).
* `IERROR` : Fortran only: Error status (integer).
# Description
`MPI_IDENT` `result`s if and only if `comm1` and `comm2` are handles for the
same object (identical groups and same contexts). `MPI_CONGRUENT` results
if the underlying groups are identical in constituents and rank order;
these communicators differ only by context. `MPI_SIMILAR` results of the
group members of both communicators are the same but the rank order
differs. `MPI_UNEQUAL` results otherwise.
# 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,89 +0,0 @@
.\" -*- nroff -*-
.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved.
.\" Copyright 2010 Cisco Systems, Inc. All rights reserved.
.\" Copyright 2007-2008 Sun Microsystems, Inc.
.\" Copyright (c) 1996 Thinking Machines Corporation
.\" Copyright (c) 2020 Google, LLC. All rights reserved.
.\" $COPYRIGHT$
.TH MPI_Comm_connect 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Comm_connect \fP \- Establishes communication with a server.
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Comm_connect(const char *\fIport_name\fP, MPI_Info \fIinfo\fP, int \fIroot\fP,
MPI_Comm \fIcomm\fP, MPI_Comm *\fInewcomm\fP)
.fi
.SH Fortran Syntax
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_CONNECT(\fIPORT_NAME, INFO, ROOT, COMM, NEWCOMM, IERROR\fP)
CHARACTER*(*) \fIPORT_NAME\fP
INTEGER \fIINFO, ROOT, COMM, NEWCOMM, IERROR\fP
.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Comm_connect(\fIport_name\fP, \fIinfo\fP, \fIroot\fP, \fIcomm\fP, \fInewcomm\fP, \fIierror\fP)
CHARACTER(LEN=*), INTENT(IN) :: \fIport_name\fP
TYPE(MPI_Info), INTENT(IN) :: \fIinfo\fP
INTEGER, INTENT(IN) :: \fIroot\fP
TYPE(MPI_Comm), INTENT(IN) :: \fIcomm\fP
TYPE(MPI_Comm), INTENT(OUT) :: \fInewcomm\fP
INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP
.fi
.SH INPUT PARAMETERS
.ft R
.TP 1i
port_name
Port name (string, used only on \fIroot\fP).
.TP 1i
info
Options given by root for the connect (handle, used only on root). No options currently supported.
.TP 1i
root
Rank in \fIcomm\fP of root node (integer).
.TP 1i
comm
Intracommunicator over which call is collective (handle).
.SH OUTPUT PARAMETERS
.ft R
.TP 1i
newcomm
Intercommunicator with client as remote group (handle)
.TP 1i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
MPI_Comm_connect establishes communication with a server specified by \fIport_name\fP. It is collective over the calling communicator and returns an intercommunicator in which the remote group participated in an MPI_Comm_accept. The MPI_Comm_connect call must only be called after the MPI_Comm_accept call has been made by the MPI job acting as the server.
.sp
If the named port does not exist (or has been closed), MPI_Comm_connect raises an error of class MPI_ERR_PORT.
.sp
MPI provides no guarantee of fairness in servicing connection attempts. That is, connection attempts are not necessarily satisfied in the order in which they were initiated, and competition from other connection attempts may prevent a particular connection attempt from being satisfied.
The \fIport_name\fP parameter is the address of the server. It must be the same as the name returned by MPI_Open_port on the server.
.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.
.sp
See the MPI man page for a full list of MPI error codes.
.SH SEE ALSO
MPI_Comm_accept
MPI_Open_port
.br

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

@ -0,0 +1,86 @@
# Name
`MPI_Comm_connect` - Establishes communication with a server.
# Syntax
## C Syntax
```c
#include <mpi.h>
int MPI_Comm_connect(const char *port_name, MPI_Info info, int root,
MPI_Comm comm, MPI_Comm *newcomm)
```
## Fortran Syntax
```fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_CONNECT(PORT_NAME, INFO, ROOT, COMM, NEWCOMM, IERROR)
CHARACTER*(*) PORT_NAME
INTEGER INFO, ROOT, COMM, NEWCOMM, IERROR
```
## Fortran 2008 Syntax
```fortran
USE mpi_f08
MPI_Comm_connect(port_name, info, root, comm, newcomm, ierror)
CHARACTER(LEN=*), INTENT(IN) :: port_name
TYPE(MPI_Info), INTENT(IN) :: info
INTEGER, INTENT(IN) :: root
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Comm), INTENT(OUT) :: newcomm
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
```
# Input Parameters
* `port_name` : Port name (string, used only on *root*).
* `info` : Options given by root for the connect (handle, used only on root).
No options currently supported.
* `root` : Rank in *comm* of root node (integer).
* `comm` : Intracommunicator over which call is collective (handle).
# Output Parameters
* `newcomm` : Intercommunicator with client as remote group (handle)
* `IERROR` : Fortran only: Error status (integer).
# Description
`MPI_Comm_connect` establishes communication with a server specified by
`port_name`. It is collective over the calling communicator and returns
an intercommunicator in which the remote group participated in an
`MPI_Comm_accept`. The `MPI_Comm_connect` call must only be called after the
`MPI_Comm_accept` call has been made by the MPI job acting as the server.
If the named port does not exist (or has been closed), `MPI_Comm_connect`
raises an error of class `MPI_ERR_PORT`.
MPI provides no guarantee of fairness in servicing connection attempts.
That is, connection attempts are not necessarily satisfied in the order
in which they were initiated, and competition from other connection
attempts may prevent a particular connection attempt from being
satisfied.
The `port_name` parameter is the address of the server. It must be the
same as the name returned by `MPI_Open_port` on the server.
# 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 the MPI man page for a full list of MPI error codes.
# See Also
[`MPI_Comm_accept`(3)](MPI_Comm_accept.html)
[`MPI_Open_port`(3)](MPI_Open_port.html)

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

@ -1,90 +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_Comm_create 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Comm_create\fP \- Creates a new communicator.
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Comm_create(MPI_Comm \fIcomm\fP, MPI_Group\fI group\fP, MPI_Comm\fI *newcomm\fP)
.fi
.SH Fortran Syntax
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_CREATE(\fICOMM, GROUP, NEWCOMM, IERROR\fP)
INTEGER \fICOMM, GROUP, NEWCOMM, IERROR\fP
.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Comm_create(\fIcomm\fP, \fIgroup\fP, \fInewcomm\fP, \fIierror\fP)
TYPE(MPI_Comm), INTENT(IN) :: \fIcomm\fP
TYPE(MPI_Group), INTENT(IN) :: \fIgroup\fP
TYPE(MPI_Comm), INTENT(OUT) :: \fInewcomm\fP
INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP
.fi
.SH INPUT PARAMETER
.ft R
.TP 1i
comm
Communicator (handle).
.TP 1i
group
Group, which is a subset of the group of comm (handle).
.SH OUTPUT PARAMETERS
.ft R
.TP 1i
newcomm
New communicator (handle).
.ft R
.TP 1i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
This function creates a new communicator newcomm with communication
group defined by group and a new context. The function sets
\fInewcomm\fR to a new communicator that spans all the processes that
are in the group. It sets \fInewcomm\fR to MPI_COMM_NULL for
processes that are not in the group.
Each process must call with a \fIgroup\fR argument that is a subgroup
of the group associated with \fIcomm\fR; this could be
MPI_GROUP_EMPTY. The processes may specify different values for the
\fIgroup\fR argument. If a process calls with a non-empty \fIgroup\fR,
then all processes in that group must call the function with the same
\fIgroup\fR as argument, that is: the same processes in the same
order. Otherwise the call is erroneous.
.sp
.LP
.SH NOTES
MPI_Comm_create provides a means of making a subset of processes for the purpose of separate MIMD computation, with separate communication space. \fInewcomm\fR, which is created by MPI_Comm_create, can be used in subsequent calls to MPI_Comm_create (or other communicator constructors) to further subdivide a computation into parallel sub-computations. A more general service is provided by MPI_Comm_split.
.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_Comm_split
.sp
MPI_Intercomm_create
MPI_Comm_create_group

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

@ -0,0 +1,85 @@
# Name
`MPI_Comm_create` - Creates a new communicator.
# Syntax
## C Syntax
```c
#include <mpi.h>
int MPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm)
```
## Fortran Syntax
```fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_CREATE(COMM, GROUP, NEWCOMM, IERROR)
INTEGER COMM, GROUP, NEWCOMM, IERROR
```
## Fortran 2008 Syntax
```fortran
USE mpi_f08
MPI_Comm_create(comm, group, newcomm, ierror)
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Group), INTENT(IN) :: group
TYPE(MPI_Comm), INTENT(OUT) :: newcomm
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
```
# Input Parameter
* `comm` : Communicator (handle).
* `group` : Group, which is a subset of the group of comm (handle).
# Output Parameters
* `newcomm` : New communicator (handle).
* `IERROR` : Fortran only: Error status (integer).
# Description
This function creates a new communicator `newcomm` with communication
`group` defined by `group` and a new context. The function sets `newcomm` to
a new communicator that spans all the processes that are in the `group`.
It sets `newcomm` to `MPI_COMM_NULL` for processes that are not in the
`group`.
Each process must call with a `group` argument that is a subgroup of the
`group` associated with `comm`; this could be `MPI_GROUP_EMPTY`. The
processes may specify different values for the `group` argument. If a
process calls with a non-empty `group`, then all processes in that `group`
must call the function with the same `group` as argument, that is: the
same processes in the same order. Otherwise the call is erroneous.
# Notes
`MPI_Comm_create` provides a means of making a subset of processes for the
purpose of separate MIMD computation, with separate communication space.
`newcomm`, which is created by `MPI_Comm_create`, can be used in
subsequent calls to `MPI_Comm_create` (or other communicator constructors)
to further subdivide a computation into parallel sub-computations. A
more general service is provided by `MPI_Comm_split`.
# 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_Comm_split`(3)](MPI_Comm_split.html)
[`MPI_Intercomm_create`(3)](MPI_Intercomm_create.html)
[`MPI_Comm_create_group`(3)](MPI_Comm_create_group.html)

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

@ -1,89 +0,0 @@
.\" -*- nroff -*-
.\" Copyright 2009-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_Comm_create_errhandler 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Comm_create_errhandler \fP \- Creates an error handler that can be attached to communicators.
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Comm_create_errhandler(MPI_Comm_errhandler_function \fI*function\fP,
MPI_Errhandler *\fIerrhandler\fP)
.fi
.SH Fortran Syntax
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_CREATE_ERRHANDLER(\fIFUNCTION, ERRHANDLER, IERROR\fP)
EXTERNAL \fIFUNCTION\fP
INTEGER \fIERRHANDLER, IERROR\fP
.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Comm_create_errhandler(\fIcomm_errhandler_fn\fP, \fIerrhandler\fP, \fIierror\fP)
PROCEDURE(MPI_Comm_errhandler_function) :: \fIcomm_errhandler_fn\fP
TYPE(MPI_Errhandler), INTENT(OUT) :: \fIerrhandler\fP
INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP
.fi
.SH DEPRECATED TYPE NAME NOTE
.ft R
MPI-2.2 deprecated the MPI_Comm_errhandler_fn and
MPI::Comm::Errhandler_fn types in favor of
MPI_Comm_errhandler_function and MPI::Comm::Errhandler_function,
respectively. Open MPI supports both names (indeed, the _fn names are
typedefs to the _function names).
.SH INPUT PARAMETER
.ft R
.TP 1i
function
User-defined error handling procedure (function).
.SH OUTPUT PARAMETERS
.ft R
.TP 1i
errhandler
MPI error handler (handle).
.ft R
.TP 1i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
MPI_Comm_create_errhandler creates an error handler that can be attached to communicators. This function is identical to MPI_Errhandler_create, the use of which is deprecated.
.sp
In C, the user routine should be a function of type MPI_Comm_errhandler_function, which is defined as
.sp
.nf
typedef void MPI_Comm_errhandler_function(MPI_Comm *, int *, \&...);
.fi
.sp
The first argument is the communicator in use. The second is the error code
to be returned by the MPI routine that raised the error. This typedef replaces MPI_Handler_function, the use of which is deprecated.
.sp
In Fortran, the user routine should be of this form:
.sp
.nf
SUBROUTINE COMM_ERRHANDLER_FUNCTION(COMM, ERROR_CODE, \&...)
INTEGER COMM, ERROR_CODE
.fi
.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.

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

@ -0,0 +1,83 @@
# Name
`MPI_Comm_create_errhandler` - Creates an error handler that can be
attached to communicators.
# Syntax
## C Syntax
```c
#include <mpi.h>
int MPI_Comm_create_errhandler(MPI_Comm_errhandler_function *function,
MPI_Errhandler *errhandler)
```
## Fortran Syntax
```fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_CREATE_ERRHANDLER(FUNCTION, ERRHANDLER, IERROR)
EXTERNAL FUNCTION
INTEGER ERRHANDLER, IERROR
```
## Fortran 2008 Syntax
```fortran
USE mpi_f08
MPI_Comm_create_errhandler(comm_errhandler_fn, errhandler, ierror)
PROCEDURE(MPI_Comm_errhandler_function) :: comm_errhandler_fn
TYPE(MPI_Errhandler), INTENT(OUT) :: errhandler
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
```
# Deprecated Type Name Note
MPI-2.2 deprecated the `MPI_Comm_errhandler_fn` and `MPI::Comm::Errhandler_fn`
types in favor of `MPI_Comm_errhandler_function` and `MPI::Comm::Errhandler_function`,
respectively. Open MPI supports both names (indeed, the \_fn names are typedefs
to the \_function names).
# Input Parameter
* `function` : User-defined error handling procedure (function).
# Output Parameters
* `errhandler` : MPI error handler (handle).
* `IERROR` : Fortran only: Error status (integer).
# Description
`MPI_Comm_create_errhandler` creates an error handler that can be attached
to communicators. This `function` is identical to `MPI_Errhandler_create`,
the use of which is deprecated.
In C, the user routine should be a `function` of type
`MPI_Comm_errhandler_function`, which is defined as
```c
typedef void MPI_Comm_errhandler_function(MPI_Comm *, int *, ...);
```
The first argument is the communicator in use. The second is the error
code to be returned by the MPI routine that raised the error. This
typedef replaces `MPI_Handler_function`, the use of which is deprecated.
In Fortran, the user routine should be of this form:
```fortran
SUBROUTINE COMM_ERRHANDLER_FUNCTION(COMM, ERROR_CODE, ...)
INTEGER COMM, ERROR_CODE
```
# 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,94 +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$
.TH MPI_Comm_create_group 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Comm_create_group\fP \- Creates a new communicator.
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Comm_create_group(MPI_Comm \fIcomm\fP, MPI_Group\fI group\fP, int\fI tag\fP, MPI_Comm\fI *newcomm\fP)
.fi
.SH Fortran Syntax
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_CREATE_GROUP(\fICOMM, GROUP, TAG, NEWCOMM, IERROR\fP)
INTEGER \fICOMM, GROUP, TAG, NEWCOMM, IERROR\fP
.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Comm_create_group(\fIcomm\fP, \fIgroup\fP, \fItag\fP, \fInewcomm\fP, \fIierror\fP)
TYPE(MPI_Comm), INTENT(IN) :: \fIcomm\fP
TYPE(MPI_Group), INTENT(IN) :: \fIgroup\fP
INTEGER, INTENT(IN) :: \fItag\fP
TYPE(MPI_Comm), INTENT(OUT) :: \fInewcomm\fP
INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP
.fi
.SH INPUT PARAMETERS
.ft R
.TP 1i
comm
Communicator (handle).
.TP 1i
group
Group, which is a subset of the group of comm (handle).
.TP 1i
tag
Tag (integer).
.SH OUTPUT PARAMETERS
.ft R
.TP 1i
newcomm
New communicator (handle).
.ft R
.TP 1i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
MPI_Comm_create_group is similar to MPI_Comm_create; however,
MPI_Comm_create must be called by all processes in the group of
comm, whereas MPI_Comm_create_group must be called by all processes in group,
which is a subgroup of the group of \fIcomm\fP. In addition, MPI_Comm_create_group
requires that \fIcomm\fP is an intracommunicator. MPI_Comm_create_group returns a new
intracommunicator, \fInewcomm\fP, for which the group argument defines the communication
group. No cached information propagates from \fIcomm\fP to \fInewcomm\fP.
Each process must provide a group argument that is a subgroup of the group associated with \fIcomm\fP;
this could be MPI_GROUP_EMPTY. If a non-empty group is specified, then all processes in that
group must call the function, and each of these processes must provide the same arguments,
including a group that contains the same members with the same ordering. Otherwise
the call is erroneous. If the calling process is a member of the group given as the \fIgroup\fP
argument, then newcomm is a communicator with group as its associated group. If the
calling process is not a member of group, e.g., \fIgroup\fP is MPI_GROUP_EMPTY, then the call
is a local operation and MPI_COMM_NULL is returned as \fInewcomm\fP.
.sp
.LP
.SH NOTES
MPI_Comm_create_group provides a means of making a subset of processes for the purpose of separate MIMD computation, with separate communication space. \fInewcomm\fR, which is created by MPI_Comm_create_group, can be used in subsequent calls to MPI_Comm_create_group (or other communicator constructors) to further subdivide a computation into parallel sub-computations. A more general service is provided by MPI_Comm_split.
.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
MPI_Comm_create

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

@ -0,0 +1,94 @@
# Name
`MPI_Comm_create_group` - Creates a new communicator.
# Syntax
## C Syntax
```c
#include <mpi.h>
int MPI_Comm_create_group(MPI_Comm comm, MPI_Group group, int tag, MPI_Comm *newcomm)
```
## Fortran Syntax
```fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_CREATE_GROUP(COMM, GROUP, TAG, NEWCOMM, IERROR)
INTEGER COMM, GROUP, TAG, NEWCOMM, IERROR
```
## Fortran 2008 Syntax
```fortran
USE mpi_f08
MPI_Comm_create_group(comm, group, tag, newcomm, ierror)
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Group), INTENT(IN) :: group
INTEGER, INTENT(IN) :: tag
TYPE(MPI_Comm), INTENT(OUT) :: newcomm
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
```
# Input Parameters
* `comm` : Communicator (handle).
* `group` : Group, which is a subset of the group of comm (handle).
* `tag` : Tag (integer).
# Output Parameters
* `newcomm` : New communicator (handle).
* `IERROR` : Fortran only: Error status (integer).
# Description
`MPI_Comm_create_group` is similar to `MPI_Comm_create`; however,
`MPI_Comm_create` must be called by all processes in the `group` of `comm`,
whereas `MPI_Comm_create_group` must be called by all processes in `group`,
which is a subgroup of the `group` of `comm`. In addition,
`MPI_Comm_create_group` requires that `comm` is an intracommunicator.
`MPI_Comm_create_group` returns a new intracommunicator, `newcomm`, for
which the `group` argument defines the communication `group`. No cached
information propagates from `comm` to `newcomm`.
Each process must provide a `group` argument that is a sub`group` of the
`group` associated with `comm`; this could be `MPI_GROUP_EMPTY`. If a
non-empty `group` is specified, then all processes in that `group` must call
the function, and each of these processes must provide the same
arguments, including a `group` that contains the same members with the
same ordering. Otherwise the call is erroneous. If the calling process
is a member of the `group` given as the `group` argument, then `newcomm` is
a communicator with `group` as its associated `group`. If the calling
process is not a member of `group`, e.g., `group` is `MPI_GROUP_EMPTY`, then
the call is a local operation and `MPI_COMM_NULL` is returned as
`newcomm`.
# Notes
`MPI_Comm_create_group` provides a means of making a subset of processes
for the purpose of separate MIMD computation, with separate
communication space. `newcomm`, which is created by
`MPI_Comm_create_group`, can be used in subsequent calls to
`MPI_Comm_create_group` (or other communicator constructors) to further
subdivide a computation into parallel sub-computations. A more general
service is provided by `MPI_Comm_split`.
# 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_Comm_create`(3)](MPI_Comm_create.html)

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

@ -1,131 +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_Comm_create_keyval 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Comm_create_keyval\fP \- Generates a new attribute key.
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Comm_create_keyval(MPI_Comm_copy_attr_function
*\fIcomm_copy_attr_fn\fP, MPI_Comm_delete_attr_function
*\fIcomm_delete_attr_fn\fP, int *\fIcomm_keyval\fP,
void *\fIextra_state\fP)
.fi
.SH Fortran Syntax (see FORTRAN 77 NOTES)
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_CREATE_KEYVAL(\fICOMM_COPY_ATTR_FN, COMM_DELETE_ATTR_FN,
COMM_KEYVAL, EXTRA_STATE, IERROR\fP)
EXTERNAL \fICOMM_COPY_ATTR_FN, COMM_DELETE_ATTR_FN\fP
INTEGER \fICOMM_KEYVAL, IERROR \fP
INTEGER(KIND=MPI_ADDRESS_KIND) \fIEXTRA_STATE\fP
.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Comm_create_keyval(\fIcomm_copy_attr_fn\fP, \fIcomm_delete_attr_fn\fP, \fIcomm_keyval\fP,
\fIextra_state\fP, \fIierror\fP)
PROCEDURE(MPI_Comm_copy_attr_function) :: \fIcomm_copy_attr_fn\fP
PROCEDURE(MPI_Comm_delete_attr_function) :: \fIcomm_delete_attr_fn\fP
INTEGER, INTENT(OUT) :: \fIcomm_keyval\fP
INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(IN) :: \fIextra_state\fP
INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP
.fi
.SH INPUT PARAMETERS
.ft R
.TP 1i
comm_copy_attr_fn
Copy callback function for \fIcomm_keyval\fP (function).
.TP 1i
comm_delete_attr_fn
Delete callback function for \fIcomm_keyval\fP (function).
.TP 1i
extra_state
Extra state for callback functions.
.SH OUTPUT PARAMETER
.ft R
.TP 1i
comm_keyval
Key value for future access (integer).
.TP 1i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
This function replaces MPI_Keyval_create, the use of which is deprecated. The C binding is identical. The Fortran binding differs in that \fIextra_state\fP is an address-sized integer. Also, the copy and delete callback functions have Fortran bindings that are consistent with address-sized attributes.
.sp
The argument \fIcomm_copy_attr_fn\fP may be specified as MPI_COMM_NULL_COPY_FN or MPI_COMM_DUP_FN from C or Fortran. MPI_COMM_NULL_COPY_FN is a function that does nothing more than returning \fIflag\fP = 0 and MPI_SUCCESS. MPI_COMM_DUP_FN is a simple-minded copy function that sets \fIflag\fP = 1, returns the value of \fIattribute_val_in\fP in \fIattribute_val_out\fP, and returns MPI_SUCCESS. These replace the MPI-1 predefined callbacks MPI_NULL_COPY_FN and MPI_DUP_FN, the use of which is deprecated.
.sp
The C callback functions are:
.sp
.nf
typedef int MPI_Comm_copy_attr_function(MPI_Comm \fIoldcomm\fP, int \fIcomm_keyval\fP,
void *\fIextra_state\fP, void *\fIattribute_val_in\fP,
void *\fIattribute_val_out\fP, int *\fIflag\fP);
.fi
and
.nf
typedef int MPI_Comm_delete_attr_function(MPI_Comm \fIcomm\fP, int \fIcomm_keyval\fP,
void *\fIattribute_val\fP, void *\fIextra_state\fP);
.fi
.sp
which are the same as the MPI-1.1 calls but with a new name. The old names are deprecated.
.sp
The Fortran callback functions are:
.sp
.nf
SUBROUTINE COMM_COPY_ATTR_FN(\fIOLDCOMM, COMM_KEYVAL, EXTRA_STATE,
ATTRIBUTE_VAL_IN, ATTRIBUTE_VAL_OUT, FLAG, IERROR\fP)
INTEGER \fIOLDCOMM, COMM_KEYVAL, IERROR\fP
INTEGER(KIND=MPI_ADDRESS_KIND) \fIEXTRA_STATE, ATTRIBUTE_VAL_IN,
ATTRIBUTE_VAL_OUT\fP
LOGICAL \fIFLAG\fP
.fi
and
.nf
SUBROUTINE COMM_DELETE_ATTR_FN(\fICOMM, COMM_KEYVAL, ATTRIBUTE_VAL, EXTRA_STATE,
IERROR\fP)
INTEGER \fICOMM, COMM_KEYVAL, IERROR\fP
INTEGER(KIND=MPI_ADDRESS_KIND) \fIATTRIBUTE_VAL, EXTRA_STATE\fP
.fi
.SH FORTRAN 77 NOTES
.ft R
The MPI standard prescribes portable Fortran syntax for
the \fIEXTRA_STATE\fP argument only for Fortran 90. FORTRAN 77
users may use the non-portable syntax
.sp
.nf
INTEGER*MPI_ADDRESS_KIND \fIEXTRA_STATE\fP
.fi
.sp
where MPI_ADDRESS_KIND is a constant defined in mpif.h
and gives the length of the declared integer in bytes.
.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.
.sp
See the MPI man page for a full list of MPI error codes.
.SH SEE ALSO
.ft R
.sp

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

@ -0,0 +1,124 @@
# Name
`MPI_Comm_create_keyval` - Generates a new attribute key.
# Syntax
## C Syntax
```c
#include <mpi.h>
int MPI_Comm_create_keyval(MPI_Comm_copy_attr_function
*comm_copy_attr_fn, MPI_Comm_delete_attr_function
*comm_delete_attr_fn, int *comm_keyval,
void *extra_state)
```
## Fortran Syntax (See Fortran 77 Notes)
```fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_CREATE_KEYVAL(COMM_COPY_ATTR_FN, COMM_DELETE_ATTR_FN,
COMM_KEYVAL, EXTRA_STATE, IERROR)
EXTERNAL COMM_COPY_ATTR_FN, COMM_DELETE_ATTR_FN
INTEGER COMM_KEYVAL, IERROR
INTEGER(KIND=MPI_ADDRESS_KIND) EXTRA_STATE
```
## Fortran 2008 Syntax
```fortran
USE mpi_f08
MPI_Comm_create_keyval(comm_copy_attr_fn, comm_delete_attr_fn, comm_keyval,
extra_state, ierror)
PROCEDURE(MPI_Comm_copy_attr_function) :: comm_copy_attr_fn
PROCEDURE(MPI_Comm_delete_attr_function) :: comm_delete_attr_fn
INTEGER, INTENT(OUT) :: comm_keyval
INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(IN) :: extra_state
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
```
# Input Parameters
* `comm_copy_attr_fn` : Copy callback function for `comm_keyval` (function).
* `comm_delete_attr_fn` : Delete callback function for `comm_keyval` (function).
* `extra_state` : Extra state for callback functions.
# Output Parameter
* `comm_keyval` : Key value for future access (integer).
* `IERROR` : Fortran only: Error status (integer).
# Description
This function replaces `MPI_Keyval_create`, the use of which is
deprecated. The C binding is identical. The Fortran binding differs in
that `extra_state` is an address-sized integer. Also, the copy and
delete callback functions have Fortran bindings that are consistent with
address-sized attributes.
The argument `comm_copy_attr_fn` may be specified as
`MPI_COMM_NULL_COPY_FN` or `MPI_COMM_DUP_FN` from C or Fortran.
`MPI_COMM_NULL_COPY_FN` is a function that does nothing more than
returning `flag = 0` and `MPI_SUCCESS`. `MPI_COMM_DUP_FN` is a simple-minded
copy function that sets `flag = 1`, returns the value of
`attribute_val_in` in `attribute_val_out`, and returns `MPI_SUCCESS`.
These replace the MPI-1 predefined callbacks `MPI_NULL_COPY_FN` and
`MPI_DUP_FN`, the use of which is deprecated.
The two C callback functions are:
```c
typedef int MPI_Comm_copy_attr_function(MPI_Comm oldcomm, int comm_keyval,
void *extra_state, void *attribute_val_in,
void *attribute_val_out, int *flag);
typedef int MPI_Comm_delete_attr_function(MPI_Comm comm, int comm_keyval,
void *attribute_val, void *extra_state);
```
which are the same as the MPI-1.1 calls but with a new name. The old
names are deprecated.
The two Fortran callback functions are:
```fortran
SUBROUTINE COMM_COPY_ATTR_FN(OLDCOMM, COMM_KEYVAL, EXTRA_STATE,
ATTRIBUTE_VAL_IN, ATTRIBUTE_VAL_OUT, FLAG, IERROR)
INTEGER OLDCOMM, COMM_KEYVAL, IERROR
INTEGER(KIND=MPI_ADDRESS_KIND) EXTRA_STATE, ATTRIBUTE_VAL_IN,
ATTRIBUTE_VAL_OUT
LOGICAL FLAG
SUBROUTINE COMM_DELETE_ATTR_FN(COMM, COMM_KEYVAL, ATTRIBUTE_VAL, EXTRA_STATE,
IERROR)
INTEGER COMM, COMM_KEYVAL, IERROR
INTEGER(KIND=MPI_ADDRESS_KIND) ATTRIBUTE_VAL, EXTRA_STATE
```
## Fortran 77 Notes
The MPI standard prescribes portable Fortran syntax for the
`EXTRA_STATE` argument only for Fortran 90. FORTRAN 77 users may use the
non-portable syntax
```fortran
INTEGER*MPI_ADDRESS_KIND EXTRA_STATE
```
where `MPI_ADDRESS_KIND` is a constant defined in mpif.h and gives the
length of the declared integer in bytes.
# 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 the MPI man page for a full list of MPI error codes.
SEE ALSO
# See Also

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

@ -1,76 +0,0 @@
.\" -*- nroff -*-
.\" Copyright (c) 2010-2014 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_Comm_delete_attr 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Comm_delete_attr\fP \- Deletes attribute value associated with a key.
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Comm_delete_attr(MPI_Comm \fIcomm\fP, int \fIcomm_keyval\fP)
.fi
.SH Fortran Syntax
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_DELETE_ATTR(\fICOMM, COMM_KEYVAL, IERROR\fP)
INTEGER \fICOMM, COMM_KEYVAL, IERROR \fP
.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Comm_delete_attr(\fIcomm\fP, \fIcomm_keyval\fP, \fIierror\fP)
TYPE(MPI_Comm), INTENT(IN) :: \fIcomm\fP
INTEGER, INTENT(IN) :: \fIcomm_keyval\fP
INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP
.fi
.SH INPUT/OUTPUT PARAMETER
.ft R
.TP 1i
comm
Communicator from which the attribute is deleted (handle).
.SH INPUT PARAMETER
.ft R
.TP 1i
comm_keyval
Key value (integer).
.SH OUTPUT PARAMETER
.ft R
.TP 1i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
MPI_Comm_delete_attr deletes an attribute from cache by key. This function invokes the attribute delete function delete_fn specified when the \fIcomm_keyval\fP was created. The call will fail if the delete_fn function returns an error code other than MPI_SUCCESS.
Whenever a communicator is replicated using the function MPI_Comm_dup, all callback copy functions for attributes that are currently set are invoked (in arbitrary order). Whenever a communicator is deleted using the function MPI_Comm_free, all callback delete functions for attributes that are currently set are invoked.
.sp
This function is the same as MPI_Attr_delete but is needed to match the communicator-specific functions introduced in the MPI-2 standard. The use of MPI_Attr_delete is deprecated.
.SH NOTES
Note that it is not defined by the MPI standard what happens if the
delete_fn callback invokes other MPI functions. In Open MPI, it is
not valid for delete_fn callbacks (or any of their children) to add or
delete attributes on the same object on which the delete_fn callback
is being invoked.
.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.

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

@ -0,0 +1,81 @@
# Name
`MPI_Comm_delete_attr` - Deletes attribute value associated with a
key.
# Syntax
## C Syntax
```c
#include <mpi.h>
int MPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval)
```
## Fortran Syntax
```fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_DELETE_ATTR(COMM, COMM_KEYVAL, IERROR)
INTEGER COMM, COMM_KEYVAL, IERROR
```
## Fortran 2008 Syntax
```fortran
USE mpi_f08
MPI_Comm_delete_attr(comm, comm_keyval, ierror)
TYPE(MPI_Comm), INTENT(IN) :: comm
INTEGER, INTENT(IN) :: comm_keyval
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
```
## Input/Output Parameter
* `comm` : Communicator from which the attribute is deleted (handle).
# Input Parameter
* `comm_keyval` : Key value (integer).
# Output Parameter
* `IERROR` : Fortran only: Error status (integer).
# Description
`MPI_Comm_delete_attr` deletes an attribute from cache by key. This
function invokes the attribute delete function `delete_fn` specified when
the `comm_keyval` was created. The call will fail if the `delete_fn`
function returns an error code other than `MPI_SUCCESS.`
Whenever a communicator is replicated using the function `MPI_Comm_dup`,
all callback copy functions for attributes that are currently set are
invoked (in arbitrary order). Whenever a communicator is deleted using
the function `MPI_Comm_free`, all callback delete functions for attributes
that are currently set are invoked.
This function is the same as `MPI_Attr_delete` but is needed to match the
`comm`unicator-specific functions introduced in the MPI-2 standard. The
use of `MPI_Attr_delete` is deprecated.
# Notes
Note that it is not defined by the MPI standard what happens if the
`delete_fn` callback invokes other MPI functions. In Open MPI, it is not
valid for `delete_fn` callbacks (or any of their children) to add or
delete attributes on the same object on which the `delete_fn` callback is
being invoked.
# 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,73 +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_Comm_disconnect 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Comm_disconnect\fP \- Deallocates communicator object and sets handle to MPI_COMM_NULL.
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Comm_disconnect(MPI_Comm *\fIcomm\fP)
.fi
.SH Fortran Syntax
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_DISCONNECT(\fICOMM, IERROR\fP)
INTEGER \fICOMM, IERROR \fP
.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Comm_disconnect(\fIcomm\fP, \fIierror\fP)
TYPE(MPI_Comm), INTENT(INOUT) :: \fIcomm\fP
INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP
.fi
.SH INPUT/OUTPUT PARAMETER
.ft R
.TP 1i
comm
Communicator (handle).
.SH OUTPUT PARAMETER
.ft R
.TP 1i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
MPI_Comm_disconnect waits for all pending communication on \fIcomm\fP to complete internally, deallocates the communicator object, and sets the handle to MPI_COMM_NULL. It is a collective operation.
.sp
It may not be called with the communicator MPI_COMM_WORLD or MPI_COMM_SELF.
.sp
MPI_Comm_disconnect may be called only if all communication is complete and matched, so that buffered data can be delivered to its destination. This requirement is the same as for MPI_Finalize.
.sp
MPI_Comm_disconnect has the same action as MPI_Comm_free, except that it waits for pending communication to finish internally and enables the guarantee about the behavior of disconnected processes.
.SH NOTES
.ft R
To disconnect two processes you may need to call MPI_Comm_disconnect, MPI_Win_free, and MPI_File_close to remove all communication paths between the two processes. Note that it may be necessary to disconnect several communicators (or to free several windows or files) before two processes are completely independent.
.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_Comm_connect
.br
MPI_Comm_accept
.br

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

@ -0,0 +1,80 @@
# Name
`MPI_Comm_disconnect` - Deallocates communicator object and sets
handle to `MPI_COMM_NULL.`
# Syntax
## C Syntax
```c
#include <mpi.h>
int MPI_Comm_disconnect(MPI_Comm *comm)
```
## Fortran Syntax
```fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_DISCONNECT(COMM, IERROR)
INTEGER COMM, IERROR
```
## Fortran 2008 Syntax
```fortran
USE mpi_f08
MPI_Comm_disconnect(comm, ierror)
TYPE(MPI_Comm), INTENT(INOUT) :: comm
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
```
## Input/Output Parameter
* `comm` : Communicator (handle).
# Output Parameter
* `IERROR` : Fortran only: Error status (integer).
# Description
`MPI_Comm_disconnect` waits for all pending communication on `comm` to
complete internally, deallocates the communicator object, and sets the
handle to `MPI_COMM_NULL`. It is a collective operation.
It may not be called with the communicator `MPI_COMM_WORLD` or
`MPI_COMM_SELF.`
`MPI_Comm_disconnect` may be called only if all communication is complete
and matched, so that buffered data can be delivered to its destination.
This requirement is the same as for `MPI_Finalize.`
`MPI_Comm_disconnect` has the same action as `MPI_Comm_free`, except that it
waits for pending communication to finish internally and enables the
guarantee about the behavior of disconnected processes.
# Notes
To disconnect two processes you may need to call `MPI_Comm_disconnect,`
`MPI_Win_free`, and `MPI_File_close` to remove all communication paths
between the two processes. Note that it may be necessary to disconnect
several communicators (or to free several windows or files) before two
processes are completely independent.
# 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_Comm_connect`(3)](MPI_Comm_connect.html)
[`MPI_Comm_accept`(3)](MPI_Comm_accept.html)

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

@ -1,80 +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_Comm_dup 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Comm_dup \fP \- Duplicates an existing communicator with all its cached information.
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Comm_dup(MPI_Comm \fIcomm\fP, MPI_Comm\fI *newcomm\fP)
.fi
.SH Fortran Syntax
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_DUP(\fICOMM, NEWCOMM, IERROR\fP)
INTEGER \fICOMM, NEWCOMM, IERROR\fP
.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Comm_dup(\fIcomm\fP, \fInewcomm\fP, \fIierror\fP)
TYPE(MPI_Comm), INTENT(IN) :: \fIcomm\fP
TYPE(MPI_Comm), INTENT(OUT) :: \fInewcomm\fP
INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP
.fi
.SH INPUT PARAMETER
.ft R
.TP 1i
comm
Communicator (handle).
.SH OUTPUT PARAMETERS
.ft R
.TP 1i
newcomm
Copy of comm (handle).
.ft R
.TP 1i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
MPI_Comm_dup duplicates the existing communicator comm with associated key
values. For each key value, the respective copy callback function determines the attribute value associated with this key in the new communicator; one particular action that a copy callback may take is to delete the attribute from the new communicator. Returns in newcomm a new communicator with the same group, any copied cached information, but a new context (see Section 5.7.1 of the MPI-1 Standard, "Functionality").
.SH NOTES
This operation is used to provide a parallel
library call with a duplicate communication space that has the same properties as the original communicator. This includes any attributes (see below) and topologies (see Chapter 6, "Process Topologies," in the MPI-1 Standard). This call is valid even if there are pending point-to-point communications involving the communicator comm. A typical call might involve an MPI_Comm_dup at the beginning of the parallel call, and an MPI_Comm_free of that duplicated communicator at the end of the call. Other models of communicator management are also possible.
.sp
This call applies to both intra- and intercommunicators.
Note that it is not defined by the MPI standard what happens if the
attribute copy callback invokes other MPI functions. In Open MPI, it
is not valid for attribute copy callbacks (or any of their children)
to add or delete attributes on the same object on which the attribute
copy callback is being invoked.
.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
.nf
MPI_Comm_dup_with_info
MPI_Comm_idup

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

@ -0,0 +1,89 @@
# Name
`MPI_Comm_dup` - Duplicates an existing communicator with all its
cached information.
# Syntax
## C Syntax
```c
#include <mpi.h>
int MPI_Comm_dup(MPI_Comm comm, MPI_Comm *newcomm)
```
## Fortran Syntax
```fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_DUP(COMM, NEWCOMM, IERROR)
INTEGER COMM, NEWCOMM, IERROR
```
## Fortran 2008 Syntax
```fortran
USE mpi_f08
MPI_Comm_dup(comm, newcomm, ierror)
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Comm), INTENT(OUT) :: newcomm
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
```
# Input Parameter
* `comm` : Communicator (handle).
# Output Parameters
* `newcomm` : Copy of comm (handle).
* `IERROR` : Fortran only: Error status (integer).
# Description
`MPI_Comm_dup` duplicates the existing communicator `comm` with associated
key values. For each key value, the respective copy callback function
determines the attribute value associated with this key in the new
communicator; one particular action that a copy callback may take is to
delete the attribute from the new communicator. Returns in newcomm a new
communicator with the same group, any copied cached information, but a
new context (see Section 5.7.1 of the MPI-1 Standard,
"Functionality").
# Notes
This operation is used to provide a parallel library call with a
duplicate communication space that has the same properties as the
original communicator. This includes any attributes (see below) and
topologies (see Chapter 6, "Process Topologies," in the MPI-1
Standard). This call is valid even if there are pending point-to-point
communications involving the communicator `comm`. A typical call might
involve an `MPI_Comm_dup` at the beginning of the parallel call, and an
`MPI_Comm_free` of that duplicated communicator at the end of the call.
Other models of communicator management are also possible.
This call applies to both intra- and intercommunicators.
Note that it is not defined by the MPI standard what happens if the
attribute copy callback invokes other MPI functions. In Open MPI, it is
not valid for attribute copy callbacks (or any of their children) to add
or delete attributes on the same object on which the attribute copy
callback is being invoked.
# 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_Comm_dup_with_info`(3)](MPI_Comm_dup_with_info.html)
[`MPI_Comm_idup`(3)](MPI_Comm_idup.html)

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

@ -1,89 +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$
.TH MPI_Comm_dup_with_info 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Comm_dup_with_info \fP \- Duplicates an existing communicator using provided info.
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Comm_dup_with_info(MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, MPI_Comm\fI *newcomm\fP)
.fi
.SH Fortran Syntax
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_DUP_WITH_INFO(\fICOMM, INFO, NEWCOMM, IERROR\fP)
INTEGER \fICOMM, INFO, NEWCOMM, IERROR\fP
.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Comm_dup_with_info(\fIcomm\fP, \fIinfo\fP, \fInewcomm\fP, \fIierror\fP)
TYPE(MPI_Comm), INTENT(IN) :: \fIcomm\fP
TYPE(MPI_Info), INTENT(IN) :: \fIinfo\fP
TYPE(MPI_Comm), INTENT(OUT) :: \fInewcomm\fP
INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP
.fi
.SH INPUT PARAMETER
.ft R
.TP 1i
comm
Communicator (handle).
.ft R
.TP 1i
info
Info argument (handle).
.SH OUTPUT PARAMETERS
.ft R
.TP 1i
newcomm
Copy of comm (handle).
.ft R
.TP 1i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
MPI_Comm_dup_with_info acts exactly like MPI_Comm_dup except that the
info hints associated with the communicator \fIcomm\fP are not duplicated in \fInewcomm\fP. The
hints provided by the argument \fIinfo\fP are associated with the output communicator \fInewcomm\fP
instead.
.sp
See
.BR MPI_Comm_set_info (3)
for the list of recognized info keys.
.SH NOTES
This operation is used to provide a parallel
library call with a duplicate communication space that has the same properties as the original communicator. This includes any attributes (see below) and topologies (see Chapter 6, "Process Topologies," in the MPI-1 Standard). This call is valid even if there are pending point-to-point communications involving the communicator comm. A typical call might involve an MPI_Comm_dup_with_info at the beginning of the parallel call, and an MPI_Comm_free of that duplicated communicator at the end of the call. Other models of communicator management are also possible.
.sp
This call applies to both intra- and intercommunicators.
Note that it is not defined by the MPI standard what happens if the
attribute copy callback invokes other MPI functions. In Open MPI, it
is not valid for attribute copy callbacks (or any of their children)
to add or delete attributes on the same object on which the attribute
copy callback is being invoked.
.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
MPI_Comm_dup
MPI_Comm_idup
MPI_Comm_set_info

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

@ -0,0 +1,89 @@
# Name
`MPI_Comm_dup_with_info` - Duplicates an existing communicator using
provided info.
# Syntax
## C Syntax
```c
#include <mpi.h>
int MPI_Comm_dup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm *newcomm)
```
## Fortran Syntax
```fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMM_DUP_WITH_INFO(COMM, INFO, NEWCOMM, IERROR)
INTEGER COMM, INFO, NEWCOMM, IERROR
```
## Fortran 2008 Syntax
```fortran
USE mpi_f08
MPI_Comm_dup_with_info(comm, info, newcomm, ierror)
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Comm), INTENT(OUT) :: newcomm
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
```
# Input Parameter
* `comm` : Communicator (handle).
* `info` : Info argument (handle).
# Output Parameters
* `newcomm` : Copy of comm (handle).
* `IERROR` : Fortran only: Error status (integer).
# Description
`MPI_Comm_dup_with_info` acts exactly like `MPI_Comm_dup` except that the
`info` hints associated with the communicator `comm` are not duplicated in
`newcomm`. The hints provided by the argument `info` are associated with
the output communicator `newcomm` instead.
See `MPI_Comm_set_info(3)` for the list of recognized `info` keys.
# Notes
This operation is used to provide a parallel library call with a
duplicate communication space that has the same properties as the
original communicator. This includes any attributes (see below) and
topologies (see Chapter 6, "Process Topologies," in the MPI-1
Standard). This call is valid even if there are pending point-to-point
communications involving the communicator `comm`. A typical call might
involve an `MPI_Comm_dup_with_info` at the beginning of the parallel call,
and an `MPI_Comm_free` of that duplicated communicator at the end of the
call. Other models of communicator management are also possible.
This call applies to both intra- and intercommunicators.
Note that it is not defined by the MPI standard what happens if the
attribute copy callback invokes other MPI functions. In Open MPI, it is
not valid for attribute copy callbacks (or any of their children) to add
or delete attributes on the same object on which the attribute copy
callback is being invoked.
# 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_Comm_dup`(3)](MPI_Comm_dup.html)
[`MPI_Comm_idup`(3)](MPI_Comm_idup.html)
[`MPI_Comm_set_info`(3)](MPI_Comm_set_info.html)

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

@ -39,6 +39,18 @@ MD_FILES = \
MPI_Close_port.md \
MPI_Cart_sub.md \
MPI_Cartdim_get.md \
MPI_Comm_accept.md \
MPI_Comm_call_errhandler.md \
MPI_Comm_compare.md \
MPI_Comm_connect.md \
MPI_Comm_create.md \
MPI_Comm_create_errhandler.md \
MPI_Comm_create_group.md \
MPI_Comm_create_keyval.md \
MPI_Comm_delete_attr.md \
MPI_Comm_disconnect.md \
MPI_Comm_dup.md \
MPI_Comm_dup_with_info.md \
MPI_T_init_thread.3.md \
MPI_Status_f2c.3.md \
MPI_Status_f082c.3.md \
@ -89,19 +101,7 @@ TEMPLATE_FILES = \
MPI_Attr_put.3in \
MPI_Ibarrier.3in \
MPI_Ibcast.3in \
MPI_Comm_accept.3in \
MPI_Comm_c2f.3in \
MPI_Comm_call_errhandler.3in \
MPI_Comm_compare.3in \
MPI_Comm_connect.3in \
MPI_Comm_create.3in \
MPI_Comm_create_group.3in \
MPI_Comm_create_errhandler.3in \
MPI_Comm_create_keyval.3in \
MPI_Comm_delete_attr.3in \
MPI_Comm_disconnect.3in \
MPI_Comm_dup.3in \
MPI_Comm_dup_with_info.3in \
MPI_Comm_idup.3in \
MPI_Comm_f2c.3in \
MPI_Comm_free.3in \