Initial man pages for all the MPI APIs. There are 304 of them. Also a general man page for mpi,openmpi,MPI, and OpenMPI. Extra work is needed so they get installed properly.
This commit was SVN r11871.
Этот коммит содержится в:
родитель
451d362296
Коммит
aa7317d635
145
ompi/mpi/man/man3/MPI.3
Обычный файл
145
ompi/mpi/man/man3/MPI.3
Обычный файл
@ -0,0 +1,145 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
MPI \- General information about Open MPI 1.2.
|
||||
|
||||
.SH MPI
|
||||
.ft R
|
||||
Open MPI is an open source implementation of MPI (message-passing
|
||||
interface), the industry-standard specification for writing
|
||||
message-passing programs. Message passing is a programming model that
|
||||
gives the programmer explicit control over interprocess communication.
|
||||
.sp
|
||||
The MPI specification was developed by the MPI Forum, a group of
|
||||
software developers, computer vendors, academics, and computer-science
|
||||
researchers whose goal was to develop a standard for writing
|
||||
message-passing programs that would be efficient, flexible, and
|
||||
portable.
|
||||
.sp
|
||||
The outcome, known as the MPI Standard, was first published in 1993;
|
||||
its most recent version (MPI-2) was published in July 1997. Open MPI
|
||||
1.2 includes all MPI 1.2-compliant and MPI 2-compliant routines.
|
||||
.sp
|
||||
For more information about Open MPI, see the following URL:
|
||||
.nf
|
||||
|
||||
http://www.open-mpi.org
|
||||
.fi
|
||||
.sp
|
||||
The MPI standards are available at the following URL:
|
||||
.nf
|
||||
|
||||
http://www.mpi-forum.org
|
||||
.fi
|
||||
|
||||
.SH MAN PAGE SYNTAX
|
||||
.ft R
|
||||
Man pages for Open MPI and Open MPI I/O routines are named according to C syntax, that is, they begin with the prefix "MPI_", all in uppercase, and the first letter following the "MPI_" prefix is also uppercase. The rest of the letters in the routine are all lowercase, for example, "MPI_Comm_get_attr".
|
||||
|
||||
.SH ENVIRONMENT
|
||||
.ft R
|
||||
To fine-tune your Open MPI environment, you can either use arguments to the \fImpirun\fP, \fIorterun\fP, or \fImpiexec\fP commands, or you can use MCA parameters.
|
||||
.sp
|
||||
For more information on arguments, see the orterun.1 man page.
|
||||
.sp
|
||||
For a complete listing of MCA parameters and their descriptions, issue the command \fIompi_info -h\fP or \fIompi_info -param all all\fP. This information also appears in the FAQ on the Open MPI web site.
|
||||
|
||||
.SH ERRORS
|
||||
.ft R
|
||||
All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; C routines as the value of the function and Fortran routines in the last
|
||||
argument. Before the value is returned, the current MPI error handler is
|
||||
called. By default, this error handler aborts the MPI job. 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
|
||||
For more information on Open MPI error codes, see \fImpi.h\fP in the \fIinclude\fP directory.
|
||||
.sp
|
||||
Standard error return classes for Open MPI:
|
||||
.sp
|
||||
.nf
|
||||
MPI_SUCCESS 0 Successful return code.
|
||||
MPI_ERR_BUFFER 1 Invalid buffer pointer.
|
||||
MPI_ERR_COUNT 2 Invalid count argument.
|
||||
MPI_ERR_TYPE 3 Invalid datatype argument.
|
||||
MPI_ERR_TAG 4 Invalid tag argument.
|
||||
MPI_ERR_COMM 5 Invalid communicator.
|
||||
|
||||
MPI_ERR_RANK 6 Invalid rank.
|
||||
MPI_ERR_REQUEST 7 Invalid MPI_Request handle.
|
||||
MPI_ERR_ROOT 7 Invalid root.
|
||||
MPI_ERR_GROUP 8 Null group passed to function.
|
||||
MPI_ERR_OP 9 Invalid operation.
|
||||
MPI_ERR_TOPOLOGY 10 Invalid topology.
|
||||
|
||||
MPI_ERR_DIMS 11 Illegal dimension argument.
|
||||
MPI_ERR_ARG 12 Invalid argument.
|
||||
MPI_ERR_UNKNOWN 13 Unknown error.
|
||||
MPI_ERR_TRUNCATE 14 Message truncated on receive.
|
||||
MPI_ERR_OTHER 15 Other error; use Error_string.
|
||||
|
||||
MPI_ERR_INTERN 16 Internal error code.
|
||||
MPI_ERR_IN_STATUS 17 Look in status for error value.
|
||||
MPI_ERR_PENDING 18 Pending request.
|
||||
MPI_ERR_ACCESS 19 Permission denied.
|
||||
MPI_ERR_AMODE 20 Unsupported amode passed to open.
|
||||
|
||||
MPI_ERR_ASSERT 21 Invalid assert.
|
||||
MPI_ERR_BAD_FILE 22 Invalid file name (for example,
|
||||
path name too long).
|
||||
MPI_ERR_BASE 23 Invalid base.
|
||||
MPI_ERR_CONVERSION 24 An error occurred in a user-supplied
|
||||
data-conversion function.
|
||||
MPI_ERR_DISP 25 Invalid displacement.
|
||||
|
||||
MPI_ERR_DUP_DATAREP 26 Conversion functions could not
|
||||
be registered because a data
|
||||
representation identifier that was
|
||||
already defined was passed to
|
||||
MPI_REGISTER_DATAREP.
|
||||
MPI_ERR_FILE_EXISTS 27 File exists.
|
||||
MPI_ERR_FILE_IN_USE 28 File operation could not be
|
||||
completed, as the file is currently
|
||||
open by some process.
|
||||
MPI_ERR_FILE 29
|
||||
MPI_ERR_INFO_KEY 30 Illegal info key.
|
||||
|
||||
MPI_ERR_INFO_NOKEY 31 No such key.
|
||||
MPI_ERR_INFO_VALUE 32 Illegal info value.
|
||||
MPI_ERR_INFO 33 Invalid info object.
|
||||
MPI_ERR_IO 34 I/O error.
|
||||
MPI_ERR_KEYVAL 35 Illegal key value.
|
||||
|
||||
MPI_ERR_LOCKTYPE 36 Invalid locktype.
|
||||
MPI_ERR_NAME 37 Name not found.
|
||||
MPI_ERR_NO_MEM 38 Memory exhausted.
|
||||
MPI_ERR_NOT_SAME 39
|
||||
MPI_ERR_NO_SPACE 40 Not enough space.
|
||||
|
||||
MPI_ERR_NO_SUCH_FILE 41 File (or directory) does not exist.
|
||||
MPI_ERR_PORT 42 Invalid port.
|
||||
MPI_ERR_QUOTA 43 Quota exceeded.
|
||||
MPI_ERR_READ_ONLY 44 Read-only file system.
|
||||
MPI_ERR_RMA_CONFLICT 45 Conflicting accesses to window.
|
||||
|
||||
MPI_ERR_RMA_SYNC 46 Erroneous RMA synchronization.
|
||||
MPI_ERR_SERVICE 47 Invalid publish/unpublish.
|
||||
MPI_ERR_SIZE 48 Invalid size.
|
||||
MPI_ERR_SPAWN 49 Error spawning.
|
||||
MPI_ERR_UNSUPPORTED_DATAREP
|
||||
50 Unsupported datarep passed to
|
||||
MPI_File_set_view.
|
||||
|
||||
MPI_ERR_UNSUPPORTED_OPERATION
|
||||
51 Unsupported operation, such as
|
||||
seeking on a file that supports
|
||||
only sequential access.
|
||||
MPI_ERR_WIN 52 Invalid window.
|
||||
MPI_ERR_LASTCODE 53 Last error code.
|
||||
|
||||
MPI_ERR_SYSRESOURCE -2 Out of resources
|
||||
.fi
|
||||
|
||||
' @(#)MPI.3 1.40 06/03/09
|
60
ompi/mpi/man/man3/MPI_Abort.3
Обычный файл
60
ompi/mpi/man/man3/MPI_Abort.3
Обычный файл
@ -0,0 +1,60 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Abort 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Abort\fP \- Terminates MPI execution environment.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Abort(MPI_Comm \fIcomm\fP, int\fI errorcode\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.ftR
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_ABORT(\fICOMM\fP, \fIERRORCODE\fP, \fIIERROR\fP)
|
||||
INTEGER \fICOMM\fP,\fI ERRORCODE\fP,\fI IERROR
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void Comm::Abort(int \fIerrorcode\fP)
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator of tasks to abort.
|
||||
.TP 1i
|
||||
errorcode
|
||||
Error code to return to invoking environment.
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
This routine makes a "best attempt" to abort all tasks in the group of
|
||||
comm. This function does not require that the invoking environment take any
|
||||
action with the error code. However, a UNIX or POSIX
|
||||
environment should handle this as a return errorcode from the main program
|
||||
or an abort (errorcode).
|
||||
.sp
|
||||
The Open MPI implementation terminates all processes in all tasks that contain a process in \fIcomm\fP, and the error code is not returned to the invoking environment.
|
||||
.sp
|
||||
Note: All associated processes are sent a SIGTERM.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
||||
' @(#)MPI_Abort.3 1.20 06/03/09
|
124
ompi/mpi/man/man3/MPI_Accumulate.3
Обычный файл
124
ompi/mpi/man/man3/MPI_Accumulate.3
Обычный файл
@ -0,0 +1,124 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Accumulate 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Accumulate \fP \- Combines the contents of the origin buffer with that of a target buffer.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Accumulate(void *\fIorigin_addr\fP, int \fIorigin_count\fP,
|
||||
MPI_Datatype \fIorigin_datatype\fP, int \fItarget_rank\fP,
|
||||
MPI_Aint \fItarget_disp\fP, int \fItarget_count\fP,
|
||||
MPI_Datatype \fItarget_datatype\fP, MPI_Op \fIop\fP, MPI_Win \fIwin\fP)
|
||||
|
||||
.SH Fortran Syntax (see FORTRAN 77 NOTES)
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_ACCUMULATE(\fIORIGIN_ADDR, ORIGIN_COUNT, ORIGIN_DATATYPE, TARGET_RANK,
|
||||
TARGET_DISP, TARGET_COUNT, TARGET_DATATYPE, OP, WIN, IERROR\fP)
|
||||
<type> \fIORIGIN_ADDR\fP(*)
|
||||
INTEGER(KIND=MPI_ADDRESS_KIND) \fITARGET_DISP\fP
|
||||
INTEGER \fIORIGIN_COUNT, ORIGIN_DATATYPE, TARGET_RANK, TARGET_COUNT,
|
||||
TARGET_DATATYPE, OP, WIN, IERROR \fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::Win::Accumulate(const void* \fIorigin_addr\fP, int \fIorigin_count\fP,
|
||||
const MPI::Datatype& \fIorigin_datatype\fP, int \fItarget_rank\fP,
|
||||
MPI::Aint \fItarget_disp\fP, int \fItarget_count\fP, const MPI::Datatype&
|
||||
\fItarget_datatype\fP, const MPI::Op& \fIop\fP) const
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
origin_addr
|
||||
Initial address of buffer (choice).
|
||||
.ft R
|
||||
.TP 1i
|
||||
origin_count
|
||||
Number of entries in buffer (nonnegative integer).
|
||||
.ft R
|
||||
.TP 1i
|
||||
origin_datatype
|
||||
Data type of each buffer entry (handle).
|
||||
.ft R
|
||||
.TP 1i
|
||||
target_rank
|
||||
Rank of target (nonnegative integer).
|
||||
.ft R
|
||||
.TP 1i
|
||||
target_disp
|
||||
Displacement from start of window to beginning of target buffer (nonnegative integer).
|
||||
.ft R
|
||||
.TP 1i
|
||||
target_count
|
||||
Number of entries in target buffer (nonnegative integer).
|
||||
.ft R
|
||||
.TP 1i
|
||||
target_datatype
|
||||
Data type of each entry in target buffer (handle).
|
||||
.ft R
|
||||
.TP 1i
|
||||
op
|
||||
Reduce operation (handle).
|
||||
.ft R
|
||||
.TP 1i
|
||||
win
|
||||
Window object (handle).
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_Accumulate is a function used for one-sided MPI communication that adds the contents of the origin buffer (as defined by \fIorigin_addr\fP, \fIorigin_count\fP, and \fIorigin_datatype\fP) to the buffer specified by the arguments \fItarget_count\fP and \fItarget_datatype\fP, at offset \fItarget_disp\fP, in the target window specified by \fItarget_rank\fP and \fIwin\fP, using the operation \fIop\fP. The target window can only be accessed by processes within the same node. This is similar to MPI_Put, except that data is combined into the target area instead of overwriting it.
|
||||
.sp
|
||||
Any of the predefined operations for MPI_Reduce can be used. User-defined functions cannot be used. For example, if \fIop\fP is MPI_SUM, each element of the origin buffer is added to the corresponding element in the target, replacing the former value in the target.
|
||||
.sp
|
||||
Each datatype argument must be a predefined data type or a derived data type, where all basic components are of the same predefined data type. Both datatype arguments must be constructed from the same predefined data type. The operation \fIop\fP applies to elements of that predefined type. The \fItarget_datatype\fP argument must not specify overlapping entries, and the target buffer must fit in the target window.
|
||||
.sp
|
||||
A new predefined operation, MPI_REPLACE, is defined. It corresponds to the associative function f(a, b) =b; that is, the current value in the target memory is replaced by the value supplied by the origin.
|
||||
|
||||
|
||||
.SH FORTRAN 77 NOTES
|
||||
.ft R
|
||||
The MPI standard prescribes portable Fortran syntax for
|
||||
the \fITARGET_DISP\fP argument only for Fortran 90. FORTRAN 77
|
||||
users may use the non-portable syntax
|
||||
.sp
|
||||
.nf
|
||||
INTEGER*MPI_ADDRESS_KIND \fITARGET_DISP\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 NOTES
|
||||
MPI_Put is a special case of MPI_Accumulate, with the operation MPI_REPLACE. Note, however, that MPI_Put and MPI_Accumulate have different constraints on concurrent updates.
|
||||
.sp
|
||||
It is the user's responsibility to guarantee that, when
|
||||
using the accumulate functions, the target displacement argument is such
|
||||
that accesses to the window are properly aligned according to the data
|
||||
type arguments in the call to the MPI_Accumulate function.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_Put
|
||||
.br
|
||||
MPI_Reduce
|
||||
' @(#)MPI_Accumulate.3 1.15 06/03/09
|
84
ompi/mpi/man/man3/MPI_Add_error_class.3
Обычный файл
84
ompi/mpi/man/man3/MPI_Add_error_class.3
Обычный файл
@ -0,0 +1,84 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Add_error_class 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
|
||||
.SH NAME
|
||||
.nf
|
||||
\fBMPI_Add_error_class\fP \- Creates a new error class and returns its value
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Add_error_class(int *\fIerrorclass\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_ADD_ERROR_CLASS(\fIERRORCLASS, IERROR\fP)
|
||||
INTEGER \fIERRORCLASS, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI::Add_error_class()
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1.4i
|
||||
errorclass
|
||||
New error class (integer).
|
||||
.ft R
|
||||
.TP 1.4i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
The function MPI_Add_error_class creates a new, local error
|
||||
class.
|
||||
|
||||
.SH NOTES
|
||||
.ft R
|
||||
Because this function is local, the same value of \fIerrorclass\fP may
|
||||
not be returned on all processes that make this call, even if they
|
||||
call the function concurrently. Thus, same error on different
|
||||
processes may not cause the same value of \fIerrorclass\fP to be
|
||||
returned. To reduce the potential for confusion, MPI_Add_error_string
|
||||
may be used on multiple processes to associate the same error string
|
||||
with the newly created \fIerrorclass\fP. Even though \fIerrorclass\fP
|
||||
may not be consistent across processes, using MPI_Add_error_string
|
||||
will ensure the error string associated with it will be the same
|
||||
everywhere.
|
||||
.sp
|
||||
No function is provided to free error classes, as it is not expected
|
||||
that an application will create them in significant numbers.
|
||||
.sp
|
||||
The value returned is always greater than or equal to MPI_ERR_LASTCODE.
|
||||
|
||||
.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. C++
|
||||
functions do not return errors. If the default error handler is set to
|
||||
MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism
|
||||
will be used to throw an MPI:Exception object.
|
||||
.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_Add_error_code
|
||||
MPI_Add_error_string
|
||||
MPI_Error_class
|
||||
MPI_Error_string
|
||||
|
||||
' @(#)MPI_Add_error_class.3 1.4 06/03/09
|
77
ompi/mpi/man/man3/MPI_Add_error_code.3
Обычный файл
77
ompi/mpi/man/man3/MPI_Add_error_code.3
Обычный файл
@ -0,0 +1,77 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Add_error_code 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
|
||||
.SH NAME
|
||||
\fBMPI_Add_error_code\fP \- Creates a new error code associated
|
||||
with \fIerrorclass\fP
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Add_error_code(int \fIerrorclass\fP, int *\fIerrorcode\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_ADD_ERROR_CODE(\fIERRORCLASS, ERRORCODE, IERROR\fP)
|
||||
INTEGER \fI ERRORCLASS, ERRORCODE, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI::Add_error_code(int \fIerrorclass\fP, int* \fIerrorcode\fP)
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1.4i
|
||||
errorclass
|
||||
MPI error class (integer).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1.4i
|
||||
errorcode
|
||||
Error code returned by an MPI routine or an MPI error class (integer).
|
||||
.ft R
|
||||
.TP 1.4i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
Creates a new error code associated with \fIerrorclass\fP and returns
|
||||
its value in \fIerrorcode\fP.
|
||||
|
||||
.SH NOTES
|
||||
.ft R
|
||||
No function is provided to free error codes, as it is not expected
|
||||
that an application will create them in significant numbers.
|
||||
.sp
|
||||
The value returned is always greater than or equal to MPI_ERR_LASTCODE.
|
||||
|
||||
.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. C++
|
||||
functions do not return errors. If the default error handler is set to
|
||||
MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism
|
||||
will be used to throw an MPI:Exception object.
|
||||
.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_Add_error_class
|
||||
MPI_Error_class
|
||||
|
||||
' @(#)MPI_Add_error_code.3 1.4 06/03/09
|
||||
|
79
ompi/mpi/man/man3/MPI_Add_error_string.3
Обычный файл
79
ompi/mpi/man/man3/MPI_Add_error_string.3
Обычный файл
@ -0,0 +1,79 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Add_error_string 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
|
||||
.SH NAME
|
||||
.nf
|
||||
\fBMPI_Add_error_string\fP \- Associates a string with an error code or class
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Add_error_string(int \fIerrorcode\fP, char *\fIstring\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_ADD_ERROR_STRING(\fIERRORCODE, STRING, IERROR\fP)
|
||||
INTEGER \fIERRORCODE, IERROR\fP
|
||||
CHARACTER*(*) \fISTRING\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::Add_error_string(int \fIerrorcode\fP, const char* \fIstring\fP)
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1.4i
|
||||
errorcode
|
||||
MPI error class, or an error code returned by an MPI routine (integer).
|
||||
.ft R
|
||||
.TP 1.4i
|
||||
string
|
||||
Text that corresponds to the error code or class (string).
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1.4i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
This routine associates an error string with an error code or
|
||||
class. Calling MPI_Add_error_string for an error code or class that
|
||||
already has an associated error string will replace the old string
|
||||
with the new one. It is erroneous to call MPI_Add_error_string for an
|
||||
error value not generated via MPI_Add_error_class or
|
||||
MPI_Add_error_code (e.g., an error code or class with a value not
|
||||
greater than MPI_LAST_ERRCODE).
|
||||
|
||||
.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. C++
|
||||
functions do not return errors. If the default error handler is set to
|
||||
MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism
|
||||
will be used to throw an MPI:Exception object.
|
||||
.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_Add_error_class
|
||||
MPI_Add_error_code
|
||||
MPI_Error_class
|
||||
MPI_Error_string
|
||||
|
||||
' @(#)MPI_Add_error_string.3 1.4 06/03/09
|
||||
|
85
ompi/mpi/man/man3/MPI_Address.3
Обычный файл
85
ompi/mpi/man/man3/MPI_Address.3
Обычный файл
@ -0,0 +1,85 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Address 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Address\fP \- Gets the address of a location in memory -- use of this routine is deprecated.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Address(void *\fIlocation\fP, MPI_Aint\fP *address\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_ADDRESS(\fILOCATION\fP,\fI ADDRESS\fP,\fI IERROR\fP)
|
||||
<type> \fILOCATION\fP (*)
|
||||
INTEGER \fIADDRESS\fP,\fI IERROR\fP
|
||||
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
location
|
||||
Location in caller memory (choice).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
address
|
||||
Address of location (integer).
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_get_address instead.
|
||||
.sp
|
||||
This deprecated routine is not available in C++.
|
||||
.sp
|
||||
The address of a location in memory can be found by invoking this function. Returns the (byte) address of location.
|
||||
.sp
|
||||
Example: Using MPI_Address for an array.
|
||||
.sp
|
||||
.nf
|
||||
REAL A(100,100)
|
||||
.br
|
||||
INTEGER I1, I2, DIFF
|
||||
.br
|
||||
CALL MPI_ADDRESS(A(1,1), I1, IERROR)
|
||||
.br
|
||||
CALL MPI_ADDRESS(A(10,10), I2, IERROR)
|
||||
.br
|
||||
DIFF = I2 - I1
|
||||
.br
|
||||
! The value of DIFF is 909*sizeofreal; the values of I1 and I2 are
|
||||
.br
|
||||
! implementation dependent.
|
||||
.fi
|
||||
|
||||
.SH NOTES
|
||||
.ft R
|
||||
This routine is provided for both Fortran and C programmers and may be useful when writing portable code. In the current release, the address returned by this routine will be the same as that produced by the C & operator.
|
||||
.sp
|
||||
C users may be tempted to avoid using
|
||||
MPI_Address and rely on the availability of the address operator &.
|
||||
Note, however, that & cast-expression is a pointer, not an address.
|
||||
ANSI C does not require that the value of a pointer (or the pointer
|
||||
cast to int) be the absolute address of the object pointed at although
|
||||
this is commonly the case. Furthermore, referencing may not have a unique
|
||||
definition on machines with a segmented address space. The use of
|
||||
MPI_Address to "reference" C variables guarantees portability to
|
||||
such machines as well.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
||||
' @(#)MPI_Address.3 1.21 06/03/09
|
130
ompi/mpi/man/man3/MPI_Allgather.3
Обычный файл
130
ompi/mpi/man/man3/MPI_Allgather.3
Обычный файл
@ -0,0 +1,130 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Allgather 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Allgather\fP \- Gathers data from all processes and distributes it to all processes
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Allgather(void\fI *sendbuf\fP, int \fI sendcount\fP,
|
||||
MPI_Datatype\fI sendtype\fP, void\fI *recvbuf\fP, int\fI recvcount\fP,
|
||||
MPI_Datatype\fI recvtype\fP, MPI_Comm\fI comm\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_ALLGATHER(\fISENDBUF\fP,\fI SENDCOUNT\fP,\fI SENDTYPE\fP,\fI RECVBUF\fP,\fI RECVCOUNT\fP,\fI
|
||||
RECVTYPE\fP,\fI COMM\fP,\fI IERROR\fP)
|
||||
<type> \fISENDBUF\fP (*), \fIRECVBUF\fP (*)
|
||||
INTEGER \fISENDCOUNT\fP,\fI SENDTYPE\fP,\fI RECVCOUNT\fP,\fI RECVTYPE\fP,\fI COMM\fP,
|
||||
INTEGER \fIIERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::Comm::Allgather(const void* \fIsendbuf\fP, int \fIsendcount\fP, const
|
||||
MPI::Datatype& \fIsendtype\fP, void* \fIrecvbuf\fP, int \fIrecvcount\fP,
|
||||
const MPI::Datatype& \fIrecvtype\fP) const = 0
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
sendbuf
|
||||
Starting address of send buffer (choice).
|
||||
.TP 1i
|
||||
sendcount
|
||||
Number of elements in send buffer (integer).
|
||||
.TP 1i
|
||||
sendtype
|
||||
Datatype of send buffer elements (handle).
|
||||
.TP 1i
|
||||
recvcount
|
||||
Number of elements received from any process (integer).
|
||||
.TP 1i
|
||||
recvtype
|
||||
Datatype of receive buffer elements (handle).
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
recvbuf
|
||||
Address of receive buffer (choice).
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_Allgather is similar to MPI_Gather, except that all processes receive the result, instead of just the root. In other words, all processes contribute to the result, and all processes receive the result.
|
||||
.sp
|
||||
The type signature associated with sendcount, sendtype at a process must be equal to the type signature associated with recvcount, recvtype at any other process.
|
||||
.sp
|
||||
The outcome of a call to MPI_Allgather(\&...) is as if all processes executed n calls to
|
||||
.sp
|
||||
.nf
|
||||
MPI_Gather(sendbuf,sendcount,sendtype,recvbuf,recvcount,
|
||||
recvtype,root,comm),
|
||||
.sp
|
||||
.fi
|
||||
for root = 0 , ..., n-1. The rules for correct usage of MPI_Allgather are easily found from the corresponding rules for MPI_Gather.
|
||||
.sp
|
||||
\fBExample:\fR The all-gather version of Example 1 in MPI_Gather. Using MPI_Allgather, we will gather 100 ints from every process in the group to every process.
|
||||
.sp
|
||||
.nf
|
||||
MPI_Comm comm;
|
||||
int gsize,sendarray[100];
|
||||
int *rbuf;
|
||||
\&...
|
||||
MPI_Comm_size( comm, &gsize);
|
||||
rbuf = (int *)malloc(gsize*100*sizeof(int));
|
||||
MPI_Allgather( sendarray, 100, MPI_INT, rbuf, 100, MPI_INT, comm);
|
||||
.fi
|
||||
.sp
|
||||
After the call, every process has the group-wide concatenation of the sets of data.
|
||||
|
||||
.SH USE OF IN-PLACE OPTION
|
||||
When the communicator is an intracommunicator, you can perform an all-gather operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of both \fIsendbuf\fR and \fIrecvbuf\fR. In this case, \fIsendcount\fR and \fIsendtype\fR are ignored. The input data of each process is assumed to be in the area where that process would receive its own contribution to the receive buffer. Specifically, the outcome of a call to MPI_Allgather that used the in-place option is identical to the case in which all processes executed \fIn\fR calls to
|
||||
.sp
|
||||
.nf
|
||||
MPI_GATHER ( MPI_IN_PLACE, 0, MPI_DATATYPE_NULL, recvbuf,
|
||||
recvcount, recvtype, root, comm )
|
||||
|
||||
for root =0, ... , n-1.
|
||||
.fi
|
||||
.sp
|
||||
Note that MPI_IN_PLACE is a special kind of value; it has the same restrictions on its use as MPI_BOTTOM.
|
||||
.sp
|
||||
Because the in-place option converts the receive buffer into a send-and-receive buffer, a Fortran binding that includes INTENT must mark these as INOUT, not OUT.
|
||||
.sp
|
||||
.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR
|
||||
.sp
|
||||
When the communicator is an inter-communicator, the gather operation occurs in two phases. The data is gathered from all the members of the first group and received by all the members of the second group. Then the data is gathered from all the members of the second group and received by all the members of the first. The operation, however, need not be symmetric. The number of items sent by the processes in first group need not be equal to the number of items sent by the the processes in the second group. You can move data in only one direction by giving \fIsendcount\fR a value of 0 for communication in the reverse direction.
|
||||
.sp
|
||||
The first group defines the root process. The root process uses MPI_ROOT as the value of \fIroot\fR. All other processes in the first group use MPI_PROC_NULL as the value of \fIroot\fR. All processes in the second group use the rank of the root process in the first group as the value of \fIroot\fR.
|
||||
.sp
|
||||
When the communicator is an intra-communicator, these groups are the same, and the operation occurs in a single phase.
|
||||
.sp
|
||||
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_Allgatherv
|
||||
.br
|
||||
MPI_Gather
|
||||
|
||||
' @(#)MPI_Allgather.3 1.23 06/03/09
|
118
ompi/mpi/man/man3/MPI_Allgatherv.3
Обычный файл
118
ompi/mpi/man/man3/MPI_Allgatherv.3
Обычный файл
@ -0,0 +1,118 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Allgatherv 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Allgatherv\fP \- Gathers data from all processes and delivers it to all. Each process may contribute a different amount of data.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Allgatherv(void\fI *sendbuf\fP, int\fI sendcount\fP,
|
||||
MPI_Datatype\fI sendtype\fP, void\fI *recvbuf\fP, int\fI *recvcount\fP,
|
||||
int\fI *displs\fP, MPI_Datatype\fI recvtype\fP, MPI_Comm\fI comm\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_ALLGATHERV(\fISENDBUF\fP,\fI SENDCOUNT\fP, \fISENDTYPE\fP,\fI RECVBUF\fP,
|
||||
\fIRECVCOUNT\fP,\fI DISPLS\fP, \fIRECVTYPE\fP,\fI COMM\fP,\fI IERROR\fP)
|
||||
<type> \fISENDBUF\fP(*), \fIRECVBUF\fP(*)
|
||||
INTEGER \fISENDCOUNT\fP,\fI SENDTYPE\fP, \fIRECVCOUNT\fP(*),
|
||||
INTEGER \fIDISPLS\fP(*),\fI RECVTYPE\fP,\fI COMM\fP,\fI IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::Comm::Allgatherv(const void* \fIsendbuf\fP, int \fIsendcount\fP,
|
||||
const MPI::Datatype& \fIsendtype\fP, void* \fIrecvbuf\fP,
|
||||
const int \fIrecvcounts\fP[], const int \fIdispls\fP[],
|
||||
const MPI::Datatype& \fIrecvtype\fP) const = 0
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
sendbuf
|
||||
Starting address of send buffer (choice).
|
||||
.TP 1i
|
||||
sendcount
|
||||
Number of elements in send buffer (integer).
|
||||
.TP 1i
|
||||
sendtype
|
||||
Datatype of send buffer elements (handle).
|
||||
.TP 1i
|
||||
recvcount
|
||||
Integer array (of length group size) containing the number of elements that are received from each process.
|
||||
.TP 1i
|
||||
displs
|
||||
Integer array (of length group size). Entry i specifies the displacement (relative to recvbuf) at which to place the incoming data from process i.
|
||||
.TP 1i
|
||||
recvtype
|
||||
Datatype of receive buffer elements (handle).
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator (handle).
|
||||
.sp
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
recvbuf
|
||||
Address of receive buffer (choice).
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_Allgatherv is similar to MPI_Allgather in that all processes gather data from all other processes, except that each process can send a different amount of data. The block of data sent from the jth process is received by every process and placed in the jth block of the buffer
|
||||
.I recvbuf.
|
||||
.sp
|
||||
The type signature associated with sendcount, sendtype, at process j must be equal to the type signature associated with recvcounts[j], recvtype at any other process.
|
||||
.sp
|
||||
The outcome is as if all processes executed calls to
|
||||
.nf
|
||||
MPI_Gatherv(sendbuf,sendcount,sendtype,recvbuf,recvcount,
|
||||
displs,recvtype,root,comm)
|
||||
.fi
|
||||
.sp
|
||||
for root = 0 , ..., n-1. The rules for correct usage of MPI_Allgatherv are easily found from the corresponding rules for MPI_Gatherv.
|
||||
|
||||
.SH USE OF IN-PLACE OPTION
|
||||
When the communicator is an intracommunicator, you can perform an all-gather operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of both \fIsendbuf\fR and \fIrecvbuf\fR. In this case, \fIsendcount\fR and \fIsendtype\fR are ignored. The input data of each process is assumed to be in the area where that process would receive its own contribution to the receive buffer. Specifically, the outcome of a call to MPI_Allgather that used the in-place option is identical to the case in which all processes executed \fIn\fR calls to
|
||||
.sp
|
||||
.nf
|
||||
MPI_GATHERV ( MPI_IN_PLACE, 0, MPI_DATATYPE_NULL, recvbuf,
|
||||
recvcounts, displs, recvtype, root, comm )
|
||||
|
||||
for root =0, ... , n-1.
|
||||
.fi
|
||||
.sp
|
||||
Note that MPI_IN_PLACE is a special kind of value; it has the same restrictions on its use as MPI_BOTTOM.
|
||||
.sp
|
||||
Because the in-place option converts the receive buffer into a send-and-receive buffer, a Fortran binding that includes INTENT must mark these as INOUT, not OUT.
|
||||
.sp
|
||||
.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR
|
||||
.sp
|
||||
When the communicator is an inter-communicator, the gather operation occurs in two phases. The data is gathered from all the members of the first group, concatenated, and received by all the members of the second group. Then the data is gathered from all the members of the second group, concatenated, and received by all the members of the first. The send buffer arguments in the one group must be consistent with the receive buffer arguments in the other group, and vice versa. The operation must exhibit symmetric, full-duplex behavior.
|
||||
.sp
|
||||
The first group defines the root process. The root process uses MPI_ROOT as the value of \fIroot\fR. All other processes in the first group use MPI_PROC_NULL as the value of \fIroot\fR. All processes in the second group use the rank of the root process in the first group as the value of \fIroot\fR.
|
||||
.sp
|
||||
When the communicator is an intra-communicator, these groups are the same, and the operation occurs in a single phase.
|
||||
.sp
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_Gatherv
|
||||
.br
|
||||
MPI_Allgather
|
||||
' @(#)MPI_Allgatherv.3 1.24 06/03/09
|
97
ompi/mpi/man/man3/MPI_Alloc_mem.3
Обычный файл
97
ompi/mpi/man/man3/MPI_Alloc_mem.3
Обычный файл
@ -0,0 +1,97 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Alloc_mem 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Alloc_mem \fP \- Allocates a specified memory segment.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Alloc_mem(MPI_Aint \fIsize\fP, MPI_Info \fIinfo\fP, void *\fIbaseptr\fP)
|
||||
|
||||
.SH Fortran Syntax (see FORTRAN NOTES)
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_ALLOC_MEM(\fISIZE, INFO, BASEPTR, IERROR\fP)
|
||||
INTEGER \fIINFO, IERROR\fP
|
||||
INTEGER(KIND=MPI_ADDRESS_KIND) \fISIZE, BASEPTR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void* MPI::Alloc_mem(MPI::Aint \fIsize\fP, const MPI::Info& \fIinfo\fP)
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
size
|
||||
Size of memory segment in bytes (nonnegative integer).
|
||||
.ft R
|
||||
.TP 1i
|
||||
info
|
||||
Info argument (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
baseptr
|
||||
Pointer to beginning of memory segment allocated.
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_Alloc_mem allocates \fIsize\fP bytes of memory. The starting address
|
||||
of this memory is returned in the variable \fIbase\fP.
|
||||
.sp
|
||||
Memory allocated by MPI_Alloc_mem is
|
||||
guaranteed to be aligned on natural boundaries (page frames).
|
||||
|
||||
.SH FORTRAN NOTES
|
||||
.ft R
|
||||
There is no portable FORTRAN 77 syntax for using MPI_Alloc_mem.
|
||||
There is no portable Fortran syntax for using pointers returned
|
||||
from MPI_Alloc_mem. However, MPI_Alloc_mem can be used with
|
||||
Fortran compilers.
|
||||
.sp
|
||||
From FORTRAN 77, you can use the following non-standard
|
||||
declarations for the SIZE and BASEPTR arguments:
|
||||
.nf
|
||||
INCLUDE "mpif.h"
|
||||
INTEGER*MPI_ADDRESS_KIND SIZE, BASEPTR
|
||||
.fi
|
||||
.sp
|
||||
From either FORTRAN 77 or Fortran 90, you can use "Cray pointers"
|
||||
for the BASEPTR argument. Cray pointers are described further in
|
||||
the Fortran User's Guide and are supported by many Fortran compilers.
|
||||
For example,
|
||||
.sp
|
||||
.nf
|
||||
INCLUDE "mpif.h"
|
||||
REAL*4 A(100,100)
|
||||
POINTER (BASEPTR, A)
|
||||
INTEGER*MPI_ADDRESS_KIND SIZE
|
||||
|
||||
SIZE = 4 * 100 * 100
|
||||
CALL MPI_ALLOC_MEM(SIZE,MPI_INFO_NULL,BASEPTR,IERR)
|
||||
|
||||
! use A
|
||||
|
||||
CALL MPI_FREE_MEM(A, IERR)
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_Free_mem
|
||||
' @(#)MPI_Alloc_mem.3 1.17 06/03/09
|
144
ompi/mpi/man/man3/MPI_Allreduce.3
Обычный файл
144
ompi/mpi/man/man3/MPI_Allreduce.3
Обычный файл
@ -0,0 +1,144 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Allreduce 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Allreduce\fP \- Combines values from all processes and distributes the result back to all processes.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Allreduce(void \fI*sendbuf\fP, void \fI*recvbuf\fP, int\fI count\fP,
|
||||
MPI_Datatype\fI datatype\fP, MPI_Op\fI op\fP, MPI_Comm\fI comm\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_ALLREDUCE(\fISENDBUF\fP,\fI RECVBUF\fP, \fICOUNT\fP,\fI DATATYPE\fP,\fI OP\fP,
|
||||
\fICOMM\fP, \fIIERROR\fP)
|
||||
<type> \fISENDBUF\fP(*), \fIRECVBUF\fP(*)
|
||||
INTEGER \fICOUNT\fP,\fI DATATYPE\fP,\fI OP\fP,\fI COMM\fP,\fI IERROR
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::Comm::Allreduce(const void* \fIsendbuf\fP, void* \fIrecvbuf\fP,
|
||||
int \fIcount\fP, const MPI::Datatype& \fIdatatype\fP, const
|
||||
MPI::Op& \fIop\fP) const=0
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
sendbuf
|
||||
Starting address of send buffer (choice).
|
||||
.TP 1i
|
||||
count
|
||||
Number of elements in send buffer (integer).
|
||||
.TP 1i
|
||||
datatype
|
||||
Datatype of elements of send buffer (handle).
|
||||
.TP 1i
|
||||
op
|
||||
Operation (handle).
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
recvbuf
|
||||
Starting address of receive buffer (choice).
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
Same as MPI_Reduce except that the result appears in the receive buffer of all the group members.
|
||||
.sp
|
||||
\fBExample 1:\fR A routine that computes the product of a vector and an array that are distributed across a group of processes and returns the answer at all nodes (compare with Example 2, with MPI_Reduce, below).
|
||||
.sp
|
||||
.nf
|
||||
SUBROUTINE PAR_BLAS2(m, n, a, b, c, comm)
|
||||
REAL a(m), b(m,n) ! local slice of array
|
||||
REAL c(n) ! result
|
||||
REAL sum(n)
|
||||
INTEGER n, comm, i, j, ierr
|
||||
|
||||
! local sum
|
||||
DO j= 1, n
|
||||
sum(j) = 0.0
|
||||
DO i = 1, m
|
||||
sum(j) = sum(j) + a(i)*b(i,j)
|
||||
END DO
|
||||
END DO
|
||||
|
||||
! global sum
|
||||
CALL MPI_ALLREDUCE(sum, c, n, MPI_REAL, MPI_SUM, comm, ierr)
|
||||
|
||||
! return result at all nodes
|
||||
RETURN
|
||||
.fi
|
||||
.sp
|
||||
\fBExample 2:\fR A routine that computes the product of a vector and an array that are distributed across a group of processes and returns the answer at node zero.
|
||||
.sp
|
||||
.nf
|
||||
SUBROUTINE PAR_BLAS2(m, n, a, b, c, comm)
|
||||
REAL a(m), b(m,n) ! local slice of array
|
||||
REAL c(n) ! result
|
||||
REAL sum(n)
|
||||
INTEGER n, comm, i, j, ierr
|
||||
|
||||
! local sum
|
||||
DO j= 1, n
|
||||
sum(j) = 0.0
|
||||
DO i = 1, m
|
||||
sum(j) = sum(j) + a(i)*b(i,j)
|
||||
END DO
|
||||
END DO
|
||||
|
||||
! global sum
|
||||
CALL MPI_REDUCE(sum, c, n, MPI_REAL, MPI_SUM, 0, comm, ierr)
|
||||
|
||||
! return result at node zero (and garbage at the other nodes)
|
||||
RETURN
|
||||
.fi
|
||||
.SH USE OF IN-PLACE OPTION
|
||||
When the communicator is an intracommunicator, you can perform an all-reduce operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of both \fIsendbuf\fR and \fIrecvbuf\fR.
|
||||
.sp
|
||||
Note that MPI_IN_PLACE is a special kind of value; it has the same restrictions on its use as MPI_BOTTOM.
|
||||
.sp
|
||||
Because the in-place option converts the receive buffer into a send-and-receive buffer, a Fortran binding that includes INTENT must mark these as INOUT, not OUT.
|
||||
.sp
|
||||
.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR
|
||||
When the communicator is an inter-communicator, the reduce operation occurs in two phases. The data is reduced from all the members of the first group and received by all the members of the second group. Then the data is reduced from all the members of the second group and received by all the members of the first. The operation exhibits a symmetric, full-duplex behavior.
|
||||
.sp
|
||||
The first group defines the root process. The root process uses MPI_ROOT as the value of \fIroot\fR. All other processes in the first group use MPI_PROC_NULL as the value of \fIroot\fR. All processes in the second group use the rank of the root process in the first group as the value of \fIroot\fR.
|
||||
.sp
|
||||
When the communicator is an intra-communicator, these groups are the same, and the operation occurs in a single phase.
|
||||
.SH NOTES ON COLLECTIVE OPERATIONS
|
||||
|
||||
The reduction functions (
|
||||
.I MPI_Op
|
||||
) do not return an error value. As a result,
|
||||
if the functions detect an error, all they can do is either call
|
||||
.I MPI_Abort
|
||||
or silently skip the problem. Thus, if you change the error handler from
|
||||
.I MPI_ERRORS_ARE_FATAL
|
||||
to something else, for example,
|
||||
.I MPI_ERRORS_RETURN
|
||||
,
|
||||
then no error may be indicated.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
||||
|
||||
' @(#)MPI_Allreduce.3 1.23 06/03/09
|
131
ompi/mpi/man/man3/MPI_Alltoall.3
Обычный файл
131
ompi/mpi/man/man3/MPI_Alltoall.3
Обычный файл
@ -0,0 +1,131 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Alltoall 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
|
||||
.SH NAME
|
||||
\fBMPI_Alltoall\fP \- All processes send data to all processes
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Alltoall(void *\fIsendbuf\fP, int \fIsendcount\fP,
|
||||
MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP,
|
||||
MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_ALLTOALL(\fISENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNT,
|
||||
RECVTYPE, COMM, IERROR\fP)
|
||||
|
||||
<type> \fISENDBUF(*), RECVBUF(*)\fP
|
||||
INTEGER \fISENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE\fP
|
||||
INTEGER \fICOMM, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::Comm::Alltoall(const void* \fIsendbuf\fP, int \fIsendcount\fP,
|
||||
const MPI::Datatype& \fIsendtype\fP, void* \fIrecvbuf\fP,
|
||||
int \fIrecvcount\fP, const MPI::Datatype& \fIrecvtype\fP)
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1.2i
|
||||
sendbuf
|
||||
Starting address of send buffer (choice).
|
||||
.TP 1.2i
|
||||
sendcount
|
||||
Number of elements to send to each process (integer).
|
||||
.TP 1.2i
|
||||
sendtype
|
||||
Datatype of send buffer elements (handle).
|
||||
.TP 1.2i
|
||||
recvcount
|
||||
Number of elements to receive from each process (integer).
|
||||
.TP 1.2i
|
||||
recvtype
|
||||
Datatype of receive buffer elements (handle).
|
||||
.TP 1.2i
|
||||
comm
|
||||
Communicator over which data is to be exchanged (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1.2i
|
||||
recvbuf
|
||||
Starting address of receive buffer (choice).
|
||||
.ft R
|
||||
.TP 1.2i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_Alltoall is a collective operation in which all processes send the same amount of data to each other, and receive the same amount of data from each other. The operation of this routine can be represented as follows, where each process performs 2n (n being the number of processes in communicator \fIcomm\fP) independent point-to-point communications (including communication with itself).
|
||||
.sp
|
||||
.nf
|
||||
MPI_Comm_size(\fIcomm\fP, &n);
|
||||
for (i = 0, i < n; i++)
|
||||
MPI_Send(\fIsendbuf\fP + i * \fIsendcount\fP * extent(\fIsendtype\fP),
|
||||
\fIsendcount\fP, \fIsendtype\fP, i, ..., \fIcomm\fP);
|
||||
for (i = 0, i < n; i++)
|
||||
MPI_Recv(\fIrecvbuf\fP + i * \fIrecvcount\fP * extent(\fIrecvtype\fP),
|
||||
\fIrecvcount\fP, \fIrecvtype\fP, i, ..., \fIcomm\fP);
|
||||
.fi
|
||||
.sp
|
||||
Each process breaks up its local \fIsendbuf\fP into n blocks \- each
|
||||
containing \fIsendcount\fP elements of type \fIsendtype\fP \- and
|
||||
divides its \fIrecvbuf\fP similarly according to \fIrecvcount\fP and
|
||||
\fIrecvtype\fP. Process j sends the k-th block of its local
|
||||
\fIsendbuf\fP to process k, which places the data in the j-th block of
|
||||
its local \fIrecvbuf\fP. The amount of data sent must be equal to the
|
||||
amount of data received, pairwise, between every pair of processes.
|
||||
|
||||
WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR
|
||||
.sp
|
||||
When the communicator is an inter-communicator, the gather operation occurs in two phases. The data is gathered from all the members of the first group and received by all the members of the second group. Then the data is gathered from all the members of the second group and received by all the members of the first. The operation exhibits a symmetric, full-duplex behavior.
|
||||
.sp
|
||||
The first group defines the root process. The root process uses MPI_ROOT as the value of \fIroot\fR. All other processes in the first group use MPI_PROC_NULL as the value of \fIroot\fR. All processes in the second group use the rank of the root process in the first group as the value of \fIroot\fR.
|
||||
.sp
|
||||
When the communicator is an intra-communicator, these groups are the same, and the operation occurs in a single phase.
|
||||
.sp
|
||||
.SH NOTES
|
||||
.ft R
|
||||
The MPI_IN_PLACE option is not available for this function.
|
||||
.sp
|
||||
All arguments on all processes are significant. The \fIcomm\fP argument,
|
||||
in particular, must describe the same communicator on all processes.
|
||||
.sp
|
||||
There are two MPI library functions that are more general than
|
||||
MPI_Alltoall. MPI_Alltoallv allows all-to-all communication to and
|
||||
from buffers that need not be contiguous; different processes may
|
||||
send and receive different amounts of data. MPI_Alltoallw expands
|
||||
MPI_Alltoallv's functionality to allow the exchange of data with
|
||||
different datatypes.
|
||||
|
||||
.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. C++
|
||||
functions do not return errors. If the default error handler is set to
|
||||
MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism
|
||||
will be used to throw an MPI:Exception object.
|
||||
.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_Alltoallv
|
||||
MPI_Alltoallw
|
||||
|
||||
' @(#)MPI_Alltoall.3 1.25 06/03/09
|
161
ompi/mpi/man/man3/MPI_Alltoallv.3
Обычный файл
161
ompi/mpi/man/man3/MPI_Alltoallv.3
Обычный файл
@ -0,0 +1,161 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Alltoallv 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
|
||||
.SH NAME
|
||||
\fBMPI_Alltoallv\fP \- All processes send different amount of data to, and receive different amount of data from, all processes
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Alltoallv(void *\fIsendbuf\fP, int *\fIsendcounts\fP,
|
||||
int *\fIsdispls\fP, MPI_Datatype \fIsendtype\fP,
|
||||
void *\fIrecvbuf\fP, int\fI *recvcounts\fP,
|
||||
int *\fIrdispls\fP, MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
|
||||
MPI_ALLTOALLV(\fISENDBUF, SENDCOUNTS, SDISPLS, SENDTYPE,
|
||||
RECVBUF, RECVCOUNTS, RDISPLS, RECVTYPE, COMM, IERROR\fP)
|
||||
|
||||
<type> \fISENDBUF(*), RECVBUF(*)\fP
|
||||
INTEGER \fISENDCOUNTS(*), SDISPLS(*), SENDTYPE\fP
|
||||
INTEGER \fIRECVCOUNTS(*), RDISPLS(*), RECVTYPE\fP
|
||||
INTEGER \fICOMM, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::Comm::Alltoallv(const void* \fIsendbuf\fP,
|
||||
const int \fIsendcounts\fP[], const int \fIdispls\fP[],
|
||||
const MPI::Datatype& \fIsendtype\fP, void* \fIrecvbuf\fP,
|
||||
const int \fIrecvcounts\fP[], const int \fIrdispls\fP[],
|
||||
const MPI::Datatype& \fIrecvtype\fP)
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1.2i
|
||||
sendbuf
|
||||
Starting address of send buffer.
|
||||
.TP 1.2i
|
||||
sendcounts
|
||||
Integer array, where entry i specifies the number of elements to send
|
||||
to rank i.
|
||||
.TP 1.2i
|
||||
sdispls
|
||||
Integer array, where entry i specifies the displacement (offset from
|
||||
\fIsendbuf\fP, in units of \fIsendtype\fP) from which to send data to
|
||||
rank i.
|
||||
.TP 1.2i
|
||||
sendtype
|
||||
Datatype of send buffer elements.
|
||||
.TP 1.2i
|
||||
recvcounts
|
||||
Integer array, where entry j specifies the number of elements to
|
||||
receive from rank j.
|
||||
.TP 1.2i
|
||||
rdispls
|
||||
Integer array, where entry j specifies the displacement (offset from
|
||||
\fIrecvbuf\fP, in units of \fIrecvtype\fP) to which data from rank j
|
||||
should be written.
|
||||
.TP 1.2i
|
||||
recvtype
|
||||
Datatype of receive buffer elements.
|
||||
.TP 1.2i
|
||||
comm
|
||||
Communicator over which data is to be exchanged.
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1.2i
|
||||
recvbuf
|
||||
Address of receive buffer.
|
||||
.ft R
|
||||
.TP 1.2i
|
||||
IERROR
|
||||
Fortran only: Error status.
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_Alltoallv is a generalized collective operation in which all
|
||||
processes send data to and receive data from all other processes. It
|
||||
adds flexibility to MPI_Alltoall by allowing the user to specify data
|
||||
to send and receive vector-style (via a displacement and element
|
||||
count). The operation of this routine can be thought of as follows,
|
||||
where each process performs 2n (n being the number of processes in
|
||||
communicator \fIcomm\fP) independent point-to-point communications
|
||||
(including communication with itself).
|
||||
.sp
|
||||
.nf
|
||||
MPI_Comm_size(\fIcomm\fP, &n);
|
||||
for (i = 0, i < n; i++)
|
||||
MPI_Send(\fIsendbuf\fP + \fIsdispls\fP[i] * extent(\fIsendtype\fP),
|
||||
\fIsendcounts\fP[i], \fIsendtype\fP, i, ..., \fIcomm\fP);
|
||||
for (i = 0, i < n; i++)
|
||||
MPI_Recv(\fIrecvbuf\fP + \fIrdispls\fP[i] * extent(\fIrecvtype\fP),
|
||||
\fIrecvcounts\fP[i], \fIrecvtype\fP, i, ..., \fIcomm\fP);
|
||||
.fi
|
||||
.sp
|
||||
Process j sends the k-th block of its local \fIsendbuf\fP to process
|
||||
k, which places the data in the j-th block of its local
|
||||
\fIrecvbuf\fP.
|
||||
.sp
|
||||
When a pair of processes exchanges data, each may pass different
|
||||
element count and datatype arguments so long as the sender specifies
|
||||
the same amount of data to send (in bytes) as the receiver expects
|
||||
to receive.
|
||||
.sp
|
||||
Note that process i may send a different amount of data to process j
|
||||
than it receives from process j. Also, a process may send entirely
|
||||
different amounts of data to different processes in the communicator.
|
||||
|
||||
.sp
|
||||
WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR
|
||||
.sp
|
||||
When the communicator is an inter-communicator, the gather operation occurs in two phases. The data is gathered from all the members of the first group and received by all the members of the second group. Then the data is gathered from all the members of the second group and received by all the members of the first. The operation exhibits a symmetric, full-duplex behavior.
|
||||
.sp
|
||||
The first group defines the root process. The root process uses MPI_ROOT as the value of \fIroot\fR. All other processes in the first group use MPI_PROC_NULL as the value of \fIroot\fR. All processes in the second group use the rank of the root process in the first group as the value of \fIroot\fR.
|
||||
.sp
|
||||
When the communicator is an intra-communicator, these groups are the same, and the operation occurs in a single phase.
|
||||
.sp
|
||||
.SH NOTES
|
||||
.ft R
|
||||
The MPI_IN_PLACE option is not available for any form of all-to-all
|
||||
communication.
|
||||
.sp
|
||||
The specification of counts and displacements should not cause
|
||||
any location to be written more than once.
|
||||
.sp
|
||||
All arguments on all processes are significant. The \fIcomm\fP argument,
|
||||
in particular, must describe the same communicator on all processes.
|
||||
.sp
|
||||
The offsets of \fIsdispls\fP and \fIrdispls\fP are measured in units
|
||||
of \fIsendtype\fP and \fIrecvtype\fP, respectively. Compare this to
|
||||
MPI_Alltoallw, where these offsets are measured in bytes.
|
||||
|
||||
.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. C++
|
||||
functions do not return errors. If the default error handler is set to
|
||||
MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism
|
||||
will be used to throw an MPI:Exception object.
|
||||
.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_Alltoall
|
||||
MPI_Alltoallw
|
||||
|
||||
' @(#)MPI_Alltoallv.3 1.25 06/03/09
|
162
ompi/mpi/man/man3/MPI_Alltoallw.3
Обычный файл
162
ompi/mpi/man/man3/MPI_Alltoallw.3
Обычный файл
@ -0,0 +1,162 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Alltoallw 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
|
||||
.SH NAME
|
||||
\fBMPI_Alltoallw\fP \- All processes send data of different types to, and receive data of different types from, all processes
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Alltoallw(void *\fIsendbuf\fP, int *\fIsendcounts\fP,
|
||||
int *\fIsdispls\fP, MPI_Datatype *\fIsendtypes\fP,
|
||||
void *\fIrecvbuf\fP, int *\fIrecvcounts\fP,
|
||||
int *\fIrdispls\fP, MPI_Datatype *\fIrecvtypes\fP, MPI_Comm \fIcomm\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_ALLTOALLW(\fISENDBUF, SENDCOUNTS, SDISPLS, SENDTYPES,
|
||||
RECVBUF, RECVCOUNTS, RDISPLS, RECVTYPES, COMM, IERROR\fP)
|
||||
|
||||
<type> \fISENDBUF(*), RECVBUF(*)\fP
|
||||
INTEGER \fISENDCOUNTS(*), SDISPLS(*), SENDTYPES(*)\fP
|
||||
INTEGER \fIRECVCOUNTS(*), RDISPLS(*), RECVTYPES(*)\fP
|
||||
INTEGER \fICOMM, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::Comm::Alltoallw(const void* \fIsendbuf\fP,
|
||||
const int \fIsendcounts\fP[], const int \fIsdispls\fP[],
|
||||
const MPI::Datatype \fIsendtypes\fP[], void* \fIrecvbuf\fP,
|
||||
const int \fIrecvcounts\fP[], const int \fIrdispls\fP[],
|
||||
const MPI::Datatype \fIrecvtypes\fP[])
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1.2i
|
||||
sendbuf
|
||||
Starting address of send buffer.
|
||||
.TP 1.2i
|
||||
sendcounts
|
||||
Integer array, where entry i specifies the number of elements to send
|
||||
to rank i.
|
||||
.TP 1.2i
|
||||
sdispls
|
||||
Integer array, where entry i specifies the displacement (in bytes,
|
||||
offset from \fIsendbuf\fP) from which to send data to rank i.
|
||||
.TP 1.2i
|
||||
sendtypes
|
||||
Datatype array, where entry i specifies the datatype to use when
|
||||
sending data to rank i.
|
||||
.TP 1.2i
|
||||
recvcounts
|
||||
Integer array, where entry j specifies the number of elements to
|
||||
receive from rank j.
|
||||
.TP 1.2i
|
||||
rdispls
|
||||
Integer array, where entry j specifies the displacement (in bytes,
|
||||
offset from \fIrecvbuf\fP) to which data from rank j should
|
||||
be written.
|
||||
.TP 1.2i
|
||||
recvtypes
|
||||
Datatype array, where entry j specifies the datatype to use when
|
||||
receiving data from rank j.
|
||||
.TP 1.2i
|
||||
comm
|
||||
Communicator over which data is to be exchanged.
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1.2i
|
||||
recvbuf
|
||||
Address of receive buffer.
|
||||
.ft R
|
||||
.TP 1.2i
|
||||
IERROR
|
||||
Fortran only: Error status.
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_Alltoallw is a generalized collective operation in which all
|
||||
processes send data to and receive data from all other processes. It
|
||||
adds flexibility to MPI_Alltoallv by allowing the user to specify the
|
||||
datatype of individual data blocks (in addition to displacement and
|
||||
element count). Its operation can be thought of in the following way,
|
||||
where each process performs 2n (n being the number of processes in
|
||||
communicator \fIcomm\fP) independent point-to-point communications
|
||||
(including communication with itself).
|
||||
.sp
|
||||
.nf
|
||||
MPI_Comm_size(\fIcomm\fP, &n);
|
||||
for (i = 0, i < n; i++)
|
||||
MPI_Send(\fIsendbuf\fP + \fIsdispls\fP[i], \fIsendcounts\fP[i],
|
||||
\fIsendtypes\fP[i], i, ..., \fIcomm\fP);
|
||||
for (i = 0, i < n; i++)
|
||||
MPI_Recv(\fIrecvbuf\fP + \fIrdispls\fP[i], \fIrecvcounts\fP[i],
|
||||
\fIrecvtypes\fP[i], i, ..., \fIcomm\fP);
|
||||
.fi
|
||||
.sp
|
||||
Process j sends the k-th block of its local \fIsendbuf\fP to process
|
||||
k, which places the data in the j-th block of its local
|
||||
\fIrecvbuf\fP.
|
||||
.sp
|
||||
When a pair of processes exchanges data, each may pass different
|
||||
element count and datatype arguments so long as the sender specifies
|
||||
the same amount of data to send (in bytes) as the receiver expects
|
||||
to receive.
|
||||
.sp
|
||||
Note that process i may send a different amount of data to process j
|
||||
than it receives from process j. Also, a process may send entirely
|
||||
different amounts and types of data to different processes in the
|
||||
communicator.
|
||||
|
||||
WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR
|
||||
.sp
|
||||
When the communicator is an inter-communicator, the gather operation occurs in two phases. The data is gathered from all the members of the first group and received by all the members of the second group. Then the data is gathered from all the members of the second group and received by all the members of the first. The operation exhibits a symmetric, full-duplex behavior.
|
||||
.sp
|
||||
The first group defines the root process. The root process uses MPI_ROOT as the value of \fIroot\fR. All other processes in the first group use MPI_PROC_NULL as the value of \fIroot\fR. All processes in the second group use the rank of the root process in the first group as the value of \fIroot\fR.
|
||||
.sp
|
||||
When the communicator is an intra-communicator, these groups are the same, and the operation occurs in a single phase.
|
||||
.sp
|
||||
.SH NOTES
|
||||
.ft R
|
||||
The MPI_IN_PLACE option is not available for any form of all-to-all
|
||||
communication.
|
||||
.sp
|
||||
The specification of counts, types, and displacements should not cause
|
||||
any location to be written more than once.
|
||||
.sp
|
||||
All arguments on all processes are significant. The \fIcomm\fP argument,
|
||||
in particular, must describe the same communicator on all processes.
|
||||
.sp
|
||||
The offsets of \fIsdispls\fP and \fIrdispls\fP are measured in bytes.
|
||||
Compare this to MPI_Alltoallv, where these offsets are measured in units
|
||||
of \fIsendtype\fP and \fIrecvtype\fP, respectively.
|
||||
|
||||
.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. C++
|
||||
functions do not return errors. If the default error handler is set to
|
||||
MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism
|
||||
will be used to throw an MPI:Exception object.
|
||||
.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_Alltoall
|
||||
MPI_Alltoallv
|
||||
|
||||
' @(#)MPI_Alltoallw.3 1.7 06/03/09
|
53
ompi/mpi/man/man3/MPI_Attr_delete.3
Обычный файл
53
ompi/mpi/man/man3/MPI_Attr_delete.3
Обычный файл
@ -0,0 +1,53 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Attr_delete 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Attr_delete\fP \- Deletes attribute value associated with a key -- use of this routine is deprecated.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Attr_delete(MPI_Comm\fI comm\fP, int\fI keyval\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_ATTR_DELETE(\fICOMM\fP,\fI KEYVAL\fP, \fIIERROR\fP)
|
||||
INTEGER \fICOMM\fP,\fI KEYVAL\fP,\fI IERROR\fP
|
||||
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator to which attribute is attached (handle).
|
||||
.TP 1i
|
||||
keyval
|
||||
The key value of the deleted attribute (integer).
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
This deprecated routine is not available in C++.
|
||||
.sp
|
||||
Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Comm_delete_attr.
|
||||
.sp
|
||||
Delete attribute from cache by key. This function invokes the attribute delete function delete_fn specified when the 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.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
||||
|
||||
' @(#)MPI_Attr_delete.3 1.21 06/03/09
|
66
ompi/mpi/man/man3/MPI_Attr_get.3
Обычный файл
66
ompi/mpi/man/man3/MPI_Attr_get.3
Обычный файл
@ -0,0 +1,66 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Attr_get 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Attr_get\fP \- Retrieves attribute value by key -- use of this routine is deprecated.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Attr_get(MPI_Comm \fIcomm\fP, int\fI keyval\fP,void\fI *attribute_val\fP,
|
||||
int\fI *flag \fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_ATTR_GET(\fICOMM\fP,\fI KEYVAL\fP, \fIATTRIBUTE_VAL\fP,\fI FLAG\fP,\fI IERROR\fP)
|
||||
INTEGER \fICOMM\fP,\fI KEYVAL\fP, \fIATTRIBUTE_VAL\fP,\fI IERROR\fP
|
||||
LOGICAL \fIFLAG\fP
|
||||
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator to which attribute is attached (handle).
|
||||
.TP 1i
|
||||
keyval
|
||||
Key value (integer).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
attribute_val
|
||||
Attribute value, unless flag = false.
|
||||
.TP 1i
|
||||
flag
|
||||
True if an attribute value was extracted; false if no attribute is associated with the key.
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Comm_get_attr instead.
|
||||
.sp
|
||||
This deprecated routine is not available in C++.
|
||||
.sp
|
||||
Retrieves attribute value by key. The call is erroneous if there is no key
|
||||
with value keyval. On the other hand, the call is correct if the key value exists, but no attribute is attached on comm for that key; in such case, the call returns flag = false. In particular MPI_KEYVAL_INVALID is an erroneous key value.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_get_attr
|
||||
.br
|
||||
' @(#)MPI_Attr_get.3 1.21 06/03/09
|
68
ompi/mpi/man/man3/MPI_Attr_put.3
Обычный файл
68
ompi/mpi/man/man3/MPI_Attr_put.3
Обычный файл
@ -0,0 +1,68 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Attr_put 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Attr_put\fP \- Stores attribute value associated with a key -- use of this routine is deprecated.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Attr_put(MPI_Comm \fIcomm\fP, int\fI keyval\fP, void\fI *attribute_val\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_ATTR_PUT(\fICOMM\fP,\fI KEYVAL\fP, \fIATTRIBUTE_VAL\fP,\fI IERROR\fP)
|
||||
INTEGER \fICOMM\fP,\fI KEYVAL\fP,\fI ATTRIBUTE_VAL\fP,\fI IERROR
|
||||
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator to which attribute will be attached (handle).
|
||||
.TP 1i
|
||||
keyval
|
||||
Key value, as returned by MPI_KEYVAL_CREATE (integer).
|
||||
.TP 1i
|
||||
attribute_val
|
||||
Attribute value.
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Comm_set_attr instead.
|
||||
.sp
|
||||
This deprecated routine is not available in C++.
|
||||
.sp
|
||||
MPI_Attr_put stores the stipulated attribute value attribute_val for subsequent retrieval by MPI_Attr_get. If the value is already present, then the outcome is as if MPI_Attr_delete was first called to delete the previous value (and the callback function delete_fn was executed), and a new value was next stored. The call is erroneous if there is no key with value keyval; in particular MPI_KEYVAL_INVALID is an erroneous key value. The call will fail if the delete_fn function returned an error code other than MPI_SUCCESS.
|
||||
|
||||
.SH NOTES
|
||||
.ft R
|
||||
Values of the permanent attributes MPI_TAG_UB, MPI_HOST,
|
||||
MPI_IO, and MPI_WTIME_IS_GLOBAL may not be changed.
|
||||
.sp
|
||||
The type of the attribute value depends on whether C or Fortran is being used. In C, an attribute value is a pointer (void *); in Fortran, it is a single integer (not a pointer, since Fortran has no pointers and there are systems for which a pointer does not fit in an integer, e.g., any 32-bit address system that uses 64 bits for Fortran DOUBLE PRECISION).
|
||||
.sp
|
||||
If an attribute is already present, the delete function (specified when the corresponding keyval was created) will be called.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_set_attr
|
||||
.br
|
||||
' @(#)MPI_Attr_put.3 1.21 06/03/09
|
54
ompi/mpi/man/man3/MPI_Barrier.3
Обычный файл
54
ompi/mpi/man/man3/MPI_Barrier.3
Обычный файл
@ -0,0 +1,54 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Barrier 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Barrier\fP \- Blocks until all processes have reached this routine.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Barrier(MPI_Comm \fIcomm\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_BARRIER(\fICOMM\fP,\fI IERROR\fP)
|
||||
INTEGER \fICOMM\fP,\fI IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::Comm::Barrier() const = 0
|
||||
|
||||
.SH INPUT 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
|
||||
Blocks the caller until all group members have called it; the call returns at any process only after all group members have entered the call.
|
||||
|
||||
.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR
|
||||
.sp
|
||||
When the communicator is an inter-communicator, the barrier operation is performed across all processes in both groups. All processes in the first group may exit the barrier when all processes in the second group have entered the barrier.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_Bcast
|
||||
' @(#)MPI_Barrier.3 1.22 06/03/09
|
85
ompi/mpi/man/man3/MPI_Bcast.3
Обычный файл
85
ompi/mpi/man/man3/MPI_Bcast.3
Обычный файл
@ -0,0 +1,85 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Bcast 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Bcast\fP \- Broadcasts a message from the process with rank \fIroot\fP to all other processes of the group.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Bcast(void \fI*buffer\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP,
|
||||
int\fI root\fP, MPI_Comm\fI comm\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_BCAST(\fIBUFFER\fP,\fI COUNT\fP, \fIDATATYPE\fP,\fI ROOT\fP,\fI COMM\fP,\fI IERROR\fP)
|
||||
<type> \fIBUFFER\fP(*)
|
||||
INTEGER \fICOUNT\fP,\fI DATATYPE\fP,\fI ROOT\fP,\fI COMM\fP,\fI IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::Comm::Bcast(void* \fIbuffer\fP, int \fIcount\fP,
|
||||
const MPI::Datatype& \fIdatatype\fP, int \fIroot\fP) const = 0
|
||||
|
||||
.SH INPUT/OUTPUT PARAMETERS
|
||||
.fR
|
||||
.TP 1i
|
||||
buffer
|
||||
Starting address of buffer (choice).
|
||||
.TP 1i
|
||||
count
|
||||
Number of entries in buffer (integer).
|
||||
.TP 1i
|
||||
datatype
|
||||
Data type of buffer (handle).
|
||||
.TP 1i
|
||||
root
|
||||
Rank of broadcast root (integer).
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator (handle).
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_Bcast broadcasts a message from the process with rank root to all processes of the group, itself included. It is called by all members of group using the same arguments for comm, root. On return, the contents of root's communication buffer has been copied to all processes.
|
||||
.sp
|
||||
General, derived datatypes are allowed for datatype. The type signature of count, datatype on any process must be equal to the type signature of count, datatype at the root. This implies that the amount of data sent must be equal to the amount received, pairwise between each process and the root. MPI_Bcast and all other data-movement collective routines make this restriction. Distinct type maps between sender and receiver are still allowed.
|
||||
.sp
|
||||
\fBExample:\fR Broadcast 100 ints from process 0 to every process in the group.
|
||||
.nf
|
||||
MPI_Comm comm;
|
||||
int array[100];
|
||||
int root=0;
|
||||
\&...
|
||||
MPI_Bcast( array, 100, MPI_INT, root, comm);
|
||||
.fi
|
||||
.sp
|
||||
As in many of our sample code fragments, we assume that some of the variables (such as comm in the example above) have been assigned appropriate values.
|
||||
.sp
|
||||
WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR
|
||||
.sp
|
||||
When the communicator is an inter-communicator, the root process in the first group broadcasts data to all the processes in the second group. The first group defines the root process. That process uses MPI_ROOT as the value of its \fIroot\fR argument. The remaining processes use MPI_PROC_NULL as the value of their \fIroot\fR argument. All processes in the second group use the rank of that root process in the first group as the value of their \fIroot\fR argument. The receive buffer arguments of the processes in the second group must be consistent with the send buffer argument of the root process in the first group.
|
||||
.sp
|
||||
.SH NOTES
|
||||
This function does not support the in-place option.
|
||||
.sp
|
||||
|
||||
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
||||
' @(#)MPI_Bcast.3 1.22 06/03/09
|
105
ompi/mpi/man/man3/MPI_Bsend.3
Обычный файл
105
ompi/mpi/man/man3/MPI_Bsend.3
Обычный файл
@ -0,0 +1,105 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Bsend 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Bsend\fP \- Basic send with user-specified buffering.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Bsend(void \fI*buf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP,
|
||||
int\fI dest\fP, int\fI tag\fP, MPI_Comm\fI comm\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_BSEND(\fIBUF\fP,\fI COUNT\fP,\fIDATATYPE\fP,\fI DEST\fP,\fI TAG\fP,\fI COMM\fP,\fI IERROR\fP)
|
||||
<type> \fIBUF\fP(*)
|
||||
INTEGER \fICOUNT\fP,\fI DATATYPE\fP,\fI DEST\fP,\fI TAG\fP,\fI COMM\fP,\fI IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void Comm::Bsend(const void* \fIbuf\fP, int \fIcount\fP, const
|
||||
Datatype& \fIdatatype\fP, int \fIdest\fP, int \fItag\fP) const
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
buf
|
||||
Initial address of send buffer (choice).
|
||||
.TP 1i
|
||||
count
|
||||
Number of entries in send buffer (nonnegative integer).
|
||||
.TP 1i
|
||||
datatype
|
||||
Datatype of each send buffer element (handle).
|
||||
.TP 1i
|
||||
dest
|
||||
Rank of destination (integer).
|
||||
.TP 1i
|
||||
tag
|
||||
Message tag (integer).
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator (handle).
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_Bsend performs a buffered-mode, blocking send.
|
||||
|
||||
.SH NOTES
|
||||
.ft R
|
||||
This send is provided as a convenience function; it allows the user to send messages without worrying about where they are buffered (because the user must have provided buffer space with MPI_Buffer_attach).
|
||||
.sp
|
||||
In deciding how much buffer space to allocate, remember that the buffer space
|
||||
is not available for reuse by subsequent \fIMPI_Bsend\fPs unless you are certain
|
||||
that the message
|
||||
has been received (not just that it should have been received). For example,
|
||||
this code does not allocate enough buffer space:
|
||||
.nf
|
||||
|
||||
MPI_Buffer_attach( b, n*sizeof(double) + MPI_BSEND_OVERHEAD );
|
||||
for (i=0; i<m; i++) {
|
||||
MPI_Bsend( buf, n, MPI_DOUBLE, ... );
|
||||
}
|
||||
|
||||
.fi
|
||||
because only enough buffer space is provided for a single send, and the
|
||||
loop may start a second
|
||||
.I MPI_Bsend
|
||||
before the first is done making use of the
|
||||
buffer.
|
||||
|
||||
In C, you can
|
||||
force the messages to be delivered by
|
||||
MPI_Buffer_detach( &b, &n );
|
||||
MPI_Buffer_attach( b, n );
|
||||
(The
|
||||
.I MPI_Buffer_detach
|
||||
will not complete until all buffered messages are
|
||||
delivered.)
|
||||
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_Buffer_attach
|
||||
MPI_Ibsend
|
||||
MPI_Bsend_init
|
||||
|
||||
' @(#)MPI_Bsend.3 1.20 06/03/09
|
83
ompi/mpi/man/man3/MPI_Bsend_init.3
Обычный файл
83
ompi/mpi/man/man3/MPI_Bsend_init.3
Обычный файл
@ -0,0 +1,83 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Bsend_init 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Bsend_init\fP \- Builds a handle for a buffered send.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Bsend_init(void \fI*buf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP,
|
||||
int\fI dest\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Request\fI *request\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_BSEND_INIT(\fIBUF\fP,\fI COUNT\fP, \fIDATATYPE\fP,\fI DEST\fP,\fI TAG\fP,\fI COMM\fP,\fI REQUEST\fP,
|
||||
\fIIERROR\fP)
|
||||
<type> \fIBUF\fP(\fI*\fP)
|
||||
INTEGER \fICOUNT\fP,\fI DATATYPE\fP, \fIDEST\fP,\fI TAG\fP,
|
||||
INTEGER \fICOMM\fP,\fI REQUEST\fP,\fI IERROR
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
Prequest Comm::Bsend_init(const void* \fIbuf\fP, int \fIcount\fP, const
|
||||
Datatype& \fIdatatype\fP, int \fIdest\fP, int \fItag\fP) const
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
buf
|
||||
Initial address of send buffer (choice).
|
||||
.TP 1i
|
||||
count
|
||||
Number of elements sent (integer).
|
||||
.TP 1i
|
||||
datatype
|
||||
Type of each element (handle).
|
||||
.TP 1i
|
||||
dest
|
||||
Rank of destination (integer).
|
||||
.TP 1i
|
||||
tag
|
||||
Message tag (integer).
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
request
|
||||
Communication request (handle).
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
Creates a persistent communication request for a buffered mode send, and binds to it all the arguments of a send operation.
|
||||
.sp
|
||||
A communication (send or receive) that uses a persistent request is initiated by the function MPI_Start.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_Send_init
|
||||
MPI_Ssend_init
|
||||
MPI_Rsend_init
|
||||
MPI_Recv_init
|
||||
MPI_Start
|
||||
MPI_Startall
|
||||
|
||||
' @(#)MPI_Bsend_init.3 1.20 06/03/09
|
77
ompi/mpi/man/man3/MPI_Buffer_attach.3
Обычный файл
77
ompi/mpi/man/man3/MPI_Buffer_attach.3
Обычный файл
@ -0,0 +1,77 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\"Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Buffer_attach 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Buffer_attach\fP \- Attaches a user-defined buffer for sending.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Buffer_attach(void \fI*buf\fP, int\fI size\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_BUFFER_ATTACH(\fIBUF\fP,\fI SIZE\fP, \fIIERROR\fP)
|
||||
<type> \fIBUF\fP(\fI*\fP)
|
||||
INTEGER \fISIZE\fP,\fI IERROR \fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void Attach_buffer(void* \fIbuffer\fP, int \fIsize\fP)
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
buf
|
||||
Initial buffer address (choice).
|
||||
.TP 1i
|
||||
size
|
||||
Buffer size, in bytes (integer).
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
Provides to MPI a buffer in the user's memory to be used for buffering outgoing messages. The buffer is used only by messages sent in buffered mode. Only one buffer can be attached to a process at a time.
|
||||
|
||||
.SH NOTES
|
||||
.ft R
|
||||
The size given should be the sum of the sizes of all outstanding Bsends that you intend to have, plus MPI_BSEND_OVERHEAD bytes for each Bsend that you do. For the purposes of calculating size, you should use MPI_Pack_size. In other words, in the code
|
||||
.sp
|
||||
.nf
|
||||
MPI_Buffer_attach( buf, size );
|
||||
MPI_Bsend( \&..., count=20, datatype=type1, \&... );
|
||||
\&...
|
||||
MPI_Bsend( \&..., count=40, datatype=type2, \&... );
|
||||
.fi
|
||||
.sp
|
||||
the value of size in the MPI_Buffer_attach call should be greater than the value computed by
|
||||
.sp
|
||||
.nf
|
||||
MPI_Pack_size( 20, type1, comm, &s1 );
|
||||
MPI_Pack_size( 40, type2, comm, &s2 );
|
||||
size = s1 + s2 + 2 * MPI_BSEND_OVERHEAD;
|
||||
.fi
|
||||
.sp
|
||||
MPI_BSEND_OVERHEAD gives the maximum amount of buffer space that may be used by the Bsend routines. This value is in mpi.h for C and mpif.h for Fortran.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_Buffer_detach
|
||||
|
||||
' @(#)MPI_Buffer_attach.3 1.22 06/03/09
|
94
ompi/mpi/man/man3/MPI_Buffer_detach.3
Обычный файл
94
ompi/mpi/man/man3/MPI_Buffer_detach.3
Обычный файл
@ -0,0 +1,94 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Buffer_detach 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Buffer_detach\fP \- Removes an existing buffer (for use in MPI_Bsend, etc.)
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Buffer_detach(void \fI*buf\fP, int\fI *size\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_BUFFER_DETACH(\fIBUF\fP,\fI SIZE\fP, \fIIERROR\fP)
|
||||
<type> \fIBUF\fP(\fI*\fP)
|
||||
INTEGER \fISIZE\fP,\fI IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int Detach_buffer(void*& \fIbuffer\fP)
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
buf
|
||||
Initial buffer address (choice).
|
||||
.TP 1i
|
||||
size
|
||||
Buffer size, in bytes (integer).
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
Detach the buffer currently associated with MPI. The call returns the address and the size of the detached buffer. This operation will block until all messages currently in the buffer have been transmitted. Upon return of this function, the user may reuse or deallocate the space taken by the buffer.
|
||||
.sp
|
||||
\fBExample:\fP Calls to attach and detach buffers.
|
||||
.sp
|
||||
.nf
|
||||
#define BUFFSIZE 10000
|
||||
int size
|
||||
char *buff;
|
||||
MPI_Buffer_attach( malloc(BUFFSIZE), BUFFSIZE);
|
||||
/* a buffer of 10000 bytes can now be used by MPI_Bsend */
|
||||
MPI_Buffer_detach( &buff, &size);
|
||||
/* Buffer size reduced to zero */
|
||||
MPI_Buffer_attach( buff, size);
|
||||
/* Buffer of 10000 bytes available again */
|
||||
.fi
|
||||
|
||||
.SH NOTES
|
||||
.ft R
|
||||
The reason that MPI_Buffer_detach returns the address and size of the buffer being detached is to allow nested libraries to replace and restore the buffer. For example, consider
|
||||
.sp
|
||||
.nf
|
||||
int size, mysize, idummy;
|
||||
void *ptr, *myptr, *dummy;
|
||||
MPI_Buffer_detach( &ptr, &size );
|
||||
MPI_Buffer_attach( myptr, mysize );
|
||||
\&...
|
||||
\&... library code \&...
|
||||
\&...
|
||||
MPI_Buffer_detach( &dummy, &idummy );
|
||||
MPI_Buffer_attach( ptr, size );
|
||||
.fi
|
||||
.sp
|
||||
This is much like the action of the UNIX signal routine and has the same strengths (it's simple) and weaknesses (it only works for nested usages).
|
||||
.sp
|
||||
\fBFor Fortran:\fP The Fortran binding for this routine is different. Because Fortran does not have pointers, it is impossible to provide a way to use the output of this routine to exchange buffers. In this case, only the size field is set.
|
||||
.sp
|
||||
\fBFor C:\fP Even though the buf argument is declared as void, it is really the address of a void pointer. See Rationale, below, for more details.
|
||||
.sp
|
||||
Even though the C functions MPI_Buffer_attach and
|
||||
MPI_Buffer_detach both have a first argument of type void*, these arguments are used differently: A pointer to the buffer is passed to MPI_Buffer_attach; the address of the pointer is passed to MPI_Buffer_detach, so that this call can return the pointer value.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_Buffer_attach
|
||||
MPI_Bsend
|
||||
' @(#)MPI_Buffer_detach.3 1.20 06/03/09
|
75
ompi/mpi/man/man3/MPI_Cancel.3
Обычный файл
75
ompi/mpi/man/man3/MPI_Cancel.3
Обычный файл
@ -0,0 +1,75 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Cancel 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.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)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_CANCEL(\fIREQUEST\fP, \fIIERROR\fP)
|
||||
INTEGER \fIREQUEST\fP, \fIIERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void Request::Cancel() const
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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
|
||||
|
||||
' @(#)MPI_Cancel.3 1.20 06/03/09
|
59
ompi/mpi/man/man3/MPI_Cart_coords.3
Обычный файл
59
ompi/mpi/man/man3/MPI_Cart_coords.3
Обычный файл
@ -0,0 +1,59 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Cart_coords 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.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)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
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
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void Cartcomm::Get_coords(int \fIrank\fP, int \fImaxdims\fP,
|
||||
int \fIcoords\fP[]) const
|
||||
|
||||
.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 coord 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
|
||||
The inverse mapping, rank-to-coordinates translation is provided by MPI_Cart_coords.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
||||
' @(#)MPI_Cart_coords.3 1.20 06/03/09
|
69
ompi/mpi/man/man3/MPI_Cart_create.3
Обычный файл
69
ompi/mpi/man/man3/MPI_Cart_create.3
Обычный файл
@ -0,0 +1,69 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Cart_create 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.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, int\fI *dims\fP,
|
||||
int\fI *periods\fP, int\fI reorder\fP, MPI_Comm\fI *comm_cart\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
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
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
Cartcomm Intracomm::Create_cart(int \fIndims\fP, const int \fIdims\fP[],
|
||||
const bool \fIperiods\fP[], bool \fIreorder\fP) const
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
||||
' @(#)MPI_Cart_create.3 1.20 06/03/09
|
69
ompi/mpi/man/man3/MPI_Cart_get.3
Обычный файл
69
ompi/mpi/man/man3/MPI_Cart_get.3
Обычный файл
@ -0,0 +1,69 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Cart_get 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.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)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
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(*)
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void Cartcomm::Get_topo(int \fImaxdims\fP, int \fIdims\fP[],
|
||||
bool \fIperiods\fP[], int \fIcoords\fP[]) const
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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
|
||||
' @(#)MPI_Cart_get.3 1.20 06/03/09
|
70
ompi/mpi/man/man3/MPI_Cart_map.3
Обычный файл
70
ompi/mpi/man/man3/MPI_Cart_map.3
Обычный файл
@ -0,0 +1,70 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Cart_map 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.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, int\fI *dims\fP,
|
||||
int\fI *periods\fP, int\fI *newrank\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_CART_MAP(\fICOMM, NDIMS, DIMS, PERIODS, NEWRANK, IERROR\fP)
|
||||
INTEGER \fICOMM, NDIMS, DIMS(*), NEWRANK, IERROR\fP
|
||||
LOGICAL \fIPERIODS\fP(*)
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int Cartcomm::Map(int \fIndims\fP, const int \fIdims\fP[],
|
||||
const bool \fIperiods\fP[]) const
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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
|
||||
' @(#)MPI_Cart_map.3 1.20 06/03/09
|
58
ompi/mpi/man/man3/MPI_Cart_rank.3
Обычный файл
58
ompi/mpi/man/man3/MPI_Cart_rank.3
Обычный файл
@ -0,0 +1,58 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Cart_rank 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.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)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_CART_RANK(\fICOMM, COORDS, RANK, IERROR\fP)
|
||||
INTEGER \fICOMM, COORDS(*), RANK, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int Cartcomm::Get_cart_rank(const int \fIcoords\fP[]) const
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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
|
||||
' @(#)MPI_Cart_rank.3 1.20 06/03/09
|
91
ompi/mpi/man/man3/MPI_Cart_shift.3
Обычный файл
91
ompi/mpi/man/man3/MPI_Cart_shift.3
Обычный файл
@ -0,0 +1,91 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\"Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Cart_shift 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.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)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
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
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void Cartcomm::Shift(int \fIdirection\fP, int \fIdisp\fP, int& \fIrank_source\fP,
|
||||
int& \fIrank_dest\fP) const
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
||||
' @(#)MPI_Cart_shift.3 1.20 06/03/09
|
70
ompi/mpi/man/man3/MPI_Cart_sub.3
Обычный файл
70
ompi/mpi/man/man3/MPI_Cart_sub.3
Обычный файл
@ -0,0 +1,70 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Cart_sub 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Cart_sub \fP \- Partitions a communicator into subgroups, which form lower-dimensional Cartesian subgrids.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Cart_sub(MPI_Comm \fIcomm\fP, int\fI *remain_dims\fP, MPI_Comm\fI *comm_new\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_CART_SUB(\fICOMM, REMAIN_DIMS, COMM_NEW, IERROR\fP)
|
||||
INTEGER \fICOMM, COMM_NEW, IERROR\fP
|
||||
LOGICAL \fIREMAIN_DIMS\fP(*)
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
Cartcomm Cartcomm::Sub(const bool \fIremain_dims\fP[]) const
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator with Cartesian structure (handle).
|
||||
.TP 1i
|
||||
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).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm_new
|
||||
Communicator containing the subgrid that includes the calling process (handle).
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
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.)
|
||||
.sp
|
||||
\fBExample:\fP 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
|
||||
.sp
|
||||
.nf
|
||||
MPI_Cart_sub(comm, remain_dims, comm_new)
|
||||
.fi
|
||||
.sp
|
||||
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.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_create
|
||||
MPI_Comm_split
|
||||
|
||||
' @(#)MPI_Cart_sub.3 1.20 06/03/09
|
58
ompi/mpi/man/man3/MPI_Cartdim_get.3
Обычный файл
58
ompi/mpi/man/man3/MPI_Cartdim_get.3
Обычный файл
@ -0,0 +1,58 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Cartdim_get 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.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)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_CARTDIM_GET(\fICOMM, NDIMS, IERROR\fP)
|
||||
INTEGER \fICOMM, NDIMS, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int Cartcomm::Get_dim() const
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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
|
||||
|
||||
' @(#)MPI_Cartdim_get.3 1.20 06/03/09
|
47
ompi/mpi/man/man3/MPI_Close_port.3
Обычный файл
47
ompi/mpi/man/man3/MPI_Close_port.3
Обычный файл
@ -0,0 +1,47 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Close_port 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.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(char *\fIport_name\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_CLOSE_PORT(\fIPORT_NAME, IERROR\fP)
|
||||
CHARACTER*(*) \fIPORT_NAME\fP
|
||||
INTEGER \fIIERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::Close_port(const char* \fIport_name\fP)
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
68
ompi/mpi/man/man3/MPI_Comm_accept.3
Обычный файл
68
ompi/mpi/man/man3/MPI_Comm_accept.3
Обычный файл
@ -0,0 +1,68 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_accept 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.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(char *\fIport_name\fP, MPI_Info \fIinfo\fP, int \fIroot\fP, MPI_Comm \fIcomm\fP, MPI_Comm *\fInewcomm\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
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
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
MPI::Intercomm MPI::Intracomm::Accept(const char* \fIport_name\fP,
|
||||
const MPI::Info& \fIinfo\fP, int \fIroot\fP) const
|
||||
|
||||
.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 \fIroot\fP). See the SUPPORTED INFO KEYS section, below.
|
||||
.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.
|
||||
.sp
|
||||
The \fIport_name\fP must have been established through a call to MPI_Open_port on the root.
|
||||
|
||||
.SH SUPPORTED INFO KEYS
|
||||
None.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
||||
|
2
ompi/mpi/man/man3/MPI_Comm_c2f.3
Обычный файл
2
ompi/mpi/man/man3/MPI_Comm_c2f.3
Обычный файл
@ -0,0 +1,2 @@
|
||||
.so man3/MPI_Comm_f2c.3
|
||||
' @(#)MPI_Comm_c2f.3 1.11 06/03/09
|
74
ompi/mpi/man/man3/MPI_Comm_call_errhandler.3
Обычный файл
74
ompi/mpi/man/man3/MPI_Comm_call_errhandler.3
Обычный файл
@ -0,0 +1,74 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_call_errhandler 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.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)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_CALL_ERRHANDLER(\fICOMM, ERRORCODE, IERROR\fP)
|
||||
INTEGER \fICOMM, ERRORCODE, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::Comm::Call_errhandler(int \fIerrorcode\fP) const
|
||||
|
||||
.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. C++
|
||||
functions do not return errors. If the default error handler is set to
|
||||
MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism
|
||||
will be used to throw an MPI:Exception object.
|
||||
.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
|
||||
|
||||
' @(#)MPI_Comm_call_errhandler.3 1.4 06/03/09
|
55
ompi/mpi/man/man3/MPI_Comm_compare.3
Обычный файл
55
ompi/mpi/man/man3/MPI_Comm_compare.3
Обычный файл
@ -0,0 +1,55 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_compare 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.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)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_COMPARE(\fICOMM1, COMM2, RESULT, IERROR\fP)
|
||||
INTEGER \fICOMM1, COMM2, RESULT, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
static int Comm::Compare(const Comm& \fIcomm1\fP, const Comm& \fIcomm2\fP)
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
||||
' @(#)MPI_Comm_compare.3 1.20 06/03/09
|
||||
|
75
ompi/mpi/man/man3/MPI_Comm_connect.3
Обычный файл
75
ompi/mpi/man/man3/MPI_Comm_connect.3
Обычный файл
@ -0,0 +1,75 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_connect 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.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(char *\fIport_name\fP, MPI_Info \fIinfo\fP, int \fIroot\fP,
|
||||
MPI_Comm \fIcomm\fP, MPI_Comm *\fInewcomm\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
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
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
MPI::Intercomm MPI::Intracomm::Connect(const char* \fIport_name\fP,
|
||||
const MPI::Info& \fIinfo\fP, int \fIroot\fP) const
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
port_name
|
||||
Port name (string, used only on \fIroot\fP).
|
||||
.TP 1i
|
||||
info
|
||||
Recognized \fIinfo\fP keys are provided in the SUPPORTED INFO KEYS section (an optional parameter to give to connect) (handle, used only on \fIroot\fP).
|
||||
.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.
|
||||
.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 SUPPORTED INFO KEYS
|
||||
None.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
||||
|
||||
|
69
ompi/mpi/man/man3/MPI_Comm_create.3
Обычный файл
69
ompi/mpi/man/man3/MPI_Comm_create.3
Обычный файл
@ -0,0 +1,69 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_create 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.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)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_CREATE(\fICOMM, GROUP, NEWCOMM, IERROR\fP)
|
||||
INTEGER \fICOMM, GROUP, NEW, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
MPI::Intercomm MPI::Intercomm::Create(const Group& \fIgroup\fP) const
|
||||
|
||||
MPI::Intracomm MPI::Intracomm::Create(const Group& \fIgroup\fP) const
|
||||
|
||||
.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. The call is erroneous if not all group arguments have the same value, or if group is not a subset of the group associated with comm. Note that the call must be executed by all processes in comm, even if they do not belong to the new group.
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.3 1.22 06/03/09
|
79
ompi/mpi/man/man3/MPI_Comm_create_errhandler.3
Обычный файл
79
ompi/mpi/man/man3/MPI_Comm_create_errhandler.3
Обычный файл
@ -0,0 +1,79 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_create_errhandler 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.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_fn \fI*function\fP,
|
||||
MPI_Errhandler *\fIerrhandler\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_CREATE_ERRHANDLER(\fIFUNCTION, ERRHANDLER, IERROR\fP)
|
||||
EXTERNAL \fIFUNCTION\fP
|
||||
INTEGER \fIERRHANDLER, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
static MPI::Errhandler
|
||||
MPI::Comm::Create_errhandler(MPI::Comm::Errhandler_fn*
|
||||
\fIfunction\fP)
|
||||
|
||||
.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_fn, which is defined as
|
||||
.sp
|
||||
.nf
|
||||
typedef void MPI_Comm_errhandler_fn(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_FN(COMM, ERROR_CODE, \&...)
|
||||
INTEGER COMM, ERROR_CODE
|
||||
.fi
|
||||
.sp
|
||||
In C++, the user routine should be of this form:
|
||||
.sp
|
||||
.nf
|
||||
typedef void MPI::Comm::Errhandler_fn(MPI_Comm &, int *, \&...);
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
||||
|
||||
|
||||
' @(#)MPI_Comm_create_errhandler.3 1.18 06/03/09
|
134
ompi/mpi/man/man3/MPI_Comm_create_keyval.3
Обычный файл
134
ompi/mpi/man/man3/MPI_Comm_create_keyval.3
Обычный файл
@ -0,0 +1,134 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\"Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_create_keyval 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.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)
|
||||
|
||||
.SH Fortran Syntax (see FORTRAN 77 NOTES)
|
||||
.nf
|
||||
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
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
static in MPI::Comm::Create_keyval(MPI::Comm::Copy_attr_function*
|
||||
\fIcomm_copy_attr_fn\fP,
|
||||
MPI::Comm::Delete_attr_function* \fIcomm_delete_attr_fn\fP,
|
||||
void* \fIextra_state\fP)
|
||||
|
||||
.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, 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
|
||||
.sp
|
||||
The C++ callbacks are:
|
||||
.sp
|
||||
.nf
|
||||
typedef int MPI::Comm::Copy_attr_function(const MPI::Comm& \fIoldcomm\fP,
|
||||
int \fIcomm_keyval\fP, void* \fIextra_state\fP, void* \fIattribute_val_in\fP,
|
||||
void* \fIattribute_val_out\fP, bool& \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
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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
|
||||
|
||||
|
||||
' @(#)MPI_Comm_create_keyval.3 1.19 06/03/09
|
58
ompi/mpi/man/man3/MPI_Comm_delete_attr.3
Обычный файл
58
ompi/mpi/man/man3/MPI_Comm_delete_attr.3
Обычный файл
@ -0,0 +1,58 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\"Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_delete_attr 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.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)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_Comm_delete_attr(\fICOMM, COMM_KEYVAL, IERROR\fP)
|
||||
INTEGER \fICOMM, COMM_KEYVAL, IERROR \fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::Comm::Delete_attr(int \fIcomm_keyval\fP)
|
||||
|
||||
.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 ERRORS
|
||||
Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
||||
' @(#)MPI_Comm_delete_attr.3 1.17 06/03/09
|
64
ompi/mpi/man/man3/MPI_Comm_disconnect.3
Обычный файл
64
ompi/mpi/man/man3/MPI_Comm_disconnect.3
Обычный файл
@ -0,0 +1,64 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\"Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_disconnect 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.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)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_DISCONNECT(\fICOMM, IERROR\fP)
|
||||
INTEGER \fICOMM, IERROR \fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::Comm::Disconnect()
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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
|
||||
' @(#)MPI_Comm_disconnect.3 1.20 06/03/09
|
61
ompi/mpi/man/man3/MPI_Comm_dup.3
Обычный файл
61
ompi/mpi/man/man3/MPI_Comm_dup.3
Обычный файл
@ -0,0 +1,61 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_dup 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.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)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_DUP(\fICOMM, NEWCOMM, IERROR\fP)
|
||||
INTEGER \fICOMM, NEWCOMM, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
Intracomm Intracomm::Dup() const
|
||||
|
||||
Intercomm Intercomm::Dup() const
|
||||
|
||||
.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.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
||||
' @(#)MPI_Comm_dup.3 1.20 06/03/09
|
||||
|
45
ompi/mpi/man/man3/MPI_Comm_f2c.3
Обычный файл
45
ompi/mpi/man/man3/MPI_Comm_f2c.3
Обычный файл
@ -0,0 +1,45 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_f2c 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBHandle translation routines \fP \- Translates a C handle into a Fortran handle, or vice versa.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
MPI_Comm MPI_Comm_f2c(MPI_Fint \fIcomm\fP)
|
||||
MPI_Fint MPI_Comm_c2f(MPI_Comm \fIcomm\fP)
|
||||
|
||||
MPI_File MPI_File_f2c(MPI_Fint \fIfile\fP)
|
||||
MPI_Fint MPI_File_c2f(MPI_File \fIfile\fP)
|
||||
|
||||
MPI_Group MPI_Group_f2c(MPI Fint \fIgroup\fP)
|
||||
MPI_Fint MPI_Group_c2f(MPI Group \fIgroup\fP)
|
||||
|
||||
MPI_Info MPI_Info_f2c(MPI_Fint \fIinfo\fP)
|
||||
MPI_Fint MPI_Info_c2f(MPI_Info \fIinfo\fP)
|
||||
|
||||
MPI_Op MPI_Op_f2c(MPI_Fint \fIop\fP)
|
||||
MPI_Fint MPI_Op_c2f(MPI_Op \fIop\fP)
|
||||
|
||||
MPI_Request MPI_Request_f2c(MPI_Fint \fIrequest\fP)
|
||||
MPI_Fint MPI_Request_c2f(MPI_Request \fIrequest\fP)
|
||||
|
||||
MPI_Datatype MPI_Type_f2c(MPI_Fint \fIdatatype\fP)
|
||||
MPI_Fint MPI_Type_c2f(MPI_Datatype \fIdatatype\fP)
|
||||
|
||||
MPI_Win MPI_Win_f2c(MPI_Fint \fIwin\fP)
|
||||
MPI_Fint MPI_Win_c2f(MPI_Win \fIwin\fP)
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
Handles are passed between Fortran and C or C++ by using an explicit C wrapper to convert Fortran handles to C handles. There is no direct access to C or C++ handles in Fortran. Handles are passed between C and C++ using overloaded C++ operators called from C++ code. There is no direct access to C++ objects from C. The type definition \fIMPI_Fint\fP is provided in C/C++ for an integer of the size that matches a Fortran \fIINTEGER\fP; usually, \fIMPI_Fint\fP will be equivalent to \fIint\fP. The handle translation functions are provided in C to convert from a Fortran handle (which is an integer) to a C handle, and vice versa.
|
||||
.PP
|
||||
For example, if \fIcomm\fP is a valid Fortran handle to a communicator, then MPI_Comm_f2c returns a valid C handle to that same communicator; if \fIcomm\fP = MPI_COMM_NULL (Fortran value), then MPI_Comm_f2c returns a null C handle; if \fIcomm\fP is an invalid Fortran handle, then MPI_Comm_f2c returns an invalid C handle.
|
||||
.SH NOTE
|
||||
This function does not return an error value. Consequently, the result of calling it before MPI_Init or after MPI_Finalize is undefined.
|
||||
|
||||
|
||||
|
47
ompi/mpi/man/man3/MPI_Comm_free.3
Обычный файл
47
ompi/mpi/man/man3/MPI_Comm_free.3
Обычный файл
@ -0,0 +1,47 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_free 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Comm_free \fP \- Mark a communicator object for deallocation.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Comm_free(MPI_Comm *\fIcomm\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_FREE(\fICOMM, IERROR\fP)
|
||||
INTEGER \fICOMM, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void Comm::Free()
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator to be destroyed (handle).
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
This operation marks the communicator object for deallocation. The handle is set to MPI_COMM_NULL. Any pending operations that use this communicator will complete normally; the object is actually deallocated only if there are no other active references to it. This call applies to intracommunicators and intercommunicators. Upon actual deallocation, the delete callback functions for all cached attributes (see Section 5.7 in the MPI-1 Standard, "Caching") are called in arbitrary order.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
||||
' @(#)MPI_Comm_free.3 1.20 06/03/09
|
54
ompi/mpi/man/man3/MPI_Comm_free_keyval.3
Обычный файл
54
ompi/mpi/man/man3/MPI_Comm_free_keyval.3
Обычный файл
@ -0,0 +1,54 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\"Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_free_keyval 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Comm_free_keyval\fP \- Frees attribute key for communicator cache attribute.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Comm_free_keyval(int *\fIcomm_keyval\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_FREE_KEYVAL(\fICOMM_KEYVAL, IERROR\fP)
|
||||
INTEGER \fICOMM_KEYVAL, IERROR \fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
static void MPI::Comm::Free_keyval(int& \fIcomm_keyval\fP)
|
||||
|
||||
.SH INPUT/OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm_keyval
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_Comm_free_keyval frees an extant attribute key. This function sets the value of \fIkeyval\fP to MPI_KEYVAL_INVALID. Note that it is not erroneous to free an attribute key that is in use, because the actual free does not transpire until after all references (in other communicators on the process) to the key have been freed. These references need to be explictly freed by the program, either via calls to MPI_Comm_delete_attr that free one attribute instance, or by calls to MPI_Comm_free that free all attribute instances associated with the freed communicator.
|
||||
.sp
|
||||
This call is identical to the call MPI_Keyval_free but is needed to match the communicator-specific creation function introduced in the MPI-2 standard. The use of MPI_Keyval_free is deprecated.
|
||||
|
||||
|
||||
.SH NOTES
|
||||
.ft R
|
||||
Key values are global (they can be used with any and all communicators).
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
||||
' @(#)MPI_Comm_free_keyval.3 1.17 06/03/09
|
75
ompi/mpi/man/man3/MPI_Comm_get_attr.3
Обычный файл
75
ompi/mpi/man/man3/MPI_Comm_get_attr.3
Обычный файл
@ -0,0 +1,75 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\"Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_get_attr 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Comm_get_attr\fP \- Retrieves attribute value by key.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Comm_get_attr(MPI_Comm \fIcomm\fP, int \fIcomm_keyval\fP,
|
||||
void *\fIattribute_val\fP, int *\fIflag\fP)
|
||||
|
||||
.SH Fortran Syntax (see FORTRAN 77 NOTES)
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_GET_ATTR(\fICOMM, COMM_KEYVAL, ATTRIBUTE_VAL, IERROR\fP)
|
||||
INTEGER \fICOMM, COMM_KEYVAL, IERROR \fP
|
||||
INTEGER(KIND=MPI_ADDRESS_KIND) \fIATTRIBUTE_VAL\fP
|
||||
LOGICAL \fIFLAG\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
bool MPI::Comm::Get_attr(int \fIcomm_keyval\fP, void* \fIattribute_val\fP)
|
||||
const
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator to which the attribute is attached (handle).
|
||||
.TP 1i
|
||||
comm_keyval
|
||||
Key value (integer).
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
attribute_val
|
||||
Attribute value, unless f\fIlag\fP = false.
|
||||
.TP 1i
|
||||
flag
|
||||
False if no attribute is associated with the key (logical).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_Comm_get_attr retrieves an attribute value by key. The call is erroneous if there is no key with value \fIkeyval\fP. On the other hand, the call is correct if the key value exists, but no attribute is attached on \fIcomm\fP for that key; in that case, the call returns \fIflag\fP = false. In particular, MPI_KEYVAL_INVALID is an erroneous key value.
|
||||
.sp
|
||||
This function replaces MPI_Attr_get, the use of which is deprecated. The C binding is identical. The Fortran binding differs in that \fIattribute_val\fP is an address-sized integer.
|
||||
|
||||
.SH FORTRAN 77 NOTES
|
||||
.ft R
|
||||
The MPI standard prescribes portable Fortran syntax for
|
||||
the \fIATTRIBUTE_VAL\fP argument only for Fortran 90. FORTRAN 77
|
||||
users may use the non-portable syntax
|
||||
.sp
|
||||
.nf
|
||||
INTEGER*MPI_ADDRESS_KIND \fIATTRIBUTE_VAL\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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
||||
' @(#)MPI_Comm_get_attr.3 1.19 06/03/09
|
54
ompi/mpi/man/man3/MPI_Comm_get_errhandler.3
Обычный файл
54
ompi/mpi/man/man3/MPI_Comm_get_errhandler.3
Обычный файл
@ -0,0 +1,54 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_get_errhandler 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Comm_get_errhandler \fP \- Retrieves error handler associated with a communicator.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Comm_get_errhandler(MPI_Comm \fIcomm\fP,
|
||||
MPI_Errhandler *\fIerrhandler\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_GET_ERRHANDLER(\fICOMM, ERRHANDLER, IERROR\fP)
|
||||
INTEGER \fICOMM, ERRHANDLER, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
MPI::Errhandler MPI::Comm::Get_errhandler() const
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
errhandler
|
||||
New error handler for communicator (handle).
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_Comm_get_errhandler retrieves the error handler currently associated with a communicator. This call is identical to MPI_Errhandler_get, the use of which is deprecated.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
||||
|
63
ompi/mpi/man/man3/MPI_Comm_get_name.3
Обычный файл
63
ompi/mpi/man/man3/MPI_Comm_get_name.3
Обычный файл
@ -0,0 +1,63 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\"Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_get_name 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Comm_get_name\fP \- Returns the name that was most recently associated with a communicator.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Comm_get_name(MPI_Comm \fIcomm\fP, char *\fIcomm_name\fP, int *\fIresultlen\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_GET_NAME(\fICOMM, COMM_NAME, RESULTLEN, IERROR\fP)
|
||||
INTEGER \fICOMM, RESULTLEN, IERROR \fP
|
||||
CHARACTER*(*) \fICOMM_NAME\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::Comm::Get_name(char* \fIcomm_name\fP, int& \fIresultlen\fP) const
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator the name of which is to be returned (handle).
|
||||
.TP 1i
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm_name
|
||||
Name previously stored on the communicator, or an empty string if no such name exists (string).
|
||||
.TP 1i
|
||||
resultlen
|
||||
Length of returned name (integer).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_Comm_get_name returns the last name that was previously associated with the given communicator. The name may be set and retrieved from any language. The same name will be returned independent of the language used. \fIcomm_name\fP should be allocated so that it can hold a resulting string of length MPI_MAX_OBJECT_NAME characters. MPI_Comm_get_name returns a copy of the set name in \fIcomm_name\fP.
|
||||
.sp
|
||||
If the user has not associated a name with a communicator, or an error occurs, MPI_Comm_get_name will return an empty string (all spaces in Fortran, "" in C and C++). The three predefined communicators will have predefined names associated with them. Thus, the names of MPI_COMM_WORLD, MPI_COMM_SELF, and MPI_COMM_PARENT will have the default of MPI_COMM_WORLD, MPI_COMM_SELF, and MPI_COMM_PARENT. The fact that the system may have chosen to give a default name to a communicator does not prevent the user from setting a name on the same communicator; doing this removes the old name and assigns the new one.
|
||||
|
||||
.SH NOTES
|
||||
.ft R
|
||||
It is safe simply to print the string returned by MPI_Comm_get_name, as it is always a valid string even if there was no name.
|
||||
.sp
|
||||
Note that associating a name with a communicator has no effect on the semantics of an MPI program, and will (necessarily) increase the store requirement of the program, since the names must be saved. Therefore, there is no requirement that users use these functions to associate names with communicators. However debugging and profiling MPI applications may be made easier if names are associated with communicators, since the debugger or profiler should then be able to present information in a less cryptic manner.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
||||
' @(#)MPI_Comm_get_name.3 1.17 06/03/09
|
60
ompi/mpi/man/man3/MPI_Comm_get_parent.3
Обычный файл
60
ompi/mpi/man/man3/MPI_Comm_get_parent.3
Обычный файл
@ -0,0 +1,60 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\"Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_get_parent 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Comm_get_parent\fP \- Returns the parent intercommunicator of current spawned process.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Comm_get_parent(MPI_Comm *\fIparent\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_GET_PARENT(\fIPARENT, IERROR\fP)
|
||||
INTEGER \fIPARENT, IERROR \fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
static MPI::Intercomm MPI::Comm::Get_parent()
|
||||
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
parent
|
||||
The parent communicator (handle).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
If a process was started with MPI_Comm_spawn or MPI_Comm_spawn_multiple, MPI_Comm_get_parent returns the "parent" intercommunicator of the current process. This parent intercommunicator is created implicitly inside of MPI_Init and is the same intercommunicator returned by the spawn call made in the parents.
|
||||
.sp
|
||||
If the process was not spawned, MPI_Comm_get_parent returns MPI_COMM_NULL.
|
||||
.sp
|
||||
After the parent communicator is freed or disconnected, MPI_Comm_get_parent returns MPI_COMM_NULL.
|
||||
|
||||
.SH NOTES
|
||||
.ft R
|
||||
MPI_Comm_get_parent returns a handle to a single intercommunicator. Calling MPI_Comm_get_parent a second time returns a handle to the same intercommunicator. Freeing the handle with MPI_Comm_disconnect or MPI_Comm_free will cause other references to the intercommunicator to become invalid (dangling). Note that calling MPI_Comm_free on the parent communicator is not useful.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_Comm_spawn
|
||||
MPI_Comm_spawn_multiple
|
||||
|
||||
' @(#)MPI_Comm_get_parent.3 1.17 06/03/09
|
51
ompi/mpi/man/man3/MPI_Comm_group.3
Обычный файл
51
ompi/mpi/man/man3/MPI_Comm_group.3
Обычный файл
@ -0,0 +1,51 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_group 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Comm_group \fP \- Returns the group associated with a communicator.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Comm_group(MPI_Comm \fIcomm\fP, MPI_Group *\fIgroup\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_GROUP(\fICOMM, GROUP, IERROR\fP)
|
||||
INTEGER \fICOMM, GROUP, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
Group Comm::Get_group() const
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator.
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
group
|
||||
Group in communicator (handle).
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
If the communicator is an intercommunicator (enables communication between two groups of processes), this function returns the local group. To return the remote group, use the MPI_Comm_remote_group function.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
||||
' @(#)MPI_Comm_group.3 1.23 06/03/09
|
97
ompi/mpi/man/man3/MPI_Comm_join.3
Обычный файл
97
ompi/mpi/man/man3/MPI_Comm_join.3
Обычный файл
@ -0,0 +1,97 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_join 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
|
||||
.SH NAME
|
||||
\fBMPI_Comm_join\fP \- Establishes communication between MPI jobs
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Comm_join(int \fIfd\fP, MPI_Comm *\fIintercomm\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_JOIN(\fIFD, INTERCOMM, IERROR\fP)
|
||||
INTEGER \fIFD, INTERCOMM, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
MPI::Intercomm MPI::Comm::Join(const int \fIfd\fP)
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
fd
|
||||
socket file descriptor (socket).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
intercomm
|
||||
Intercommunicator between processes (handle).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_Comm_join creates an intercommunicator from the union of two MPI
|
||||
processes that are connected by a socket. \fIfd\fP is a file
|
||||
descriptor representing a socket of type SOCK_STREAM (a two-way
|
||||
reliable byte-stream connection). Nonblocking I/O and asynchronous
|
||||
notification via SIGIO must not be enabled for the socket. The socket
|
||||
must be in a connected state, and must be quiescent when MPI_Comm_join
|
||||
is called.
|
||||
.sp
|
||||
MPI_Comm_join must be called by the process at each end of the
|
||||
socket. It does not return until both processes have called
|
||||
MPI_Comm_join.
|
||||
|
||||
.SH NOTES
|
||||
.ft R
|
||||
There are no MPI library calls for opening and manipulating a socket.
|
||||
The socket \fIfd\fP can be opened using standard socket API calls.
|
||||
MPI uses the socket to bootstrap creation of the intercommunicator,
|
||||
and for nothing else. Upon return, the file descriptor will be open
|
||||
and quiescent.
|
||||
.sp
|
||||
In a multithreaded process, the application must ensure that other
|
||||
threads do not access the socket while one is in the midst of
|
||||
calling MPI_Comm_join.
|
||||
.sp
|
||||
The returned communicator will contain the two processes connected by
|
||||
the socket, and may be used to establish MPI communication with
|
||||
additional processes, through the usual MPI communicator-creation
|
||||
mechanisms.
|
||||
|
||||
.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. C++
|
||||
functions do not return errors. If the default error handler is set to
|
||||
MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism
|
||||
will be used to throw an MPI:Exception object.
|
||||
.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
|
||||
.nf
|
||||
socket(3SOCKET)
|
||||
MPI_Comm_create
|
||||
MPI_Comm_group
|
||||
|
||||
' @(#)MPI_Comm_join.3 1.6 06/03/09
|
63
ompi/mpi/man/man3/MPI_Comm_rank.3
Обычный файл
63
ompi/mpi/man/man3/MPI_Comm_rank.3
Обычный файл
@ -0,0 +1,63 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_rank 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Comm_rank\fP \- Determines the rank of the calling process in the communicator.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Comm_rank(MPI_Comm \fIcomm\fP, int\fI *rank\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_RANK(\fICOMM, RANK, IERROR\fP)
|
||||
INTEGER \fICOMM, RANK, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int Comm::Get_rank() const
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
rank
|
||||
Rank of the calling process in group of comm (integer).
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
This function gives the rank of the process in the
|
||||
particular communicator's group. It is equivalent to accessing the
|
||||
communicator's group with MPI_Comm_group, computing the rank using MPI_Group_rank, and then freeing the temporary group via MPI_Group_free.
|
||||
.sp
|
||||
Many programs will be written with the master-slave model, where one process (such as the rank-zero process) will play a supervisory role, and the other processes will serve as compute nodes. In this framework, MPI_Comm_size and MPI_Comm_rank are useful for determining the roles of the various processes of a communicator.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_Comm_group
|
||||
MPI_Comm_size
|
||||
MPI_Comm_compare
|
||||
|
||||
' @(#)MPI_Comm_rank.3 1.20 06/03/09
|
62
ompi/mpi/man/man3/MPI_Comm_remote_group.3
Обычный файл
62
ompi/mpi/man/man3/MPI_Comm_remote_group.3
Обычный файл
@ -0,0 +1,62 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_remote_group 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Comm_remote_group \fP \- Accesses the remote group associated with an intercommunicator.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Comm_remote_group(MPI_Comm \fIcomm\fP, MPI_Group\fI *group\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_REMOTE_GROUP(\fICOMM, GROUP, IERROR\fP)
|
||||
INTEGER \fICOMM, GROUP, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
Group Intercomm::Get_remote_group() const
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator.
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
group
|
||||
Remote group of communicator.
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_Comm_remote_group accesses the remote group associated with an intercommunicator.
|
||||
.sp
|
||||
The intercommunicator accessors (MPI_Comm_test_inter, MPI_Comm_remote_size,
|
||||
MPI_Comm_remote_group) are all local operations.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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
|
||||
.nf
|
||||
MPI_Comm_test_inter
|
||||
MPI_Comm_remote_size
|
||||
MPI_Intercomm_create
|
||||
MPI_Intercomm_merge
|
||||
|
||||
' @(#)MPI_Comm_remote_group.3 1.20 06/03/09
|
62
ompi/mpi/man/man3/MPI_Comm_remote_size.3
Обычный файл
62
ompi/mpi/man/man3/MPI_Comm_remote_size.3
Обычный файл
@ -0,0 +1,62 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_remote_size 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Comm_remote_size \fP \- Determines the size of the remote group associated with an intercommunicator.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Comm_remote_size(MPI_Comm \fIcomm\fP, int\fI size\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_REMOTE_SIZE(\fICOMM, SIZE, IERROR\fP)
|
||||
INTEGER \fICOMM, SIZE, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int Intercomm::Get_remote_size() const
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
size
|
||||
Number of processes in the remote group of comm (integer).
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_Comm_remote_size determines the size of the remote group associated with an intercommunicator.
|
||||
.sp
|
||||
The intercommunicator accessors (MPI_Comm_test_inter, MPI_Comm_remote_size, MPI_Comm_remote_group) are all local operations.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_Comm_test_inter
|
||||
MPI_Comm_remote_group
|
||||
MPI_Intercomm_create
|
||||
MPI_Intercomm_merge
|
||||
|
||||
' @(#)MPI_Comm_remote_size.3 1.20 06/03/09
|
81
ompi/mpi/man/man3/MPI_Comm_set_attr.3
Обычный файл
81
ompi/mpi/man/man3/MPI_Comm_set_attr.3
Обычный файл
@ -0,0 +1,81 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\"Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_set_attr 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Comm_set_attr\fP \- Stores attribute value associated with a key.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Comm_set_attr(MPI_Comm \fIcomm\fP, int \fIcomm_keyval\fP, void *\fIattribute_val\fP)
|
||||
|
||||
.SH Fortran Syntax (see FORTRAN 77 NOTES)
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_SET_ATTR(\fICOMM, COMM_KEYVAL, ATTRIBUTE_VAL, IERROR\fP)
|
||||
INTEGER \fICOMM, COMM_KEYVAL, IERROR \fP
|
||||
INTEGER(KIND=MPI_ADDRESS_KIND) \fIATTRIBUTE_VAL\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::Comm::Set_attr(int \fIcomm_keyval\fP, const void* \fIattribute_val\fP) const
|
||||
|
||||
.SH INPUT/OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator from which attribute will be attached (handle).
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm_keyval
|
||||
Key value (integer).
|
||||
.TP 1i
|
||||
attribute_val
|
||||
Attribute value.
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_Comm_set_attr stores the stipulated attribute value \fIattribute_val\fP for subsequent retrieval by MPI_Comm_get_attr. If the value is already present, then the outcome is as if MPI_Comm_delete_attr was first called to delete the previous value (and the callback function delete_fn was executed), and a new value was next stored. The call is erroneous if there is no key with value \fIcomm_keyval\fP; in particular MPI_KEYVAL_INVALID is an erroneous key value. The call will fail if the delete_fn function returned an error code other than MPI_SUCCESS.
|
||||
.sp
|
||||
This function replaces MPI_Attr_put, the use of which is deprecated. The C binding is identical. The Fortran binding differs in that \fIattribute_val\fP is an address-sized integer.
|
||||
|
||||
.SH FORTRAN 77 NOTES
|
||||
.ft R
|
||||
The MPI standard prescribes portable Fortran syntax for
|
||||
the \fIATTRIBUTE_VAL\fP argument only for Fortran 90. FORTRAN 77
|
||||
users may use the non-portable syntax
|
||||
.sp
|
||||
.nf
|
||||
INTEGER*MPI_ADDRESS_KIND \fIATTRIBUTE_VAL\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 NOTES
|
||||
.ft R
|
||||
Values of the permanent attributes MPI_TAG_UB, MPI_HOST,
|
||||
MPI_IO, and MPI_WTIME_IS_GLOBAL may not be changed.
|
||||
.sp
|
||||
The type of the attribute value depends on whether C or Fortran is being used. In C, an attribute value is a pointer (void *); in Fortran, it is a single, address-size integer system for which a pointer does not fit in an integer.
|
||||
.sp
|
||||
If an attribute is already present, the delete function (specified when the corresponding keyval was created) will be called.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
||||
' @(#)MPI_Comm_set_attr.3 1.19 06/03/09
|
52
ompi/mpi/man/man3/MPI_Comm_set_errhandler.3
Обычный файл
52
ompi/mpi/man/man3/MPI_Comm_set_errhandler.3
Обычный файл
@ -0,0 +1,52 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_set_errhandler 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Comm_set_errhandler \fP \- Attaches a new error handler to a communicator.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Comm_set_errhandler(MPI_Comm \fIcomm\fP,
|
||||
MPI_Errhandler \fIerrhandler\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_SET_ERRHANDLER(\fICOMM, ERRHANDLER, IERROR\fP)
|
||||
INTEGER \fICOMM, ERRHANDLER, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::Comm::Set_errhandler(const MPI::Errhandler& \fIerrhandler\fP)
|
||||
|
||||
.SH INPUT/OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
errhandler
|
||||
New error handler for communicator (handle).
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_Comm_set_errhandler attaches a new error handler to a communicator. The error handler must be either a predefined error handler or an error handler created by a call to MPI_Comm_create_errhandler. This call is identical to MPI_Errhandler_set, the use of which is deprecated.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
||||
' @(#)MPI_Comm_set_errhandler.3 1.18 06/03/09
|
72
ompi/mpi/man/man3/MPI_Comm_set_name.3
Обычный файл
72
ompi/mpi/man/man3/MPI_Comm_set_name.3
Обычный файл
@ -0,0 +1,72 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\"Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_set_name 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Comm_set_name\fP \- Associates a name with a communicator.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Comm_set_name(MPI_Comm \fIcomm\fP, char *\fIcomm_name\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_SET_NAME(\fICOMM, COMM_NAME, IERROR\fP)
|
||||
INTEGER \fICOMM, IERROR \fP
|
||||
CHARACTER*(*) \fICOMM_NAME\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::Comm::Set_name(const char* \fIcomm_name\fP)
|
||||
|
||||
.SH INPUT/OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator whose identifier is to be set (handle).
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm_name
|
||||
Character string to be used as the identifier for the communicator (string).
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_Comm_set_name allows a user to associate a name string with a communicator. The character string that is passed to MPI_Comm_set_name is saved inside the MPI library (so it can be freed by the caller immediately after the call, or allocated on the stack). Leading spaces in \fIname\fP are significant, but trailing ones are not.
|
||||
.sp
|
||||
MPI_Comm_set_name is a local (noncollective) operation, which affects only the name of the communicator as seen in the process that made the MPI_Comm_set_name call. There is no requirement that the same (or any) name be assigned to a communicator in every process where it exists.
|
||||
.sp
|
||||
The length of the name that can be stored is limited to the value of MPI_MAX_OBJECT_NAME in Fortran and MPI_MAX_OBJECT_NAME-1 in C and C++ (to allow for the null terminator). Attempts to set names longer than this will result in truncation of the name. MPI_MAX_OBJECT_NAME must have a value of at least 64.
|
||||
|
||||
|
||||
.SH NOTES
|
||||
.ft R
|
||||
Since MPI_Comm_set_name is provided to help debug code, it is sensible to give the same name to a communicator in all of the processes where it exists, to avoid confusion.
|
||||
.sp
|
||||
Regarding name length, under circumstances of store exhaustion, an attempt to set a name of any length could fail; therefore, the value of MPI_MAX_OBJECT_NAME should be viewed only as a strict upper bound on the name length, not a guarantee that setting names of less than this length will always succeed.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_get_name
|
||||
.sp
|
||||
|
||||
|
||||
' @(#)MPI_Comm_set_name.3 1.17 06/03/09
|
67
ompi/mpi/man/man3/MPI_Comm_size.3
Обычный файл
67
ompi/mpi/man/man3/MPI_Comm_size.3
Обычный файл
@ -0,0 +1,67 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_size 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Comm_size \fP \- Returns the size of the group associated with a communicator.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Comm_size(MPI_Comm \fIcomm\fP, int *\fIsize\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_SIZE(\fICOMM, SIZE, IERROR\fP)
|
||||
INTEGER \fICOMM, SIZE, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int Comm::Get_size() const
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
size
|
||||
Number of processes in the group of comm (integer).
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
This function indicates the number of processes
|
||||
involved in a communicator. For MPI_COMM_WORLD, it indicates the total number of processes available. This function is equivalent to accessing the
|
||||
communicator's group with MPI_Comm_group, computing the size using MPI_Group_size, and then freeing the temporary group via MPI_Group_free. If the communicator is an intra-communicator (enables communication between two groups), this function returns the size of the local group. To return the size of the remote group, use the MPI_Comm_remote_size function.
|
||||
.sp
|
||||
This call is often used with MPI_Comm_rank to determine the amount of concurrency available for a specific library or program. MPI_Comm_rank indicates the rank of the process that calls it in the range from 0 . . . size-1, where size is the return value of MPI_Comm_size.
|
||||
|
||||
.SH NOTE
|
||||
.ft R
|
||||
MPI_COMM_NULL is not considered a valid argument to this function.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_Comm_group
|
||||
MPI_Comm_rank
|
||||
MPI_Comm_compare
|
||||
|
||||
' @(#)MPI_Comm_size.3 1.23 06/03/09
|
137
ompi/mpi/man/man3/MPI_Comm_spawn.3
Обычный файл
137
ompi/mpi/man/man3/MPI_Comm_spawn.3
Обычный файл
@ -0,0 +1,137 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_spawn 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Comm_spawn\fP \- Spawns a number of identical binaries.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Comm_spawn(char *\fIcommand\fP, char *\fIargv\fP[], int \fImaxprocs\fP,
|
||||
MPI_Info \fIinfo\fP, int \fIroot\fP, MPI_Comm \fIcomm\fP,
|
||||
MPI_Comm *\fIintercomm\fP, int \fIarray_of_errcodes\fP[])
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_SPAWN(\fICOMMAND, ARGV, MAXPROCS, INFO, ROOT, COMM,
|
||||
INTERCOMM, ARRAY_OF_ERRCODES, IERROR\fP)
|
||||
|
||||
CHARACTER*(*) \fICOMMAND, ARGV(*)\fP
|
||||
INTEGER \fIINFO, MAXPROCS, ROOT, COMM, INTERCOMM,
|
||||
ARRAY_OF_ERRORCODES(*), IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
MPI::Intercomm MPI::Intracomm::Spawn(const char* \fIcommand\fP,
|
||||
const char* \fIargv\fP[], int \fImaxprocs\fP, const MPI::Info& \fIinfo\fP,
|
||||
int \fIroot\fP, int \fIarray_of_errcodes\fP[]) const
|
||||
|
||||
MPI::Intercomm MPI::Intracomm::Spawn(const char* \fIcommand\fP,
|
||||
const char* \fIargv\fP[], int \fImaxprocs\fP, const MPI::Info& \fIinfo\fP,
|
||||
int \fIroot\fP) const
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
command
|
||||
Name of program to be spawned (string, significant only at \fIroot\fP).
|
||||
.TP 1i
|
||||
argv
|
||||
Arguments to \fIcommand\fP (array of strings, significant only at \fIroot\fP).
|
||||
.TP 1i
|
||||
maxprocs
|
||||
Maximum number of processes to start (integer, significant only at \fIroot\fP).
|
||||
.TP 1i
|
||||
info
|
||||
A set of key-value pairs telling the runtime system where and how to start the processes (handle, significant only at \fIroot\fP).
|
||||
.TP 1i
|
||||
root
|
||||
Rank of process in which previous arguments are examined (integer).
|
||||
.TP 1i
|
||||
comm
|
||||
Intracommunicator containing group of spawning processes (handle).
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
intercomm
|
||||
Intercommunicator between original group and the newly spawned group (handle).
|
||||
.TP 1i
|
||||
array_of_errcodes
|
||||
One code per process (array of integers).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_Comm_spawn tries to start \fImaxprocs\fP identical copies of the MPI program specified by \fIcommand\fP, establishing communication with them and returning an intercommunicator. The spawned processes are referred to as children. The children have their own MPI_COMM_WORLD, which is separate from that of the parents. MPI_Comm_spawn is collective over \fIcomm\fP, and also may not return until MPI_Init has been called in the children. Similarly, MPI_Init in the children may not return until all parents have called MPI_Comm_spawn. In this sense, MPI_Comm_spawn in the parents and MPI_Init in the children form a collective operation over the union of parent and child processes. The intercommunicator returned by MPI_Comm_spawn contains the parent processes in the local group and the child processes in the remote group. The ordering of processes in the local and remote groups is the same as the as the ordering of the group of the \fIcomm\fP in the parents and of MPI_COMM_WORLD of the children, respectively. This intercommunicator can be obtained in the children through the function MPI_Comm_get_parent.
|
||||
.sp
|
||||
The MPI standard allows an implementation to use the MPI_UNIVERSE_SIZE attribute of MPI_COMM_WORLD to specify the number of processes that will be active in a program. Although this implementation of the MPI standard defines MPI_UNIVERSE_SIZE, it does not allow the user to set its value. If you try to set the value of MPI_UNIVERSE_SIZE, you will get an error message.
|
||||
.sp
|
||||
The \fIcommand\fP Argument
|
||||
.sp
|
||||
The \fIcommand\fP argument is a string containing the name of a program to be spawned. The string is null-terminated in C. In Fortran, leading and trailing spaces are stripped. MPI looks for the file first in the working directory of the spawning process.
|
||||
.sp
|
||||
The \fIargv\fP Argument
|
||||
.sp
|
||||
\fIargv\fP is an array of strings containing arguments that are passed to the program. The first element of \fIargv\fP is the first argument passed to \fIcommand\fP, not, as is conventional in some contexts, the command itself. The argument list is terminated by NULL in C and C++ and an empty string in Fortran. In Fortran, leading and trailing spaces are always stripped, so that a string consisting of all spaces is considered an empty string. The constant MPI_ARGV_NULL may be used in C, C++ and Fortran to indicate an empty argument list. In C and C++, this constant is the same as NULL.
|
||||
.sp
|
||||
In C, the MPI_Comm_spawn argument \fIargv\fP differs from the \fIargv\fP argument of \fImain\fP in two respects. First, it is shifted by one element. Specifically, \fIargv\fP[0] of \fImain\fP contains the name of the program (given by \fIcommand\fP). \fIargv\fP[1] of \fImain\fP corresponds to \fIargv\fP[0] in MPI_Comm_spawn, \fIargv\fP[2] of \fImain\fP to \fIargv\fP[1] of MPI_Comm_spawn, and so on. Second, \fIargv\fP of MPI_Comm_spawn must be null-terminated, so that its length can be determined. Passing an \fIargv\fP of MPI_ARGV_NULL to MPI_Comm_spawn results in \fImain\fP receiving \fIargc\fP of 1 and an \fIargv\fP whose element 0 is the name of the program.
|
||||
.sp
|
||||
The \fImaxprocs\fP Argument
|
||||
.sp
|
||||
Open MPI tries to spawn \fImaxprocs\fP processes. If it is unable to spawn \fImaxprocs\fP processes, it raises an error of class MPI_ERR_SPAWN. If MPI is able to spawn the specified number of processes, MPI_Comm_spawn returns successfully and the number of spawned processes, \fIm\fP, is given by the size of the remote group of \fIintercomm\fP.
|
||||
.sp
|
||||
A spawn call with the default behavior is called hard. A spawn call for which fewer than \fImaxprocs\fP processes may be returned is called soft.
|
||||
.sp
|
||||
The \fIinfo\fP Argument
|
||||
.sp
|
||||
The \fIinfo\fP argument is an opaque handle of type MPI_Info in C, MPI::Info in C++ and INTEGER in Fortran. It is a container for a number of user-speci ed (\fIkey,value\fP) pairs. \fIkey\fP and \fIvalue\fP are strings (null-terminated char* in C, character*(*) in Fortran). Routines to create and manipulate the \fIinfo\fP argument are described in Section 4.10 of the MPI-2 standard.
|
||||
.sp
|
||||
For the SPAWN calls, \fIinfo\fP provides additional, implementation-dependent instructions to MPI and the runtime system on how to start processes. An application may pass MPI_INFO_NULL in C or Fortran. Portable programs not requiring detailed control over process locations should use MPI_INFO_NULL.
|
||||
.sp
|
||||
The following values for \fIinfo\fP are recognized in Open MPI. (The reserved values mentioned in Section 5.3.4 of the MPI-2 standard are not implemented.)
|
||||
.sp
|
||||
.nf
|
||||
Key value Type Description
|
||||
---------- ---- -----------
|
||||
|
||||
host char * Host on which the process should be spawned.
|
||||
wdir char * Directory where the executable is located.
|
||||
.fi
|
||||
|
||||
.sp
|
||||
The \fIroot\fP Argument
|
||||
.sp
|
||||
All arguments before the \fIroot\fP argument are examined only on the process whose rank in \fIcomm\fP is equal to \fIroot\fP. The value of these arguments on other processes is ignored.
|
||||
.sp
|
||||
The \fIarray_of_errcodes\fP Argument
|
||||
.sp
|
||||
The \fIarray_of_errcodes\fP is an array of length \fImaxprocs\fP in which MPI reports the status of the processes that MPI was requested to start. If all \fImaxprocs\fP processes were spawned, \fIarray_of_errcodes\fP is filled in with the value MPI_SUCCESS. If anyof the processes are \fInot\fP spawned, \fIarray_of_errcodes\fP is filled in with the value MPI_ERR_SPAWN. In C or Fortran, an application may pass MPI_ERRCODES_IGNORE if it is not interested in the error codes. In C++ this constant does not exist, and the \fIarray_of_errcodes\fP argument may be omitted from the argument list.
|
||||
|
||||
.SH NOTES
|
||||
.ft R
|
||||
Completion of MPI_Comm_spawn in the parent does not necessarily mean that MPI_Init has been called in the children (although the returned intercommunicator can be used immediately).
|
||||
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_Comm_spawn_multiple(3)
|
||||
MPI_Comm_get_parent(3)
|
||||
mpirun(1)
|
||||
|
||||
' @(#)MPI_Comm_spawn.3 1.18 02/02/11
|
||||
' @(#)MPI_Comm_spawn.3 1.26 06/03/09
|
142
ompi/mpi/man/man3/MPI_Comm_spawn_multiple.3
Обычный файл
142
ompi/mpi/man/man3/MPI_Comm_spawn_multiple.3
Обычный файл
@ -0,0 +1,142 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_spawn_multiple 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Comm_spawn_multiple\fP \- Spawns multiple binaries, or the same binary with multiple sets of arguments.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Comm_spawn_multiple(int \fIcount\fP, char *\fIarray_of_commands\fP[],
|
||||
char **\fIarray_of_argv\fP[], int \fIarray_of_maxprocs\fP[], MPI_Info
|
||||
\fIarray_of_info\fP[], int \fIroot\fP, MPI_Comm \fIcomm\fP, MPI_Comm *\fIintercomm\fP,
|
||||
int \fIarray_of_errcodes\fP[])
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_SPAWN_MULTIPLE(\fICOUNT, ARRAY_OF_COMMANDS, ARRAY_OF_ARGV,
|
||||
ARRAY_OF_MAXPROCS, ARRAY_OF_INFO, ROOT, COMM, INTERCOMM,
|
||||
ARRAY_OF_ERRCODES, IERROR\fP)
|
||||
INTEGER \fICOUNT, ARRAY_OF_INFO(*), ARRAY_OF_MAXPROCS(*), ROOT,
|
||||
COMM, INTERCOMM, ARRAY_OF_ERRCODES(*), IERROR\fP
|
||||
CHARACTER*(*) \fIARRAY_OF_COMMANDS\fP(*), \fIARRAY_OF_ARGV\fP(\fICOUNT\fP, *)
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
MPI::Intercomm MPI::Intracomm::Spawn_multiple(int \fIcount\fP,
|
||||
const char* \fIarray_of_commands\fP[], const char** \fIarray_of_argv\fP[],
|
||||
const int \fIarray_of_maxprocs\fP[], const MPI::Info \fIarray_of_info\fP[],
|
||||
int \fIroot\fP, int \fIarray_of_errcodes\fP[])
|
||||
|
||||
MPI::Intercomm MPI::Intracomm::Spawn_multiple(int \fIcount\fP,
|
||||
const char* \fIarray_of_commands\fP[], const char** \fIarray_of_argv\fP[],
|
||||
const int \fIarray_of_maxprocs\fP[], const MPI::Info \fIarray_of_info\fP[],
|
||||
int \fIroot\fP)
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
count
|
||||
Number of commands (positive integer, significant to MPI only at \fIroot\fP -- see NOTES).
|
||||
.TP 1i
|
||||
array_of_commands
|
||||
Programs to be executed (array of strings, significant only at \fIroot\fP).
|
||||
.TP 1i
|
||||
array_of_argv
|
||||
Arguments for \fIcommands\fP (array of array of strings, significant only at \fIroot\fP).
|
||||
.TP 1i
|
||||
array_of_maxprocs
|
||||
Maximum number of processes to start for each command (array of integers, significant only at \fIroot\fP).
|
||||
.TP 1i
|
||||
array_of_info
|
||||
Info objects telling the runtime system where and how to start processes (array of handles, significant only at \fIroot\fP).
|
||||
.TP 1i
|
||||
root
|
||||
Rank of process in which previous arguments are examined (integer).
|
||||
.TP 1i
|
||||
comm
|
||||
Intracommunicator containing group of spawning processes (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
intercomm
|
||||
Intercommunicator between original group and the newly spawned group (handle).
|
||||
.TP 1i
|
||||
array_of_errcodes
|
||||
One code per process (array of integers).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_Comm_spawn_multiple is identical to MPI_Comm_spawn except that it can specify multiple executables. The first argument, \fIcount\fP, indicates the number of executables. The next three arguments are arrays of the corresponding arguments in MPI_Comm_spawn. The next argument, \fIarray_of_info\fP, is an array of \fIinfo\fP arguments; however, only the first argument in that array is used. Any subsequent arguments in the array are ignored because an \fIinfo\fP argument applies to the entire job that is spawned, and cannot be different for each executable in the job. See the INFO ARGUMENTS section for more information.
|
||||
.sp
|
||||
For the Fortran version of \fIarray_of_argv\fP, the element \fIarray_of_argv\fP(i,j) is the jth argument to command number i.
|
||||
.sp
|
||||
In any language, an application may use the constant MPI_ARGVS_NULL (which is likely to be (char ***)0 in C) to specify that no arguments should be passed to any commands. The effect of setting individual elements of \fIarray_of_argv\fP to MPI_ARGV_NULL is not defined. To specify arguments for some commands but not others, the commands without arguments should have a corresponding \fIargv\fP whose first element is null ((char *)0 in C and empty string in Fortran).
|
||||
.sp
|
||||
All of the spawned processes have the same MPI_COMM_WORLD. Their ranks in MPI_COMM_WORLD correspond directly to the order in which the commands are specified in MPI_Comm_spawn_multiple. Assume that m1 processes are generated by the first command, m2 by the second, etc. The processes corresponding to the first command have ranks 0, 1,..., m1-1. The processes in the second command have ranks m1, m1+1, ..., m1+m2-1. The processes in the third have ranks m1+m2, m1+m2+1, ..., m1+m2+m3-1, etc.
|
||||
.sp
|
||||
The \fIarray_of_errcodes\fP argument is 1-dimensional array of size
|
||||
.sp
|
||||
.nf
|
||||
_ count
|
||||
\\ n ,
|
||||
/_ i=1 i
|
||||
.fi
|
||||
.sp
|
||||
where i is the ith element of \fIarray_of_maxprocs\fP. Command number \fIi\fP corresponds to the i contiguous slots in this array from element
|
||||
.sp
|
||||
.nf
|
||||
_ _
|
||||
_ \fIi\fP-1 | _ \fIi\fP |
|
||||
\\ n , to | \\ n | -1
|
||||
/_ \fIj\fP=1 i | /_ \fIj\fP=1 j |
|
||||
|_ _|
|
||||
.fi
|
||||
.sp
|
||||
Error codes are treated as for MPI_Comm_spawn.
|
||||
|
||||
|
||||
.SH INFO ARGUMENTS
|
||||
The following values for \fIinfo\fP are recognized in Open MPI 1.2. (The reserved values mentioned in Section 5.3.4 of the MPI-2 standard are not implemented.)
|
||||
.sp
|
||||
.sp
|
||||
.nf
|
||||
Key value Type Description
|
||||
---------- ---- -----------
|
||||
|
||||
host char * Host on which the process should be spawned.
|
||||
wdir char * Directory where the executable is located.
|
||||
.fi
|
||||
|
||||
.sp
|
||||
Note that in Open MPI 1.2, the first array location in \fIarray_of_info\fP is applied to all the commands in \fIarray_of_commands\fP.
|
||||
|
||||
.SH NOTES
|
||||
The argument \fIcount\fP is interpreted by MPI only at the root, as is \fIarray_of_argv\fP. Since the leading dimension of \fIarray_of_argv\fP is \fIcount\fP, a nonpositive value of \fIcount\fP at a nonroot node could theoretically cause a runtime bounds check error, even though \fIarray_of_argv\fP should be ignored by the subroutine. If this happens, you should explicitly supply a reasonable value of \fIcount\fP on the nonroot nodes.
|
||||
.sp
|
||||
Calling MPI_Comm_spawn many times would create many sets of children with different MPI_COMM_WORLDs, whereas MPI_Comm_spawn_multiple creates children with a single MPI_COMM_WORLD, so the two methods are not completely equivalent. Also if you need to spawn multiple executables, you may get better performance by using MPI_Comm_spawn_multiple instead of calling MPI_Comm_spawn several times.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_Comm_spawn(3)
|
||||
MPI_Comm_get_parent(3)
|
||||
mpirun(1)
|
||||
|
||||
' @(#)MPI_Comm_spawn_multiple.3 1.18 01/02/27
|
||||
' @(#)MPI_Comm_spawn_multiple.3 1.25 06/03/09
|
92
ompi/mpi/man/man3/MPI_Comm_split.3
Обычный файл
92
ompi/mpi/man/man3/MPI_Comm_split.3
Обычный файл
@ -0,0 +1,92 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_split 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Comm_split \fP \- Creates new communicators based on colors and keys.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Comm_split(MPI_Comm \fIcomm\fP, int\fI color\fP, int\fI key\fP,
|
||||
MPI_Comm *\fInewcomm\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_SPLIT(\fICOMM, COLOR, KEY, NEWCOMM, IERROR\fP)
|
||||
INTEGER \fICOMM, COLOR, KEY, NEWCOMM, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
MPI::Intercomm MPI::Intercomm::Split(int \fIcolor\fP, int \fIkey\fP) const
|
||||
|
||||
MPI::Intracomm MPI::Intracomm::Split(int \fIcolor\fP, int \fIkey\fP) const
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator (handle).
|
||||
.TP 1i
|
||||
color
|
||||
Control of subset assignment (nonnegative integer).
|
||||
.TP 1i
|
||||
key
|
||||
Control of rank assigment (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
|
||||
This function partitions the group associated with comm into disjoint subgroups, one for each value of color. Each subgroup contains all processes of the same color. Within each subgroup, the processes are ranked in the order defined by the value of the argument key, with ties broken according to their rank in the old group. A new communicator is created for each subgroup and returned in newcomm. A process may supply the color value MPI_UNDEFINED, in which case newcomm returns MPI_COMM_NULL. This is a collective call, but each process is permitted to provide different values for color and key.
|
||||
.sp
|
||||
When you call MPI_Comm_split on an inter-communicator, the processes on the left with the same color as those on the right combine to create a new inter-communicator. The key argument describes the relative rank of processes on each side of the inter-communicator. The function returns MPI_COMM_NULL for those colors that are specified on only one side of the inter-communicator, or for those that specify MPI_UNEDEFINED as the color.
|
||||
.sp
|
||||
A call to MPI_Comm_create(\fIcomm\fP, \fIgroup\fP, \fInewcomm\fP) is equivalent to a call to MPI_Comm_split(\fIcomm\fP, \fIcolor\fP,\fI key\fP, \fInewcomm\fP), where all members of \fIgroup\fP provide \fIcolor\fP = 0 and \fIkey\fP = rank in group, and all processes that are not members of \fIgroup\fP provide \fIcolor\fP = MPI_UNDEFINED. The function MPI_Comm_split allows more general partitioning of a group into one or more subgroups with optional reordering.
|
||||
.sp
|
||||
The value of \fIcolor\fP must be nonnegative or MPI_UNDEFINED.
|
||||
|
||||
.SH NOTES
|
||||
.ft R
|
||||
This is an extremely powerful mechanism for
|
||||
dividing a single communicating group of processes into k subgroups, with k
|
||||
chosen implicitly by the user (by the number of colors asserted over all
|
||||
the processes). Each resulting communicator will be nonoverlapping. Such a division could be useful for defining a hierarchy of computations, such as for multigrid or linear algebra.
|
||||
.sp
|
||||
Multiple calls to MPI_Comm_split can be used to overcome the requirement that any call have no overlap of the resulting communicators (each process is of only one color per call). In this way, multiple overlapping communication structures can be created. Creative use of the color and key in such splitting operations is encouraged.
|
||||
.sp
|
||||
Note that, for a fixed color, the keys need not be unique. It is MPI_Comm_split's responsibility to sort processes in ascending order according to this key, and to break ties in a consistent way. If all the keys are specified in the same way, then all the processes in a given color will have the relative rank order as they did in their parent group. (In general, they will have different ranks.)
|
||||
.sp
|
||||
Essentially, making the key value zero for all processes of a given color
|
||||
means that one needn't really pay attention to the rank-order of the processes in the new communicator.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_create
|
||||
.br
|
||||
MPI_Intercomm_create
|
||||
.br
|
||||
MPI_Comm_dup
|
||||
.br
|
||||
MPI_Comm_free
|
||||
|
||||
|
||||
' @(#)MPI_Comm_split.3 1.22 06/03/09
|
77
ompi/mpi/man/man3/MPI_Comm_test_inter.3
Обычный файл
77
ompi/mpi/man/man3/MPI_Comm_test_inter.3
Обычный файл
@ -0,0 +1,77 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Comm_test_inter 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Comm_test_inter \fP \- Tests to see if a comm is an intercommunicator.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Comm_test_inter(MPI_Comm \fIcomm\fP, int\fI *flag\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_COMM_TEST_INTER(\fICOMM, FLAG, IERROR\fP)
|
||||
INTEGER \fICOMM, IERROR\fP
|
||||
LOGICAL \fIFLAG \fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
bool Comm::Is_inter() const
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
flag (Logical.)
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
This local routine allows the calling process to determine the type of a communicator. It returns true for an intercommunicator, false for an intracommunicator.
|
||||
.sp
|
||||
The type of communicator also affects the value returned by three other functions. When dealing with an intracommunicator (enables communication within a single group), the functions listed below return the expected values, group size, group, and rank. When dealing with an inter-communicator, however, they return the following values:
|
||||
.sp
|
||||
.nf
|
||||
MPI_Comm_size Returns the size of the local group.
|
||||
MPI_Comm_group Returns the local group.
|
||||
MPI_Comm_rank Returns the rank in the local group.
|
||||
.fi
|
||||
.sp
|
||||
To return the remote group and remote group size of an inter-communicator, use the MPI_Comm_remote_group and MPI_Comm_remote_size functions.
|
||||
.sp
|
||||
The operation MPI_Comm_compare is valid for intercommunicators. Both communicators must be either intra- or intercommunicators, or else MPI_UNEQUAL results. Both corresponding local and remote groups must compare correctly to get the results MPI_CONGRUENT and MPI_SIMILAR. In particular, it is possible for MPI_SIMILAR to result because either the local or remote groups were similar but not identical.
|
||||
.sp
|
||||
The following accessors provide consistent access to the remote group of an
|
||||
intercommunicator: MPI_Comm_remote_size, MPI_Comm_remote_group.
|
||||
.sp
|
||||
The intercommunicator accessors (MPI_Comm_test_inter, MPI_Comm_remote_size, MPI_Comm_remote_group) are all local operations.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_Comm_remote_group
|
||||
MPI_Comm_remote_size
|
||||
MPI_Intercomm_create
|
||||
MPI_Intercomm_merge
|
||||
|
||||
' @(#)MPI_Comm_test_inter.3 1.22 06/03/09
|
75
ompi/mpi/man/man3/MPI_Dims_create.3
Обычный файл
75
ompi/mpi/man/man3/MPI_Dims_create.3
Обычный файл
@ -0,0 +1,75 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Dims_create 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Dims_create \fP \- Creates a division of processors in a Cartesian grid.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Dims_create(int \fInnodes\fP, int\fI ndims\fP, int\fI *dims\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_DIMS_CREATE(\fINNODES, NDIMS, DIMS, IERROR\fP)
|
||||
INTEGER \fINNODES, NDIMS, DIMS(*), IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void Compute_dims(int \fInnodes\fP, int \fIndims\fP, int \fIdims\fP[])
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
nnodes
|
||||
Number of nodes in a grid (integer).
|
||||
.TP 1i
|
||||
ndims
|
||||
Number of Cartesian dimensions (integer).
|
||||
|
||||
.SH IN/OUT PARAMETER
|
||||
.TP 1i
|
||||
dims
|
||||
Integer array of size ndims specifying the number of nodes in each dimension.
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
For Cartesian topologies, the function MPI_Dims_create helps the user select a balanced distribution of processes per coordinate direction, depending on the number of processes in the group to be balanced and optional constraints that can be specified by the user. One use is to partition all the processes (the size of MPI_COMM_WORLD's group) into an n-dimensional topology.
|
||||
.sp
|
||||
The entries in the array \fIdims\fP are set to describe a Cartesian grid with \fIndims\fP dimensions and a total of \fInnodes\fP nodes. The dimensions are set to be as close to each other as possible, using an appropriate divisibility algorithm. The caller may further constrain the operation of this routine by specifying elements of array dims. If dims[i] is set to a positive number, the routine will not modify the number of nodes in dimension i; only those entries where dims[i] = 0 are modified by the call.
|
||||
.sp
|
||||
Negative input values of dims[i] are erroneous. An error will occur if
|
||||
nnodes is not a multiple of ((pi) over (i, dims[i] != 0)) dims[i].
|
||||
.sp
|
||||
For dims[i] set by the call, dims[i] will be ordered in nonincreasing order. Array dims is suitable for use as input to routine MPI_Cart_create. MPI_Dims_create is local.
|
||||
.sp
|
||||
\fBExample:\fP
|
||||
.nf
|
||||
|
||||
dims
|
||||
before dims
|
||||
call function call on return
|
||||
-----------------------------------------------------
|
||||
(0,0) MPI_Dims_create(6, 2, dims) (3,2)
|
||||
(0,0) MPI_Dims_create(7, 2, dims) (7,1)
|
||||
(0,3,0) MPI_Dims_create(6, 3, dims) (2,3,1)
|
||||
(0,3,0) MPI_Dims_create(7, 3, dims) erroneous call
|
||||
------------------------------------------------------
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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.
|
||||
|
||||
' @(#)MPI_Dims_create.3 1.20 06/03/09
|
76
ompi/mpi/man/man3/MPI_Errhandler_create.3
Обычный файл
76
ompi/mpi/man/man3/MPI_Errhandler_create.3
Обычный файл
@ -0,0 +1,76 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Errhandler_create 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Errhandler_create \fP \- Creates an MPI-style error handler -- use of this routine is deprecated.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Errhandler_create(MPI_Handler_function *\fIfunction\fP,
|
||||
MPI_Errhandler *\fIerrhandler\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_ERRHANDLER_CREATE(\fIFUNCTION, ERRHANDLER, IERROR\fP)
|
||||
EXTERNAL \fIFUNCTION\fP
|
||||
INTEGER \fIERRHANDLER, IERROR\fP
|
||||
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
function
|
||||
User-defined error handling procedure.
|
||||
|
||||
.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
|
||||
Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Comm_create_errhandler instead.
|
||||
.sp
|
||||
This deprecated routine is not available in C++.
|
||||
.sp
|
||||
Registers the user routine function for use as an MPI exception handler. Returns in errhandler a handle to the registered exception handler.
|
||||
.sp
|
||||
In the C language, the user routine should be a C function of type MPI_Handler_function, which is defined as
|
||||
.sp
|
||||
.nf
|
||||
typedef void (MPI_Handler_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. If the routine would have returned MPI_ERR_IN_STATUS, it is the error code returned in the status for the request that caused the error handler to be invoked. The remaining arguments are stdargs arguments whose number and meaning is implementation-dependent. An implementation should clearly document these arguments. Addresses are used so that the handler may be written in Fortran.
|
||||
|
||||
.SH NOTE
|
||||
.ft R
|
||||
The MPI-1 Standard states that an implementation may make the output value (errhandler) simply the address of the function. However, the action of MPI_Errhandler_ free makes this impossible, since it is required to set the value of the argument to MPI_ERRHANDLER_NULL. In addition, the actual error handler must remain until all communicators that use it are freed.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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
|
||||
.br
|
||||
MPI_Comm_create_errhandler
|
||||
.br
|
||||
MPI_Comm_get_errhandler
|
||||
.br
|
||||
MPI_Comm_set_errhandler
|
||||
|
||||
|
||||
' @(#)MPI_Errhandler_create.3 1.20 06/03/09
|
||||
|
59
ompi/mpi/man/man3/MPI_Errhandler_free.3
Обычный файл
59
ompi/mpi/man/man3/MPI_Errhandler_free.3
Обычный файл
@ -0,0 +1,59 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Errhandler_free 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Errhandler_free \fP \- Frees an MPI-style error handler.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Errhandler_free(MPI_Errhandler *\fIerrhandler\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_ERRHANDLER_FREE(\fIERRHANDLER, IERROR\fP)
|
||||
INTEGER \fIERRHANDLER, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void Errhandler::Free()
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
errhandler
|
||||
MPI error handler (handle). Set to MPI_ERRHANDLER_NULL on exit.
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
Marks the error handler associated with errhandler for deallocation and sets errhandler to MPI_ERRHANDLER_NULL. The error handler will be deallocated after all communicators associated with it have been deallocated.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_create_errhandler
|
||||
.br
|
||||
MPI_Comm_get_errhandler
|
||||
.br
|
||||
MPI_Comm_set_errhandler
|
||||
|
||||
' @(#)MPI_Errhandler_free.3 1.20 06/03/09
|
||||
|
||||
|
||||
|
63
ompi/mpi/man/man3/MPI_Errhandler_get.3
Обычный файл
63
ompi/mpi/man/man3/MPI_Errhandler_get.3
Обычный файл
@ -0,0 +1,63 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Errhandler_get 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Errhandler_get \fP \- Gets the error handler for a communicator -- use of this routine is deprecated.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Errhandler_get(MPI_Comm \fIcomm\fP, MPI_Errhandler\fI *errhandler\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_ERRHANDLER_GET(\fICOMM, ERRHANDLER, IERROR\fP)
|
||||
INTEGER \fICOMM, ERRHANDLER, IERROR\fP
|
||||
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator to get the error handler from (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
errhandler
|
||||
MPI error handler currently associated with communicator (handle).
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Comm_get_errhandler instead.
|
||||
.sp
|
||||
This deprecated routine is not available in C++.
|
||||
.sp
|
||||
Returns in errhandler (a handle to) the error handler that is currently associated with communicator comm.
|
||||
.sp
|
||||
\fBExample:\fP A library function may register at its entry point the current error handler for a communicator, set its own private error handler for this communicator, and restore before exiting the previous error handler.
|
||||
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_create_errhandler
|
||||
.br
|
||||
MPI_Comm_get_errhandler
|
||||
.br
|
||||
MPI_Comm_set_errhandler
|
||||
|
||||
' @(#)MPI_Errhandler_get.3 1.20 06/03/09
|
60
ompi/mpi/man/man3/MPI_Errhandler_set.3
Обычный файл
60
ompi/mpi/man/man3/MPI_Errhandler_set.3
Обычный файл
@ -0,0 +1,60 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Errhandler_set 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Errhandler_set \fP \- Sets the error handler for a communicator -- use of this routine is deprecated.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Errhandler_set(MPI_Comm \fIcomm\fP, MPI_Errhandler \fIerrhandler\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_ERRHANDLER_SET(\fICOMM, ERRHANDLER, IERROR\fP)
|
||||
INTEGER \fICOMM, ERRHANDLER, IERROR\fP
|
||||
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator to set the error handler for (handle).
|
||||
.TP 1i
|
||||
errhandler
|
||||
New MPI error handler for communicator (handle).
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Comm_set_errhandler instead.
|
||||
.sp
|
||||
This deprecated routine is not available in C++.
|
||||
.sp
|
||||
Associates the new error handler errhandler with communicator comm at the calling process. Note that an error handler is always associated with the communicator.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_create_errhandler
|
||||
.br
|
||||
MPI_Comm_get_errhandler
|
||||
.br
|
||||
MPI_Comm_set_errhandler
|
||||
|
||||
' @(#)MPI_Errhandler_set.3 1.20 06/03/09
|
||||
|
57
ompi/mpi/man/man3/MPI_Error_class.3
Обычный файл
57
ompi/mpi/man/man3/MPI_Error_class.3
Обычный файл
@ -0,0 +1,57 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Error_class 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Error_class \fP \- Converts an error code into an error class.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Error_class(int \fIerrorcode\fP, int\fI *errorclass\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_ERROR_CLASS(\fIERRORCODE, ERRORCLASS, IERROR\fP)
|
||||
INTEGER \fIERRORCODE, ERRORCLASS, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int Get_error_class(int \fIerrorcode\fP)
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
errorcode
|
||||
Error code returned by an MPI routine.
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
errorclass
|
||||
Error class associated with errorcode.
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
The function MPI_Error_class maps each standard error code (error class) onto itself.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_Error_string
|
||||
|
||||
|
||||
' @(#)MPI_Error_class.3 1.20 06/03/09
|
64
ompi/mpi/man/man3/MPI_Error_string.3
Обычный файл
64
ompi/mpi/man/man3/MPI_Error_string.3
Обычный файл
@ -0,0 +1,64 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Error_string 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_Error_string \fP \- Returns a string for a given error code.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Error_string(int \fIerrorcode\fP, char\fI *string\fP, int\fI *resultlen\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_ERROR_STRING(\fIERRORCODE, STRING, RESULTLEN, IERROR\fP)
|
||||
INTEGER \fIERRORCODE, RESULTLEN, IERROR\fP
|
||||
CHARACTER*(*) \fISTRING\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void Get_error_string(int \fIerrorcode\fP, char* \fIname\fP, int& \fIresultlen\fP)
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
errorcode
|
||||
Error code returned by an MPI routine or an MPI error class.
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
string
|
||||
Text that corresponds to the errorcode.
|
||||
.TP 1i
|
||||
resultlen
|
||||
Length of string.
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
Returns the error string associated with an error code or class. The argument string must represent storage that is at least MPI_MAX_ERROR_STRING characters long.
|
||||
.sp
|
||||
The number of characters actually written is returned in the output
|
||||
argument, resultlen.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.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_Error_class
|
||||
|
||||
' @(#)MPI_Error_string.3 1.20 06/03/09
|
||||
|
128
ompi/mpi/man/man3/MPI_Exscan.3
Обычный файл
128
ompi/mpi/man/man3/MPI_Exscan.3
Обычный файл
@ -0,0 +1,128 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_Exscan 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
|
||||
.SH NAME
|
||||
\fBMPI_Exscan\fP \- Computes an exclusive scan (partial reduction)
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_Exscan(void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int \fIcount\fP,
|
||||
MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, MPI_Comm \fIcomm\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_SCAN(\fISENDBUF, RECVBUF, COUNT, DATATYPE, OP, COMM, IERROR\fP)
|
||||
<type> \fISENDBUF(*), RECVBUF(*)\fP
|
||||
INTEGER \fICOUNT, DATATYPE, OP, COMM, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::Intracomm::Exscan(const void* \fIsendbuf\fP, void* \fIrecvbuf\fP,
|
||||
int \fIcount\fP, const MPI::Datatype& \fIdatatype\fP,
|
||||
const MPI::Op& \fIop\fP) const
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
sendbuf
|
||||
Send buffer (choice).
|
||||
.TP 1i
|
||||
count
|
||||
Number of elements in input buffer (integer).
|
||||
.TP 1i
|
||||
datatype
|
||||
Data type of elements of input buffer (handle).
|
||||
.TP 1i
|
||||
op
|
||||
Operation (handle).
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
recvbuf
|
||||
Receive buffer (choice).
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_Exscan is used to perform an exclusive prefix reduction on data
|
||||
distributed across the calling processes. The operation returns, in
|
||||
the \fIrecvbuf\fP of the process with rank i, the reduction
|
||||
(calculated according to the function \fIop\fP) of the values in the
|
||||
\fIsendbuf\fPs of processes with ranks 0, ..., i-1. Compare this with
|
||||
the functionality of MPI_Scan, which calculates over the range 0, ...,
|
||||
i (inclusive). The type of operations supported, their semantics, and
|
||||
the constraints on send and receive buffers are as for MPI_Reduce.
|
||||
.sp
|
||||
The value in \fIrecvbuf\fP on process 0 is undefined and unreliable
|
||||
as \fIrecvbuf\fP is not significant for process 0. The value of
|
||||
\fIrecvbuf\fP on process 1 is always the value in \fIsendbuf\fP on
|
||||
process 0.
|
||||
.sp
|
||||
No MPI_IN_PLACE operation is supported.
|
||||
|
||||
.SH NOTES
|
||||
.ft R
|
||||
MPI does not specify which process computes which operation. In
|
||||
particular, both processes 0 and 1 may participate in the computation
|
||||
even though the results for both processes' \fIrecvbuf\fP are
|
||||
degenerate. Therefore, all processes, including 0 and 1, must provide
|
||||
the same \fIop\fP.
|
||||
.sp
|
||||
It can be argued, from a mathematical perspective, that the definition
|
||||
of MPI_Exscan is unsatisfactory because the output at process 0 is
|
||||
undefined. The "mathematically correct" output for process 0 would be
|
||||
the unit element of the reduction operation. However, such a
|
||||
definition of an exclusive scan would not work with user-defined
|
||||
\fIop\fP functions as there is no way for MPI to "know" the unit value
|
||||
for these custom operations.
|
||||
|
||||
.SH NOTES ON COLLECTIVE OPERATIONS
|
||||
.ft R
|
||||
The reduction functions of type MPI_Op do not return an error value.
|
||||
As a result, if the functions detect an error, all they can do is
|
||||
either call MPI_Abort or silently skip the problem. Thus, if the
|
||||
error handler is changed from MPI_ERRORS_ARE_FATAL to something else
|
||||
(e.g., MPI_ERRORS_RETURN), then no error may be indicated.
|
||||
.sp
|
||||
The reason for this is the performance problems in ensuring that
|
||||
all collective routines return the same error value.
|
||||
|
||||
.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. C++
|
||||
functions do not return errors. If the default error handler is set to
|
||||
MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism
|
||||
will be used to throw an MPI:Exception object.
|
||||
.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
|
||||
.nf
|
||||
MPI_Op_create
|
||||
MPI_Reduce
|
||||
MPI_Scan
|
||||
|
||||
' @(#)MPI_Exscan.3 1.4 06/03/09
|
2
ompi/mpi/man/man3/MPI_File_c2f.3
Обычный файл
2
ompi/mpi/man/man3/MPI_File_c2f.3
Обычный файл
@ -0,0 +1,2 @@
|
||||
.so man3/MPI_Comm_f2c.3
|
||||
' @(#)MPI_File_c2f.3 1.11 06/03/09
|
70
ompi/mpi/man/man3/MPI_File_call_errhandler.3
Обычный файл
70
ompi/mpi/man/man3/MPI_File_call_errhandler.3
Обычный файл
@ -0,0 +1,70 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_call_errhandler 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
|
||||
.SH NAME
|
||||
\fBMPI_File_call_errhandler\fP \- Passes the supplied error code to the
|
||||
error handler assigned to a file
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_File_call_errhandler(MPI_File \fIfh\fP, int \fIerrorcode\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_CALL_ERRHANDLER(\fIFH, ERRORCODE, IERROR\fP)
|
||||
INTEGER \fIFH, IERRORCODE, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::File::Call_errhandler(int \fIerrorcode\fP) const
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1.4i
|
||||
fh
|
||||
file with error handler (handle).
|
||||
.ft R
|
||||
.TP 1.4i
|
||||
errorcode
|
||||
MPI error code (integer).
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1.4i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
This function invokes the error handler assigned to the file handle
|
||||
\fIfh\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.
|
||||
.sp
|
||||
Unlike errors on communicators and windows, the default errorhandler
|
||||
for files is MPI_ERRORS_RETURN.
|
||||
|
||||
.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. C++
|
||||
functions do not return errors. If the default error handler is set to
|
||||
MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism
|
||||
will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
See the MPI man page for a full list of MPI error codes.
|
||||
|
||||
.SH SEE ALSO
|
||||
.ft R
|
||||
.nf
|
||||
MPI_File_create_errhandler
|
||||
MPI_File_set_errhandler
|
||||
|
||||
' @(#)MPI_File_call_errhandler.3 1.4 06/03/09
|
53
ompi/mpi/man/man3/MPI_File_close.3
Обычный файл
53
ompi/mpi/man/man3/MPI_File_close.3
Обычный файл
@ -0,0 +1,53 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_close 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_close\fP \- Closes a file (collective).
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.nf
|
||||
C Syntax
|
||||
#include <mpi.h>
|
||||
int MPI_File_close(MPI_File \fI*fh\fP)
|
||||
|
||||
Fortran Syntax
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_CLOSE(\fIFH\fP,\fI IERROR\fP)
|
||||
INTEGER FH, IERROR
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::File::Close()
|
||||
|
||||
.SH INPUT/OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
fh
|
||||
File handle (handle).
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_File_close first synchronizes file state, then closes the file
|
||||
associated with
|
||||
.I fh.
|
||||
MPI_File_close is a collective routine. The user is responsible for
|
||||
ensuring that all outstanding requests associated with
|
||||
.I fh
|
||||
have completed before calling MPI_File_close.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
' @(#)MPI_File_close.3 1.25 06/03/09
|
||||
|
80
ompi/mpi/man/man3/MPI_File_create_errhandler.3
Обычный файл
80
ompi/mpi/man/man3/MPI_File_create_errhandler.3
Обычный файл
@ -0,0 +1,80 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_create_errhandler 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_create_errhandler \fP \- Creates an MPI-style error handler that can be attached to a file.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_File_create_errhandler(MPI_File_errhandler_fn \fI*function\fP,
|
||||
MPI_Errhandler \fI*errhandler\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_CREATE_ERRHANDLER(\fIFUNCTION, ERRHANDLER, IERROR\fP)
|
||||
EXTERNAL \fIFUNCTION\fP
|
||||
INTEGER \fIERRHANDLER, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
#include <mpi.h>
|
||||
static MPI::Errhandler
|
||||
MPI::File::Create_errhandler(MPI::File::Errhandler_fn*
|
||||
\fIfunction\fP)
|
||||
|
||||
.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
|
||||
Registers the user routine \fIfunction\fP for use as an MPI exception handler. Returns in errhandler a handle to the registered exception handler.
|
||||
.sp
|
||||
In the C language, the user routine \fIfunction\fP should be a C function of type MPI_File_errhandler_fn, which is defined as
|
||||
.sp
|
||||
.nf
|
||||
typedef void (MPI_File_errhandler_fn)(MPI_File *, int *,
|
||||
\&...);
|
||||
.fi
|
||||
.sp
|
||||
The first argument to \fIfunction\fP is the file in use. The second is the error code
|
||||
to be returned by the MPI routine that raised the error.
|
||||
.sp
|
||||
In the Fortran language, the user routine should be of the form:
|
||||
.sp
|
||||
.nf
|
||||
SUBROUTINE FILE_ERRHANDLER_FN(FILE, ERROR_CODE, ...)
|
||||
INTEGER FILE, ERROR_CODE
|
||||
.fi
|
||||
.sp
|
||||
In C++, the user routine \fIfunction\fP should be of the form:
|
||||
.sp
|
||||
.nf
|
||||
typedef void MPI::File::Errhandler_fn(MPI::File &, int *,
|
||||
...);
|
||||
.fi
|
||||
.sp
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
' @(#)MPI_File_create_errhandler.3 1.19 06/03/09
|
||||
|
53
ompi/mpi/man/man3/MPI_File_delete.3
Обычный файл
53
ompi/mpi/man/man3/MPI_File_delete.3
Обычный файл
@ -0,0 +1,53 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_delete 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_delete\fP \- Deletes a file.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.nf
|
||||
C Syntax
|
||||
#include <mpi.h>
|
||||
int MPI_File_delete(char \fI*filename\fP, MPI_Info \fIinfo\fP)
|
||||
|
||||
Fortran Syntax
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_DELETE(\fIFILENAME\fP, \fIINFO\fP, \fIIERROR\fP)
|
||||
CHARACTER*(*) \fIFILENAME\fP
|
||||
INTEGER \fIINFO, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
static void MPI::File::Delete(const char* \fIfilename\fP, const
|
||||
MPI::Info& \fIinfo\fP)
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
filename
|
||||
Name of file to delete (string).
|
||||
.TP 1i
|
||||
info
|
||||
Info object (handle).
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_File_delete deletes the file identified by the file name
|
||||
\fIfilename\fP, provided it is not currently open by any process. It is an error to delete the file with MPI_File_delete if some process has it open, but MPI_File_delete does not check this. If the file does not exist, MPI_File_delete returns an error in the class MPI_ERR_NO_SUCH_FILE.
|
||||
.sp
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
|
2
ompi/mpi/man/man3/MPI_File_f2c.3
Обычный файл
2
ompi/mpi/man/man3/MPI_File_f2c.3
Обычный файл
@ -0,0 +1,2 @@
|
||||
.so man3/MPI_Comm_f2c.3
|
||||
' @(#)MPI_File_f2c.3 1.11 06/03/09
|
54
ompi/mpi/man/man3/MPI_File_get_amode.3
Обычный файл
54
ompi/mpi/man/man3/MPI_File_get_amode.3
Обычный файл
@ -0,0 +1,54 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_get_amode 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_get_amode\fP \- Returns access mode associated with an open file.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.nf
|
||||
C Syntax
|
||||
#include <mpi.h>
|
||||
int MPI_File_get_amode(MPI_File \fIfh\fP, int \fI*amode\fP)
|
||||
|
||||
Fortran Syntax
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_GET_AMODE(\fIFH\fP,\fI AMODE\fP, \fI IERROR\fP)
|
||||
INTEGER FH, AMODE, IERROR
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI::File::Get_amode() const
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
fh
|
||||
File handle (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
amode
|
||||
File access mode used to open the file (integer).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
|
||||
MPI_File_get_amode returns, in
|
||||
.I amode,
|
||||
the access mode associated with the open file
|
||||
.I fh.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
' @(#)MPI_File_get_amode.3 1.8 97/08/26
|
||||
' @(#)MPI_File_get_amode.3 1.31 06/03/09
|
59
ompi/mpi/man/man3/MPI_File_get_atomicity.3
Обычный файл
59
ompi/mpi/man/man3/MPI_File_get_atomicity.3
Обычный файл
@ -0,0 +1,59 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_get_atomicity 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_get_atomicity\fP \- Returns current consistency semantics for data-access operations.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.nf
|
||||
C Syntax
|
||||
#include <mpi.h>
|
||||
int MPI_File_get_atomicity(MPI_File \fIfh\fP, int \fI*flag\fP)
|
||||
|
||||
Fortran Syntax
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_GET_ATOMICITY(\fIFH\fP,\fI FLAG\fP,\fI IERROR\fP)
|
||||
INTEGER \FIFH, IERROR\FP
|
||||
LOGICAL \FIFLAG\FP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
bool MPI::File::Get_atomicity() const
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
fh
|
||||
File handle (handle).
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
flag
|
||||
true if atomic mode is enabled, false if nonatomic mode is enabled (boolean).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_File_get_atomicity returns the current consistency semantics for
|
||||
data access operations on the set of file handles created by one
|
||||
collective MPI_File_open. If \fIflag\fP is
|
||||
.I true,
|
||||
atomic mode is currently enabled; if
|
||||
.I flag
|
||||
is
|
||||
.I false,
|
||||
nonatomic mode is currently enabled.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
' @(#)MPI_File_get_atomicity.3 1.8 97/08/26
|
||||
' @(#)MPI_File_get_atomicity.3 1.31 06/03/09
|
72
ompi/mpi/man/man3/MPI_File_get_byte_offset.3
Обычный файл
72
ompi/mpi/man/man3/MPI_File_get_byte_offset.3
Обычный файл
@ -0,0 +1,72 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_get_byte_offset 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_get_byte_offset\fP \- Converts a view-relative offset into an absolute byte position.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.nf
|
||||
C Syntax
|
||||
#include <mpi.h>
|
||||
int MPI_File_get_byte_offset(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP,
|
||||
MPI_Offset \fI*disp\fP)
|
||||
|
||||
Fortran Syntax (see FORTRAN 77 NOTES)
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_GET_BYTE_OFFSET(\fIFH\fP, \fIOFFSET\fP, \fIDISP\fP,\fI IERROR\fP)
|
||||
INTEGER \fIFH, IERROR\fP
|
||||
INTEGER(KIND=MPI_OFFSET_KIND) \fIOFFSET, DISP\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
MPI::Offset MPI::File::Get_byte_offset(const MPI::Offset \fIdisp\fP)
|
||||
const
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
fh
|
||||
File handle (handle).
|
||||
.ft R
|
||||
.TP 1i
|
||||
offset
|
||||
Offset (integer).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
disp
|
||||
Absolute byte position of offset (integer).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_File_get_byte_offset converts an offset specified for the current view to its corresponding displacement value, or absolute byte position, from the beginning of the file. The absolute byte position of \fIoffset\fP relative to the current view of \fIfh\fP is returned in \fIdisp\fP.
|
||||
|
||||
.SH FORTRAN 77 NOTES
|
||||
.ft R
|
||||
The MPI standard prescribes portable Fortran syntax for
|
||||
the \fIOFFSET\fP and \fIDISP\fP arguments only for Fortran 90. FORTRAN 77
|
||||
users may use the non-portable syntax
|
||||
.sp
|
||||
.nf
|
||||
INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP
|
||||
or
|
||||
INTEGER*MPI_OFFSET_KIND \fIDISP\fP
|
||||
.fi
|
||||
.sp
|
||||
where MPI_OFFSET_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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
|
||||
' @(#)MPI_File_get_byte_offset.3 1.22 06/03/09
|
52
ompi/mpi/man/man3/MPI_File_get_errhandler.3
Обычный файл
52
ompi/mpi/man/man3/MPI_File_get_errhandler.3
Обычный файл
@ -0,0 +1,52 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_get_errhandler 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_get_errhandler \fP \- Gets the error handler for a file.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.SH C Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
int MPI_File_get_errhandler(MPI_File \fIfile\fP, MPI_Errhandler\fI
|
||||
*errhandler\fP)
|
||||
|
||||
.SH Fortran Syntax
|
||||
.nf
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_GET_ERRHANDLER(\fIFILE, ERRHANDLER, IERROR\fP)
|
||||
INTEGER \fIFILE, ERRHANDLER, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
#include <mpi.h>
|
||||
.nf
|
||||
MPI::Errhandler MPI::File::Get_errhandler() const
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
file
|
||||
File (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
errhandler
|
||||
MPI error handler currently associated with file (handle).
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
Returns in \fIerrhandler\fP (a handle to) the error handler that is currently associated with file \fIfile\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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
' @(#)MPI_File_get_errhandler.3 1.19 06/03/09
|
56
ompi/mpi/man/man3/MPI_File_get_group.3
Обычный файл
56
ompi/mpi/man/man3/MPI_File_get_group.3
Обычный файл
@ -0,0 +1,56 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_get_group 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_get_group\fP \- Returns a duplicate of the process group of a file.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.nf
|
||||
C Syntax
|
||||
#include <mpi.h>
|
||||
int MPI_File_get_group(MPI_File \fIfh\fP, MPI_Group \fI*group\fP)
|
||||
|
||||
Fortran Syntax
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_GET_GROUP(\fIFH\fP,\fI GROUP\fP, \fI IERROR\fP)
|
||||
INTEGER FH, GROUP, IERROR
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
MPI::Group MPI::File::Get_group() const
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
fh
|
||||
File handle (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.TP 1i
|
||||
group
|
||||
Group that opened the file (handle).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_File_get_group returns a duplicate of the group of the communicator
|
||||
used to open the file associated with
|
||||
.I fh.
|
||||
The group is returned in
|
||||
.I group.
|
||||
The user is responsible for freeing
|
||||
.I group,
|
||||
using MPI_Group_free.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
' @(#)MPI_File_get_group.3 1.8 97/08/26
|
||||
' @(#)MPI_File_get_group.3 1.31 06/03/09
|
91
ompi/mpi/man/man3/MPI_File_get_info.3
Обычный файл
91
ompi/mpi/man/man3/MPI_File_get_info.3
Обычный файл
@ -0,0 +1,91 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_get_info 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_get_info\fP \- Returns a new info object containing values for current hints associated with a file.
|
||||
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.nf
|
||||
C Syntax
|
||||
#include <mpi.h>
|
||||
int MPI_File_get_info(MPI_File \fIfh\fP, MPI_Info \fI*info_used\fP)
|
||||
|
||||
Fortran Syntax
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_GET_INFO(\fIFH\fP, \fIINFO_USED\fP, \fIIERROR\fP)
|
||||
INTEGER FH, INFO_USED, IERROR
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
MPI::Info MPI::File::Get_info() const
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
fh
|
||||
File handle (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
info_used
|
||||
New info object (handle).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_File_get_info returns a new info object containing all the hints that the system currently associates with the file \fIfh\fP. The current setting of all hints actually used by the system related to this open file is returned in \fIinfo_used\fP. The user is responsible for freeing \fIinfo_used\fP via MPI_Info_free.
|
||||
|
||||
Note that the set of hints returned in \fIinfo_used\fP may be greater or smaller than the set of hints passed in to MPI_File_open, MPI_File_set_view, and MPI_File_set_info, as the system may not recognize some hints set by the user, and may automatically set other hints that the user has not requested to be set. See the HINTS section for a list of hints that can be set.
|
||||
|
||||
.SH HINTS
|
||||
.ft R
|
||||
The following hints can be used as values for the \fIinfo_used\fP argument.
|
||||
.sp
|
||||
SETTABLE HINTS:
|
||||
.sp
|
||||
- shared_file_timeout: Amount of time (in seconds) to wait for access to the
|
||||
shared file pointer before exiting with MPI_ERR_TIMEDOUT.
|
||||
.sp
|
||||
- rwlock_timeout: Amount of time (in seconds) to wait for obtaining a read or
|
||||
write lock on a contiguous chunk of a UNIX file before exiting with MPI_ERR_TIMEDOUT.
|
||||
.sp
|
||||
- noncoll_read_bufsize: Maximum size of the buffer used by
|
||||
MPI I/O to satisfy read requests in
|
||||
the noncollective data-access routines. (See NOTE, below.)
|
||||
.sp
|
||||
- noncoll_write_bufsize: Maximum size of the buffer used by
|
||||
MPI I/O to satisfy write requests in
|
||||
the noncollective data-access routines. (See NOTE, below.)
|
||||
.sp
|
||||
- coll_read_bufsize: Maximum size of the buffer used by MPI
|
||||
I/O to satisfy read requests in the
|
||||
collective data-access routines. (See NOTE, below.)
|
||||
.sp
|
||||
- coll_write_bufsize: Maximum size of the buffer used by MPI
|
||||
I/O to satisfy write requests in the
|
||||
collective data-access routines. (See NOTE, below.)
|
||||
.sp
|
||||
NOTE: A buffer size smaller than the distance (in bytes) in a UNIX file between the first byte and the last byte of the access request causes MPI I/O to iterate and perform multiple UNIX read() or write() calls. If the request includes multiple noncontiguous chunks of data, and the buffer size is greater than the size of those chunks, then the UNIX read() or write() (made at the MPI I/O level) will access data not requested by this process in order to reduce the total number of write() calls made. If this is not desirable behavior, you should reduce this buffer size to equal the size of the contiguous chunks within the aggregate request.
|
||||
.sp
|
||||
- mpiio_concurrency: (boolean) controls whether nonblocking
|
||||
I/O routines can bind an extra thread to an LWP.
|
||||
.sp
|
||||
- mpiio_coll_contiguous: (boolean) controls whether subsequent collective data accesses will request collectively contiguous regions of the file.
|
||||
.sp
|
||||
NON-SETTABLE HINTS:
|
||||
.sp
|
||||
- filename: Access this hint to get the name of the file.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
' @(#)MPI_File_get_info.3 1.25 06/03/09
|
67
ompi/mpi/man/man3/MPI_File_get_position.3
Обычный файл
67
ompi/mpi/man/man3/MPI_File_get_position.3
Обычный файл
@ -0,0 +1,67 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_get_position 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_get_position\fP \- Returns the current position of the individual file pointer.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.nf
|
||||
C Syntax
|
||||
#include <mpi.h>
|
||||
int MPI_File_get_position(MPI_File \fIfh\fP, MPI_Offset \fI*offset\fP)
|
||||
|
||||
Fortran Syntax (see FORTRAN 77 NOTES)
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_GET_POSITION(\fIFH\fP,\fI OFFSET\fP,\fI IERROR\fP)
|
||||
INTEGER \fIFH, IERROR\fP
|
||||
INTEGER(KIND=MPI_OFFSET_KIND) \fIOFFSET\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
MPI::Offset MPI::File::Get_position() const
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
fh
|
||||
File handle (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
offset
|
||||
Offset of the individual file pointer (integer).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_File_get_position returns, in
|
||||
.I offset,
|
||||
the current position of the individual file pointer in
|
||||
.I etype
|
||||
units relative to the current displacement and file type.
|
||||
|
||||
.SH FORTRAN 77 NOTES
|
||||
.ft R
|
||||
The MPI standard prescribes portable Fortran syntax for
|
||||
the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77
|
||||
users may use the non-portable syntax
|
||||
.sp
|
||||
.nf
|
||||
INTEGER*MPI_OFFSET_KIND \fIOFFSET\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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
' @(#)MPI_File_get_position.3 1.31 06/03/09
|
67
ompi/mpi/man/man3/MPI_File_get_position_shared.3
Обычный файл
67
ompi/mpi/man/man3/MPI_File_get_position_shared.3
Обычный файл
@ -0,0 +1,67 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_get_position_shared 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_get_position_shared\fP \- Returns the current position of the shared file pointer.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.nf
|
||||
C Syntax
|
||||
#include <mpi.h>
|
||||
int MPI_File_get_position_shared(MPI_File \fIfh\fP, MPI_Offset \fI*offset\fP)
|
||||
|
||||
Fortran Syntax (see FORTRAN 77 NOTES)
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_GET_POSITION_SHARED(\fIFH\fP,\fI OFFSET\fP,\fI IERROR\fP)
|
||||
INTEGER \fIFH, IERROR\fP
|
||||
INTEGER(KIND=MPI_OFFSET_KIND) \fIOFFSET\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
MPI::Offset MPI::File::Get_position_shared() const
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
fh
|
||||
File handle (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
offset
|
||||
Offset of the shared file pointer (integer).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_File_get_position_shared returns, in
|
||||
.I offset,
|
||||
the current position of the shared file pointer in
|
||||
.I etype
|
||||
units relative to the current displacement and file type.
|
||||
|
||||
.SH FORTRAN 77 NOTES
|
||||
.ft R
|
||||
The MPI standard prescribes portable Fortran syntax for
|
||||
the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77
|
||||
users may use the non-portable syntax
|
||||
.sp
|
||||
.nf
|
||||
INTEGER*MPI_OFFSET_KIND \fIOFFSET\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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
' @(#)MPI_File_get_position_shared.3 1.31 06/03/09
|
71
ompi/mpi/man/man3/MPI_File_get_size.3
Обычный файл
71
ompi/mpi/man/man3/MPI_File_get_size.3
Обычный файл
@ -0,0 +1,71 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_get_size 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_get_size\fP \- Returns the current size of the file.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.nf
|
||||
C Syntax
|
||||
#include <mpi.h>
|
||||
int MPI_File_get_size(MPI_File \fIfh\fP, MPI_Offset \fI*size\fP)
|
||||
|
||||
Fortran Syntax (see FORTRAN 77 NOTES)
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_GET_SIZE(\fIFH\fP,\fI SIZE\fP, \fI IERROR\fP)
|
||||
INTEGER \fIFH, ERROR\fP
|
||||
INTEGER(KIND=MPI_OFFSET_KIND) \fISIZE\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
MPI::Offset MPI::File::Get_size() const
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
fh
|
||||
File handle (handle).
|
||||
.TP 1i
|
||||
size
|
||||
Size of the file in bytes (integer).
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_File_get_size returns, in
|
||||
.I size
|
||||
, the current size in bytes of the file associated with the file handle
|
||||
\fIfh\fP. Note that the file size returned may not represent the number of bytes physically allocated for the file in those cases where all bytes in this file have not been written at least once.
|
||||
|
||||
.SH FORTRAN 77 NOTES
|
||||
.ft R
|
||||
The MPI standard prescribes portable Fortran syntax for
|
||||
the \fISIZE\fP argument only for Fortran 90. FORTRAN 77
|
||||
users may use the non-portable syntax
|
||||
.sp
|
||||
.nf
|
||||
INTEGER*MPI_OFFSET_KIND \fISIZE\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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
.SH SEE ALSO
|
||||
.br
|
||||
MPI_File_preallocate
|
||||
.br
|
||||
|
||||
' @(#)MPI_File_get_size.3 1.31 06/03/09
|
74
ompi/mpi/man/man3/MPI_File_get_type_extent.3
Обычный файл
74
ompi/mpi/man/man3/MPI_File_get_type_extent.3
Обычный файл
@ -0,0 +1,74 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_get_type_extent 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_get_type_extent\fP \- Returns the extent of the data type in a file.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.nf
|
||||
C Syntax
|
||||
#include <mpi.h>
|
||||
int MPI_File_get_type_extent(MPI_File \fIfh\fP, MPI_Datatype
|
||||
\fIdatatype\fP, MPI_Aint \fI*extent\fP)
|
||||
|
||||
Fortran Syntax (see FORTRAN 77 NOTES)
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_GET_TYPE_EXTENT(\fIFH\fP, \fIDATATYPE\fP, \fIEXTENT\fP, \fI IERROR\fP)
|
||||
INTEGER \fIFH, DATATYPE, IERROR\fP
|
||||
INTEGER(KIND=MPI_ADDRESS_KIND) \fIEXTENT\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
MPI::Aint MPI::File::Get_type_extent(const MPI::Datatype&
|
||||
\fIdatatype\fP) const
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
fh
|
||||
File handle (handle).
|
||||
.ft R
|
||||
.TP 1i
|
||||
datatype
|
||||
Data type (handle).
|
||||
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
extent
|
||||
Data type extent (integer).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_File_get_type_extent can be used to calculate \fIextent\fP for \fIdatatype\fP in the file. The extent is the same for all processes accessing the file associated with \fIfh\fP. If the current view uses a user-defined data representation, MPI_File_get_type_extent uses the \fIdtype_file_extent_fn\fP callback to calculate the extent.
|
||||
|
||||
.SH FORTRAN 77 NOTES
|
||||
.ft R
|
||||
The MPI standard prescribes portable Fortran syntax for
|
||||
the \fIEXTENT\fP argument only for Fortran 90. FORTRAN 77
|
||||
users may use the non-portable syntax
|
||||
.sp
|
||||
.nf
|
||||
INTEGER*MPI_ADDRESS_KIND \fIEXTENT\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 NOTES
|
||||
.ft R
|
||||
If the file data representation is other than "native," care must be taken in constructing etypes and file types. Any of the data-type constructor functions may be used; however, for those functions that accept displacements in bytes, the displacements must be specified in terms of their values in the file for the file data representation being used. MPI will interpret these byte displacements as is; no scaling will be done. The function MPI_File_get_type_extent can be used to calculate the extents of data types in the file. For etypes and file types that are portable data types, MPI will scale any displacements in the data types to match the file data representation. Data types passed as arguments to read/write routines specify the data layout in memory; therefore, they must always be constructed using displacements corresponding to displacements in memory.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
' @(#)MPI_File_get_type_extent.3 1.22 06/03/09
|
88
ompi/mpi/man/man3/MPI_File_get_view.3
Обычный файл
88
ompi/mpi/man/man3/MPI_File_get_view.3
Обычный файл
@ -0,0 +1,88 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_get_view 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_get_view\fP \- Returns the process's view of data in the file.
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.nf
|
||||
C Syntax
|
||||
#include <mpi.h>
|
||||
int MPI_File_get_view(MPI_File \fIfh\fP, MPI_Offset \fI*disp\fP,
|
||||
MPI_Datatype \fI*etype\fP, MPI_Datatype \fI*filetype\fP,
|
||||
char \fI*datarep\fP)
|
||||
|
||||
Fortran Syntax (see FORTRAN 77 NOTES)
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_GET_VIEW(\fIFH\fP,\fI DISP\fP,\fI ETYPE\fP,
|
||||
\fI FILETYPE\fP, \fIDATAREP\fP, \fI IERROR\fP)
|
||||
INTEGER \fIFH, ETYPE, FILETYPE, IERROR\fP
|
||||
CHARACTER*(*) \fIDATAREP\fP
|
||||
INTEGER(KIND=MPI_OFFSET_KIND) \fIDISP\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::File::Get_view(MPI::Offset& \fIdisp\fP,
|
||||
MPI::Datatype& \fIetype\fP,
|
||||
MPI::Datatype& \fIfiletype\fP, char* \fIdatarep\fP) const
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
fh
|
||||
File handle (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
disp
|
||||
Displacement (integer).
|
||||
.TP 1i
|
||||
etype
|
||||
Elementary data type (handle).
|
||||
.TP 1i
|
||||
filetype
|
||||
File type (handle). See Restrictions, below.
|
||||
.TP 1i
|
||||
datarep
|
||||
Data representation (string).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
The MPI_File_get_view routine returns the process's view of the data
|
||||
in the file. The current values of the displacement, etype, and
|
||||
filetype are returned in
|
||||
.I disp,
|
||||
.I etype,
|
||||
and
|
||||
.I filetype,
|
||||
respectively.
|
||||
.sp
|
||||
The MPI_File_get_view interface allows the user to pass a data-representation string via the \fIdatarep\fP argument.
|
||||
|
||||
.SH FORTRAN 77 NOTES
|
||||
.ft R
|
||||
The MPI standard prescribes portable Fortran syntax for
|
||||
the \fIDISP\fP argument only for Fortran 90. FORTRAN 77
|
||||
users may use the non-portable syntax.
|
||||
.sp
|
||||
.nf
|
||||
INTEGER*MPI_OFFSET_KIND \fIDISP\fP
|
||||
.fi
|
||||
.sp
|
||||
where MPI_OFFSET_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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
' @(#)MPI_File_get_view.3 1.8 97/08/26
|
||||
' @(#)MPI_File_get_view.3 1.33 06/03/09
|
80
ompi/mpi/man/man3/MPI_File_iread.3
Обычный файл
80
ompi/mpi/man/man3/MPI_File_iread.3
Обычный файл
@ -0,0 +1,80 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_iread 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_iread\fP \- Reads a file starting at the location specified by the individual file pointer (nonblocking, noncollective).
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.nf
|
||||
C Syntax
|
||||
#include <mpi.h>
|
||||
int MPI_File_iread(MPI_File \fIfh\fP, void \fI*buf\fP, int \fIcount\fP,
|
||||
MPI_Datatype \fIdatatype\fP, MPI_Request \fI*request\fP)
|
||||
|
||||
Fortran Syntax
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_IREAD(\fIFH\fP, \fIBUF\fP, \fICOUNT\fP, \fIDATATYPE\fP, \fIREQUEST\fP,\fI IERROR\fP)
|
||||
<type> BUF(*)
|
||||
INTEGER FH, COUNT, DATATYPE, REQUEST, IERROR
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
MPI::Request MPI::File::Iread(void* \fIbuf\fP, int \fIcount\fP,
|
||||
const MPI::Datatype& \fIdatatype\fP)
|
||||
|
||||
.SH INPUT/OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
fh
|
||||
File handle (handle).
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
count
|
||||
Number of elements in the buffer (integer).
|
||||
.ft R
|
||||
.TP 1i
|
||||
datatype
|
||||
Data type of each buffer element (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
buf
|
||||
Initial address of buffer (choice).
|
||||
.ft R
|
||||
.TP 1i
|
||||
request
|
||||
Request object (handle).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_File_iread is a nonblocking version of MPI_File_read. It attempts to read from the file associated with
|
||||
.I fh
|
||||
at the current individual file pointer position maintained by the system in which a total number of
|
||||
.I count
|
||||
data items having
|
||||
.I datatype
|
||||
type are read into the user's buffer
|
||||
.I buf.
|
||||
The data is taken out of those parts of the
|
||||
file specified by the current view. MPI_File_iread stores the
|
||||
number of data-type elements actually read in
|
||||
.I status.
|
||||
All other fields of
|
||||
.I status
|
||||
are undefined. It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
' @(#)MPI_File_iread.3 1.20 06/03/09
|
106
ompi/mpi/man/man3/MPI_File_iread_at.3
Обычный файл
106
ompi/mpi/man/man3/MPI_File_iread_at.3
Обычный файл
@ -0,0 +1,106 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_iread_at 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_iread_at\fP \- Reads a file at an explicitly specified offset (nonblocking, noncollective).
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.nf
|
||||
C Syntax
|
||||
#include <mpi.h>
|
||||
int MPI_File_iread_at(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP,
|
||||
void \fI*buf\fP, int \fIcount\fP, MPI_Datatype \fIdatatype\fP,
|
||||
MPI_Request \fI*request\fP)
|
||||
|
||||
Fortran Syntax (see FORTRAN 77 NOTES)
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_IREAD_AT(\fIFH\fP, \fIOFFSET\fP, \fIBUF\fP, \fICOUNT\fP, \fIDATATYPE\fP, \fIREQUEST\fP, \fIIERROR\fP)
|
||||
<type> \fIBUF\fP(*)
|
||||
INTEGER \fIFH, COUNT, DATATYPE, REQUEST, IERROR\fP
|
||||
INTEGER(KIND=MPI_OFFSET_KIND) \fIOFFSET\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
MPI::Request MPI::File::Iread_at(MPI::Offset \fIoffset\fP, void* \fIbuf\fP,
|
||||
int \fIcount\fP, const MPI::Datatype& \fIdatatype\fP)
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
fh
|
||||
File handle (handle).
|
||||
.ft R
|
||||
.TP 1i
|
||||
offset
|
||||
File offset (integer).
|
||||
.ft R
|
||||
.TP 1i
|
||||
count
|
||||
Number of elements in the buffer (integer).
|
||||
.ft R
|
||||
.TP 1i
|
||||
datatype
|
||||
Data type of each buffer element (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
buf
|
||||
Initial address of the buffer (choice).
|
||||
.ft R
|
||||
.TP 1i
|
||||
request
|
||||
Request object (handle).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_File_iread_at is the nonblocking version of MPI_File_read_at.
|
||||
|
||||
MPI_File_iread_at is a nonblocking routine that attempts to read from the file associated with
|
||||
.I fh
|
||||
at the
|
||||
.I offset
|
||||
position a total number of
|
||||
.I count
|
||||
data items having
|
||||
.I datatype
|
||||
type into the user's buffer
|
||||
.I buf.
|
||||
The
|
||||
.I offset
|
||||
is in etype units relative to the current view. That is, holes are not counted
|
||||
when locating an offset. The data is taken out of those parts of the
|
||||
file specified by the current view. MPI_File_iread_at stores the
|
||||
number of
|
||||
.I datatype
|
||||
elements actually read in
|
||||
.I status.
|
||||
All other fields of
|
||||
.I status
|
||||
are undefined.
|
||||
|
||||
.SH FORTRAN 77 NOTES
|
||||
.ft R
|
||||
The MPI standard prescribes portable Fortran syntax for
|
||||
the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77
|
||||
users may use the non-portable syntax
|
||||
.sp
|
||||
.nf
|
||||
INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP
|
||||
.fi
|
||||
.sp
|
||||
where MPI_OFFSET_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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
' @(#)MPI_File_iread_at.3 1.22 06/03/09
|
66
ompi/mpi/man/man3/MPI_File_iread_shared.3
Обычный файл
66
ompi/mpi/man/man3/MPI_File_iread_shared.3
Обычный файл
@ -0,0 +1,66 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_iread_shared 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_iread_shared\fP \- Reads a file using the shared file pointer (nonblocking, noncollective).
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.nf
|
||||
C Syntax
|
||||
#include <mpi.h>
|
||||
int MPI_File_iread_shared(MPI_File \fIfh\fP, void \fI*buf\fP, int \fIcount\fP,
|
||||
MPI_Datatype \fIdatatype\fP, MPI_Request \fI*request\fP)
|
||||
|
||||
Fortran Syntax
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_IREAD_SHARED(\fIFH\fP, \fIBUF\fP, \fICOUNT\fP, \fIDATATYPE\fP, \fIREQUEST\fP,\fI IERROR\fP)
|
||||
<type> BUF(*)
|
||||
INTEGER FH, COUNT, DATATYPE, REQUEST, IERROR
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
MPI::Request MPI::File::Iread_shared(void* \fIbuf\fP, int \fIcount\fP,
|
||||
const MPI::Datatype& \fIdatatype\fP)
|
||||
|
||||
.SH INPUT/OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
fh
|
||||
File handle (handle).
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
count
|
||||
Number of elements in buffer (integer).
|
||||
.ft R
|
||||
.TP 1i
|
||||
datatype
|
||||
Data type of each buffer element (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
buf
|
||||
Initial address of buffer (choice).
|
||||
.ft R
|
||||
.TP 1i
|
||||
request
|
||||
Request object (handle).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_File_iread_shared is a nonblocking version of the MPI_File_read_shared interface. It uses the shared file pointer to read files. The order of serialization among the processors is not deterministic for this noncollective routine, so you need to use other methods of synchronization to impose a particular order among processors.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
' @(#)MPI_File_iread_shared.3 1.20 06/03/09
|
84
ompi/mpi/man/man3/MPI_File_iwrite.3
Обычный файл
84
ompi/mpi/man/man3/MPI_File_iwrite.3
Обычный файл
@ -0,0 +1,84 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_iwrite 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_iwrite\fP \- Writes a file starting at the location specified by the individual file pointer (nonblocking, noncollective).
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.nf
|
||||
C Syntax
|
||||
#include <mpi.h>
|
||||
int MPI_File_iwrite(MPI_File \fIfh\fP, void \fI*buf\fP, int \fIcount\fP,
|
||||
MPI_Datatype \fIdatatype\fP, MPI_Request \fI*request\fP)
|
||||
|
||||
Fortran Syntax
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_IWRITE(\fIFH\fP, \fIBUF\fP, \fICOUNT\fP, \fIDATATYPE\fP, \fIREQUEST\fP,\fI IERROR\fP)
|
||||
<TYPE> BUF(*)
|
||||
INTEGER FH, COUNT, DATATYPE, REQUEST, IERROR
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
MPI::Request MPI::File::Iwrite(const void* \fIbuf\fP, int \fIcount\fP,
|
||||
const MPI::Datatype& \fIdatatype\fP)
|
||||
|
||||
.SH INPUT/OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
fh
|
||||
File handle (handle).
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
buf
|
||||
Initial address of buffer (choice).
|
||||
.ft R
|
||||
.TP 1i
|
||||
count
|
||||
Number of elements in buffer (integer).
|
||||
.ft R
|
||||
.TP 1i
|
||||
datatype
|
||||
Data type of each buffer element (handle).
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
request
|
||||
Request object (handle).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_File_iwrite is a nonblocking version of the MPI_File_write interface. It attempts to write into the file associated with
|
||||
.I fh
|
||||
(at the current individual file pointer position maintained by the system) a total number of
|
||||
.I count
|
||||
data items having
|
||||
.I datatype
|
||||
type from the user's buffer
|
||||
.I buf.
|
||||
The data is written into those parts of the
|
||||
file specified by the current view. MPI_File_iwrite stores the
|
||||
number of
|
||||
.I datatype
|
||||
elements actually written in
|
||||
.I status.
|
||||
All other fields of
|
||||
.I status
|
||||
are undefined.
|
||||
.sp
|
||||
It is erroneous to call this function if MPI_MODE_SEQENTIAL mode was specified when the file was open.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
' @(#)MPI_File_iwrite.3 1.20 06/03/09
|
107
ompi/mpi/man/man3/MPI_File_iwrite_at.3
Обычный файл
107
ompi/mpi/man/man3/MPI_File_iwrite_at.3
Обычный файл
@ -0,0 +1,107 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_iwrite_at 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_iwrite_at\fP \- Writes a file at an explicitly specified offset (nonblocking, noncollective).
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.nf
|
||||
C Syntax
|
||||
#include <mpi.h>
|
||||
int MPI_File_iwrite_at(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP,
|
||||
void \fI*buf\fP, int \fIcount\fP, MPI_Datatype \fIdatatype\fP, MPI_Request \fI*request\fP)
|
||||
|
||||
Fortran Syntax (see FORTRAN 77 NOTES)
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_IWRITE_AT(\fIFH\fP, \fIOFFSET\fP, \fIBUF\fP, \fICOUNT\fP, \fIDATATYPE\fP, \fIREQUEST\fP, \fIIERROR\fP)
|
||||
<type> \fIBUF\fP(*)
|
||||
INTEGER \fIFH, COUNT, DATATYPE, REQUEST, IERROR\fP
|
||||
INTEGER(KIND=MPI_OFFSET_KIND) \fIOFFSET\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
MPI::Request MPI::File::Iwrite_at(MPI::Offset \fIoffset\fP, const void* \fIbuf\fP,
|
||||
int \fIcount\fP, const MPI::Datatype& \fIdatatype\fP)
|
||||
|
||||
.SH INPUT/OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
fh
|
||||
File handle (handle).
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
offset
|
||||
File offset (integer).
|
||||
.ft R
|
||||
.TP 1i
|
||||
buf
|
||||
Initial address of buffer (choice).
|
||||
.ft R
|
||||
.TP 1i
|
||||
count
|
||||
Number of elements in buffer (integer).
|
||||
.ft R
|
||||
.TP 1i
|
||||
datatype
|
||||
Data type of each buffer element (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
request
|
||||
Request object (handle).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_File_iwrite_at is a nonblocking version of MPI_File_write_at. It attempts to write into the file associated with
|
||||
.I fh
|
||||
(at the
|
||||
.I offset
|
||||
position) a total number of
|
||||
.I count
|
||||
data items having
|
||||
.I datatype
|
||||
type from the user's buffer
|
||||
.I buf.
|
||||
The offset is in
|
||||
.I etype
|
||||
units relative to the current view. That is, holes are not counted
|
||||
when locating an offset. The data is written into those parts of the
|
||||
file specified by the current view. MPI_File_iwrite_at stores the
|
||||
number of
|
||||
.I datatype
|
||||
elements actually written in
|
||||
.I status.
|
||||
All other fields of
|
||||
.I status
|
||||
are undefined. The request structure can be passed to MPI_Wait or MPI_Test, which will return a status with the number of bytes actually accessed.
|
||||
.sp
|
||||
It is erroneous to call this function if MPI_MODE_SEQENTIAL mode was specified when the file was open.
|
||||
|
||||
.SH FORTRAN 77 NOTES
|
||||
.ft R
|
||||
The MPI standard prescribes portable Fortran syntax for
|
||||
the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77
|
||||
users may use the non-portable syntax
|
||||
.sp
|
||||
.nf
|
||||
INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP
|
||||
.fi
|
||||
.sp
|
||||
where MPI_OFFSET_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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
' @(#)MPI_File_iwrite_at.3 1.22 06/03/09
|
67
ompi/mpi/man/man3/MPI_File_iwrite_shared.3
Обычный файл
67
ompi/mpi/man/man3/MPI_File_iwrite_shared.3
Обычный файл
@ -0,0 +1,67 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_iwrite_shared 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_iwrite_shared\fP \- Writes a file using the shared file pointer (nonblocking, noncollective).
|
||||
|
||||
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.nf
|
||||
C Syntax
|
||||
#include <mpi.h>
|
||||
int MPI_File_(MPI_File \fIfh\fP, void \fI*buf\fP, int \fIcount\fP, MPI_Datatype
|
||||
\fIdatatype\fP, MPI_Request \fI*request\fP)
|
||||
|
||||
Fortran Syntax
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_File_(\fIFH\fP, \fIBUF\fP, \fICOUNT\fP, \fIDATATYPE\fP, \fIREQUEST\fP,\fI IERROR\fP)
|
||||
<type> BUF(*)
|
||||
INTEGER FH, COUNT, DATATYPE, REQUEST, IERROR
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
MPI::Request MPI::File::Iwrite_shared(const void* \fIbuf\fP, int \fIcount\fP,
|
||||
const MPI::Datatype& \fIdatatype\fP)
|
||||
|
||||
.SH INPUT/OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
fh
|
||||
File handle (handle).
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
count
|
||||
Number of elements in buffer (integer).
|
||||
.ft R
|
||||
.TP 1i
|
||||
datatype
|
||||
Data type of each buffer element (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
buf
|
||||
Initial address of buffer (choice).
|
||||
.TP 1i
|
||||
request
|
||||
Request object (handle).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_File_iwrite_shared is a nonblocking routine that uses the shared file pointer to write files. The order of serialization is not deterministic for this noncollective routine, so you need to use other methods of synchronization to impose a particular order.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
' @(#)MPI_File_iwrite_shared.3 1.20 06/03/09
|
173
ompi/mpi/man/man3/MPI_File_open.3
Обычный файл
173
ompi/mpi/man/man3/MPI_File_open.3
Обычный файл
@ -0,0 +1,173 @@
|
||||
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_open 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_open\fP \- Opens a file (collective).
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.nf
|
||||
C Syntax
|
||||
#include <mpi.h>
|
||||
int MPI_File_open(MPI_Comm \fIcomm\fP, char \fI*filename\fP,
|
||||
int \fIamode\fP, MPI_Info \fIinfo\fP,
|
||||
MPI_File \fI*fh\fP)
|
||||
|
||||
Fortran Syntax
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_OPEN(\fICOMM\fP,\fI FILENAME\fP,\fI AMODE\fP, \fIINFO\fP,\fI FH\fP,\fI IERROR\fP)
|
||||
CHARACTER*(*) FILENAME
|
||||
INTEGER COMM, AMODE, INFO, FH, IERROR
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
static MPI::File MPI::File::Open(const MPI::Intracomm& \fIcomm\fP,
|
||||
const char* \fIfilename\fP, int \fIamode\fP, const MPI::Info& \fIinfo\fP)
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
comm
|
||||
Communicator (handle).
|
||||
.TP 1i
|
||||
filename
|
||||
Name of file to open (string).
|
||||
.TP 1i
|
||||
amode
|
||||
File access mode (integer).
|
||||
.TP 1i
|
||||
info
|
||||
Info object (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
fh
|
||||
New file handle (handle).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_File_open opens the file identified by the filename
|
||||
.I
|
||||
filename
|
||||
on all processes in the
|
||||
.I comm
|
||||
communicator group. MPI_File_open is a collective routine; all processes
|
||||
must provide the same value for
|
||||
.I amode,
|
||||
and all processes must provide filenames that reference the same
|
||||
file and which are textually identical. A process can open a file
|
||||
independently of other processes by using the MPI_COMM_SELF
|
||||
communicator. The file handle returned,
|
||||
.I fh,
|
||||
can be subsequently used to access the file until the file is closed
|
||||
using MPI_File_close. Before calling MPI_Finalize, the user is required to
|
||||
close (via MPI_File_close) all files that were opened with MPI_File_open. Note
|
||||
that the communicator
|
||||
.I comm
|
||||
is unaffected by MPI_File_open and continues to be usable in all MPI
|
||||
routines. Furthermore, use of
|
||||
.I comm
|
||||
will not interfere with I/O behavior.
|
||||
.sp
|
||||
Initially, all processes view the file as a linear byte stream; that is, the
|
||||
.I etype
|
||||
and
|
||||
.I filetype
|
||||
are both MPI_BYTE. The file view can be changed via the MPI_File_set_view routine.
|
||||
.sp
|
||||
The following access modes are supported (specified in amode, in a bit-vector OR in one of the following integer constants):
|
||||
.TP .5i
|
||||
o
|
||||
MPI_MODE_APPEND
|
||||
.TP .5i
|
||||
o
|
||||
MPI_MODE_CREATE -- Create the file if it does not exist.
|
||||
.TP .5i
|
||||
o
|
||||
MPI_MODE_DELETE_ON_CLOSE
|
||||
.TP .5i
|
||||
o
|
||||
MPI_MODE_EXCL -- Error creating a file that already exists.
|
||||
.TP .5i
|
||||
o
|
||||
MPI_MODE_RDONLY -- Read only.
|
||||
.TP .5i
|
||||
o
|
||||
MPI_MODE_RDWR -- Reading and writing.
|
||||
.TP .5i
|
||||
o
|
||||
MPI_MODE_SEQUENTIAL
|
||||
.TP .5i
|
||||
o
|
||||
MPI_MODE_WRONLY -- Write only.
|
||||
.TP .5i
|
||||
o
|
||||
MPI_MODE_UNIQUE_OPEN
|
||||
.RE
|
||||
.sp
|
||||
The modes MPI_MODE_RDONLY, MPI_MODE_RDWR, MPI_MODE_WRONLY, and MPI_MODE_CREATE have
|
||||
identical semantics to their POSIX counterparts. It is erroneous to
|
||||
specify MPI_MODE_CREATE in conjunction with MPI_MODE_RDONLY. Errors related to
|
||||
the access mode are raised in the class MPI_ERR_AMODE.
|
||||
.sp
|
||||
On single-node clusters, files are opened by default using nonatomic mode file consistency
|
||||
semantics. The more stringent atomic-mode consistency semantics, required for atomicity of overlapping accesses, are the default when processors in a communicator group reside on more than one node.
|
||||
This setting can be changed using
|
||||
MPI_File_set_atomicity.
|
||||
.sp
|
||||
The MPI_File_open interface allows the user to pass information via the \fIinfo\fP argument. It can be set to MPI_INFO_NULL. See the HINTS section for a list of hints that can be set.
|
||||
|
||||
.SH HINTS
|
||||
.ft R
|
||||
The following hints can be used as values for the \fIinfo\fP argument.
|
||||
.sp
|
||||
SETTABLE HINTS:
|
||||
.sp
|
||||
- MPI_INFO_NULL
|
||||
.sp
|
||||
- shared_file_timeout: Amount of time (in seconds) to wait for access to the
|
||||
shared file pointer before exiting with MPI_ERR_TIMEDOUT.
|
||||
.sp
|
||||
- rwlock_timeout: Amount of time (in seconds) to wait for obtaining a read or
|
||||
write lock on a contiguous chunk of a UNIX file before exiting with MPI_ERR_TIMEDOUT.
|
||||
.sp
|
||||
- noncoll_read_bufsize: Maximum size of the buffer used by
|
||||
MPI I/O to satisfy multiple noncontiguous read requests in
|
||||
the noncollective data-access routines. (See NOTE, below.)
|
||||
.sp
|
||||
- noncoll_write_bufsize: Maximum size of the buffer used by
|
||||
MPI I/O to satisfy multiple noncontiguous write requests in
|
||||
the noncollective data-access routines. (See NOTE, below.)
|
||||
.sp
|
||||
- coll_read_bufsize: Maximum size of the buffer used by MPI
|
||||
I/O to satisfy multiple noncontiguous read requests in the
|
||||
collective data-access routines. (See NOTE, below.)
|
||||
.sp
|
||||
- coll_write_bufsize: Maximum size of the buffer used by MPI
|
||||
I/O to satisfy multiple noncontiguous write requests in the
|
||||
collective data-access routines. (See NOTE, below.)
|
||||
.sp
|
||||
NOTE: A buffer size smaller than the distance (in bytes) in a UNIX file between the first byte and the last byte of the access request causes MPI I/O to iterate and perform multiple UNIX read() or write() calls. If the request includes multiple noncontiguous chunks of data, and the buffer size is greater than the size of those chunks, then the UNIX read() or write() (made at the MPI I/O level) will access data not requested by this process in order to reduce the total number of write() calls made. If this is not desirable behavior, you should reduce this buffer size to equal the size of the contiguous chunks within the aggregate request.
|
||||
.sp
|
||||
- mpiio_concurrency: (boolean) controls whether nonblocking
|
||||
I/O routines can bind an extra thread to an LWP.
|
||||
.sp
|
||||
- mpiio_coll_contiguous: (boolean) controls whether subsequent collective data accesses will request collectively contiguous regions of the file.
|
||||
.sp
|
||||
NON-SETTABLE HINTS:
|
||||
.sp
|
||||
- filename: Access this hint to get the name of the file.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
' @(#)MPI_File_open.3 1.2 97/08/26
|
||||
' @(#)MPI_File_open.3 1.30 06/03/09
|
76
ompi/mpi/man/man3/MPI_File_preallocate.3
Обычный файл
76
ompi/mpi/man/man3/MPI_File_preallocate.3
Обычный файл
@ -0,0 +1,76 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_preallocate 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_preallocate\fP \- Preallocates a specified amount of storage space at the beginning of a file (collective).
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.nf
|
||||
C Syntax
|
||||
#include <mpi.h>
|
||||
int MPI_File_preallocate(MPI_File \fIfh\fP, MPI_Offset \fIsize\fP)
|
||||
|
||||
Fortran Syntax (see FORTRAN 77 NOTES)
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_PREALLOCATE(\fIFH\fP, \fISIZE\fP, \fIIERROR\fP)
|
||||
INTEGER \fIFH, IERROR\fP
|
||||
INTEGER(KIND=MPI_OFFSET_KIND) \fISIZE\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::File::Preallocate(MPI::Offset \fIsize\fP)
|
||||
|
||||
.SH INPUT/OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
fh
|
||||
File handle (handle).
|
||||
|
||||
.SH INPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
size
|
||||
Size to preallocate file, in bytes (integer).
|
||||
|
||||
.SH OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_File_preallocate ensures that storage space is allocated for the first \fIsize\fP bytes of the file associated with \fIfh\fP. MPI_File_preallocate can be a very time-consuming operation.
|
||||
|
||||
MPI_File_preallocate is collective; all processes in the group must pass identical values for \fIsize\fP. Regions of the file that have previously been written are unaffected. For newly allocated regions of the file, MPI_File_preallocate has the same effect as writing undefined data. If size is larger than the current file size, the file size increases to \fIsize\fP. If \fIsize\fP is less than or equal to the current file size, the file size is unchanged.
|
||||
|
||||
The treatment of file pointers, pending nonblocking accesses, and file consistency is the same as with MPI_File_set_size. If MPI_MODE_SEQUENTIAL mode was specified when the file was opened, it is erroneous to call this routine.
|
||||
|
||||
.SH FORTRAN 77 NOTES
|
||||
.ft R
|
||||
The MPI standard prescribes portable Fortran syntax for
|
||||
the \fISIZE\fP argument only for Fortran 90. FORTRAN 77
|
||||
users may use the non-portable syntax
|
||||
.sp
|
||||
.nf
|
||||
INTEGER*MPI_OFFSET_KIND \fISIZE\fP
|
||||
.fi
|
||||
.sp
|
||||
where MPI_OFFSET_KIND is a constant defined in mpif.h
|
||||
and gives the length of the declared integer in bytes.
|
||||
|
||||
.SH NOTES
|
||||
.ft R
|
||||
When using the collective routine MPI_File_set_size on a UNIX file, if the size that is set is smaller than the current file size, the file is truncated at the position defined by size. If the size is set to be larger than the current file size, the file size becomes the set size. When the file size is increased this way with MPI_File_set_size, new regions are created in the file with displacements between the old file size and the larger, newly set file size.
|
||||
.sp
|
||||
MPI I/O does not necessarily allocate file space for such new regions. You may reserve file space either by using MPI_File_preallocate or by performing a read or write to certain 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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
' @(#)MPI_File_preallocate.3 1.22 06/03/09
|
82
ompi/mpi/man/man3/MPI_File_read.3
Обычный файл
82
ompi/mpi/man/man3/MPI_File_read.3
Обычный файл
@ -0,0 +1,82 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_read 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_read\fP \- Reads a file starting at the location specified by the individual file pointer (blocking, noncollective).
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.nf
|
||||
C Syntax
|
||||
#include <mpi.h>
|
||||
int MPI_File_read(MPI_File \fIfh\fP, void \fI*buf\fP,
|
||||
int \fIcount\fP, MPI_Datatype \fIdatatype\fP, MPI_Status \fI*status\fP)
|
||||
|
||||
Fortran Syntax
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_READ(\fI FH\fP, \fI BUF\fP, \fICOUNT\fP,
|
||||
\fI DATATYPE\fP, \fISTATUS\fP, \fIIERROR\fP)
|
||||
<type> BUF(*)
|
||||
INTEGER FH, COUNT, DATATYPE, STATUS(MPI_STATUS_SIZE),
|
||||
IERROR
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::File::Read(void* \fIbuf\fP, int \fIcount\fP,
|
||||
const MPI::Datatype& \fIdatatype\fP, MPI::Status& \fIstatus\fP)
|
||||
|
||||
void MPI::File::Read(void* \fIbuf\fP, int \fIcount\fP,
|
||||
const MPI::Datatype& \fIdatatype\fP)
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
fh
|
||||
File handle (handle).
|
||||
.TP 1i
|
||||
count
|
||||
Number of elements in buffer (integer).
|
||||
.TP 1i
|
||||
datatype
|
||||
Data type of each buffer element (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
buf
|
||||
Initial address of buffer (integer).
|
||||
.TP 1i
|
||||
status
|
||||
Status object (status).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_File_read attempts to read from the file associated with
|
||||
.I fh
|
||||
(at the current individual file pointer position maintained by the system) a total number of
|
||||
.I count
|
||||
data items having
|
||||
.I datatype
|
||||
type into the user's buffer
|
||||
.I buf.
|
||||
The data is taken out of those parts of the
|
||||
file specified by the current view. MPI_File_read stores the
|
||||
number of data-type elements actually read in
|
||||
.I status.
|
||||
All other fields of
|
||||
.I status
|
||||
are undefined.
|
||||
.sp
|
||||
It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
' @(#)MPI_File_read.3 1.26 06/03/09
|
84
ompi/mpi/man/man3/MPI_File_read_all.3
Обычный файл
84
ompi/mpi/man/man3/MPI_File_read_all.3
Обычный файл
@ -0,0 +1,84 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_read_all 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_read_all\fP \- Reads a file starting at the locations specified by individual file pointers (blocking, collective).
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.nf
|
||||
C Syntax
|
||||
#include <mpi.h>
|
||||
int MPI_File_read_all(MPI_File \fIfh\fP, void \fI*buf\fP,
|
||||
int \fIcount\fP, MPI_Datatype \fIdatatype\fP, MPI_Status \fI*status\fP)
|
||||
|
||||
Fortran Syntax
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_READ_ALL(\fI FH\fP, \fI BUF\fP, \fICOUNT\fP,
|
||||
\fI DATATYPE\fP, \fISTATUS\fP, \fI IERROR\fP)
|
||||
<type> BUF(*)
|
||||
INTEGER FH, COUNT, DATATYPE, STATUS(MPI_STATUS_SIZE),
|
||||
IERROR
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::File::Read_all(void* \fIbuf\fP, int \fIcount\fP,
|
||||
const MPI::Datatype& \fIdatatype\fP, MPI::Status& \fIstatus\fP)
|
||||
|
||||
void MPI::File::Read_all(void* \fIbuf\fP, int \fIcount\fP,
|
||||
const MPI::Datatype& \fIdatatype\fP)
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
fh
|
||||
File handle (handle).
|
||||
.TP 1i
|
||||
count
|
||||
Number of elements in buffer (integer).
|
||||
.TP 1i
|
||||
datatype
|
||||
Data type of each buffer element (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
buf
|
||||
Initial address of buffer (choice).
|
||||
.TP 1i
|
||||
status
|
||||
Status object (status).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_File_read_all is a collective routine that attempts to read from the file associated with
|
||||
.I fh
|
||||
(at the current individual file pointer position maintained by the system) a total number of
|
||||
.I count
|
||||
data items having
|
||||
.I datatype
|
||||
type into the user's buffer
|
||||
.I buf.
|
||||
The data is taken out of those parts of the
|
||||
file specified by the current view. MPI_File_read_all stores the
|
||||
number of data-type elements actually read in
|
||||
.I status.
|
||||
All other fields of
|
||||
.I status
|
||||
are undefined.
|
||||
.sp
|
||||
It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
' @(#)MPI_File_read_all.3 1.2 97/08/26
|
||||
|
||||
' @(#)MPI_File_read_all.3 1.25 06/03/09
|
75
ompi/mpi/man/man3/MPI_File_read_all_begin.3
Обычный файл
75
ompi/mpi/man/man3/MPI_File_read_all_begin.3
Обычный файл
@ -0,0 +1,75 @@
|
||||
.\"Copyright 2006, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
|
||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
||||
.TH MPI_File_read_all_begin 3OpenMPI "September 2006" "Open MPI 1.2" " "
|
||||
.SH NAME
|
||||
\fBMPI_File_read_all_begin\fP \- Reads a file starting at the locations specified by individual file pointers; beginning part of a split collective routine (nonblocking).
|
||||
|
||||
.SH SYNTAX
|
||||
.ft R
|
||||
.nf
|
||||
C Syntax
|
||||
#include <mpi.h>
|
||||
int MPI_File_read_all_begin(MPI_File \fIfh\fP, void \fI*buf\fP,
|
||||
int \fIcount\fP, MPI_Datatype \fIdatatype\fP)
|
||||
|
||||
Fortran Syntax
|
||||
INCLUDE 'mpif.h'
|
||||
MPI_FILE_READ_ALL_BEGIN(\fIFH\fP, \fIBUF\fP, \fICOUNT\fP, \fIDATATYPE\fP,\fI IERROR\fP)
|
||||
<TYPE> \fIBUF\fP(*)
|
||||
INTEGER \fIFH, COUNT, DATATYPE, IERROR\fP
|
||||
|
||||
.SH C++ Syntax
|
||||
.nf
|
||||
#include <mpi.h>
|
||||
void MPI::File::Read_all_begin(void* \fIbuf\fP, int \fIcount\fP,
|
||||
const MPI::Datatype& \fIdatatype\fP)
|
||||
|
||||
.SH INPUT/OUTPUT PARAMETER
|
||||
.ft R
|
||||
.TP 1i
|
||||
fh
|
||||
File handle (handle).
|
||||
|
||||
.SH INPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
count
|
||||
Number of elements in buffer (integer).
|
||||
.ft R
|
||||
.TP 1i
|
||||
datatype
|
||||
Data type of each buffer element (handle).
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.ft R
|
||||
.TP 1i
|
||||
buf
|
||||
Initial address of buffer (choice).
|
||||
.TP 1i
|
||||
IERROR
|
||||
Fortran only: Error status (integer).
|
||||
|
||||
.SH DESCRIPTION
|
||||
.ft R
|
||||
MPI_File_read_all_begin is the beginning part of a split collective operation that attempts to read from the file associated with
|
||||
.I fh
|
||||
(at the current individual file pointer position maintained by the system) a total number of
|
||||
.I count
|
||||
data items having
|
||||
.I datatype
|
||||
type into the user's buffer
|
||||
.I buf.
|
||||
The data is taken out of those parts of the
|
||||
file specified by the current view.
|
||||
|
||||
.SH NOTES
|
||||
.ft R
|
||||
All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard.
|
||||
|
||||
.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. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
|
||||
.sp
|
||||
Before the error value is returned, the current MPI error handler is
|
||||
called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.
|
||||
|
||||
' @(#)MPI_File_read_all_begin.3 1.20 06/03/09
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче
Block a user