man: remove man pages of removed MPI1 subroutines
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
Этот коммит содержится в:
родитель
25b0850da8
Коммит
26c1b833c7
@ -1,93 +0,0 @@
|
|||||||
.\" -*- nroff -*-
|
|
||||||
.\" Copyright 2010 Cisco Systems, Inc. All rights reserved.
|
|
||||||
.\" Copyright 2006-2008 Sun Microsystems, Inc.
|
|
||||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
|
||||||
.\" $COPYRIGHT$
|
|
||||||
.TH MPI_Address 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
|
|
||||||
.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)
|
|
||||||
|
|
||||||
.fi
|
|
||||||
.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
|
|
||||||
|
|
||||||
|
|
||||||
.fi
|
|
||||||
.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)
|
|
||||||
.fi
|
|
||||||
.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.
|
|
||||||
|
|
||||||
.SH SEE ALSO
|
|
||||||
MPI_Get_address
|
|
||||||
.br
|
|
@ -1,80 +0,0 @@
|
|||||||
.\" -*- nroff -*-
|
|
||||||
.\" Copyright 2010 Cisco Systems, Inc. All rights reserved.
|
|
||||||
.\" Copyright 2006-2008 Sun Microsystems, Inc.
|
|
||||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
|
||||||
.\" $COPYRIGHT$
|
|
||||||
.TH MPI_Errhandler_create 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
|
|
||||||
.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)
|
|
||||||
|
|
||||||
.fi
|
|
||||||
.SH Fortran Syntax
|
|
||||||
.nf
|
|
||||||
INCLUDE 'mpif.h'
|
|
||||||
MPI_ERRHANDLER_CREATE(\fIFUNCTION, ERRHANDLER, IERROR\fP)
|
|
||||||
EXTERNAL \fIFUNCTION\fP
|
|
||||||
INTEGER \fIERRHANDLER, IERROR\fP
|
|
||||||
|
|
||||||
|
|
||||||
.fi
|
|
||||||
.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
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,67 +0,0 @@
|
|||||||
.\" -*- nroff -*-
|
|
||||||
.\" Copyright 2010 Cisco Systems, Inc. All rights reserved.
|
|
||||||
.\" Copyright 2006-2008 Sun Microsystems, Inc.
|
|
||||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
|
||||||
.\" $COPYRIGHT$
|
|
||||||
.TH MPI_Errhandler_get 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
|
|
||||||
.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)
|
|
||||||
|
|
||||||
.fi
|
|
||||||
.SH Fortran Syntax
|
|
||||||
.nf
|
|
||||||
INCLUDE 'mpif.h'
|
|
||||||
MPI_ERRHANDLER_GET(\fICOMM, ERRHANDLER, IERROR\fP)
|
|
||||||
INTEGER \fICOMM, ERRHANDLER, IERROR\fP
|
|
||||||
|
|
||||||
|
|
||||||
.fi
|
|
||||||
.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
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
|||||||
.\" -*- nroff -*-
|
|
||||||
.\" Copyright 2006-2008 Sun Microsystems, Inc.
|
|
||||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
|
||||||
.\" $COPYRIGHT$
|
|
||||||
.TH MPI_Errhandler_set 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
|
|
||||||
.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)
|
|
||||||
|
|
||||||
.fi
|
|
||||||
.SH Fortran Syntax
|
|
||||||
.nf
|
|
||||||
INCLUDE 'mpif.h'
|
|
||||||
MPI_ERRHANDLER_SET(\fICOMM, ERRHANDLER, IERROR\fP)
|
|
||||||
INTEGER \fICOMM, ERRHANDLER, IERROR\fP
|
|
||||||
|
|
||||||
|
|
||||||
.fi
|
|
||||||
.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
|
|
||||||
|
|
||||||
|
|
@ -1,93 +0,0 @@
|
|||||||
.\" -*- nroff -*-
|
|
||||||
.\" Copyright 2010 Cisco Systems, Inc. All rights reserved.
|
|
||||||
.\" Copyright 2006-2008 Sun Microsystems, Inc.
|
|
||||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
|
||||||
.\" $COPYRIGHT$
|
|
||||||
.TH MPI_Type_extent 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
|
|
||||||
.SH NAME
|
|
||||||
\fBMPI_Type_extent\fP \- Returns the extent of a data type, the difference between the upper and lower bounds of the data type -- use of this routine is deprecated.
|
|
||||||
|
|
||||||
.SH SYNTAX
|
|
||||||
.ft R
|
|
||||||
.SH C Syntax
|
|
||||||
.nf
|
|
||||||
#include <mpi.h>
|
|
||||||
int MPI_Type_extent(MPI_Datatype \fIdatatype\fP, MPI_Aint\fI *extent\fP)
|
|
||||||
|
|
||||||
.fi
|
|
||||||
.SH Fortran Syntax
|
|
||||||
.nf
|
|
||||||
INCLUDE 'mpif.h'
|
|
||||||
MPI_TYPE_EXTENT(\fIDATATYPE, EXTENT, IERROR\fP)
|
|
||||||
INTEGER \fIDATATYPE, EXTENT, IERROR\fP
|
|
||||||
|
|
||||||
|
|
||||||
.fi
|
|
||||||
.SH INPUT PARAMETER
|
|
||||||
.ft R
|
|
||||||
.TP 1i
|
|
||||||
datatype
|
|
||||||
Datatype (handle).
|
|
||||||
.sp
|
|
||||||
.SH OUTPUT PARAMETERS
|
|
||||||
.ft R
|
|
||||||
.TP 1i
|
|
||||||
extent
|
|
||||||
Datatype extent (integer).
|
|
||||||
.sp
|
|
||||||
.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_Type_get_extent instead.
|
|
||||||
.sp
|
|
||||||
This deprecated routine is not available in C++.
|
|
||||||
.sp
|
|
||||||
MPI_Type_extent returns the extent of a data type, the difference between the upper and lower bounds of the data type.
|
|
||||||
.sp
|
|
||||||
In general, if
|
|
||||||
.sp
|
|
||||||
.nf
|
|
||||||
Typemap = {(type(0), disp(0)), ..., (type(n-1), disp(n-1))}
|
|
||||||
.fi
|
|
||||||
.sp
|
|
||||||
then the lower bound of Typemap is defined to be
|
|
||||||
.sp
|
|
||||||
.nf
|
|
||||||
( min(j) disp(j) if no entry has
|
|
||||||
lb(Typemap)=( basic type lb
|
|
||||||
(min(j) {disp(j) such that type(j) = lb} otherwise
|
|
||||||
|
|
||||||
.fi
|
|
||||||
.sp
|
|
||||||
Similarly, the upper bound of Typemap is defined to be
|
|
||||||
.sp
|
|
||||||
.nf
|
|
||||||
(max(j) disp(j) + sizeof(type(j)) + e if no entry has
|
|
||||||
ub(Typemap)=( basic type ub
|
|
||||||
(max(j) {disp(j) such that type(j) = ub} otherwise
|
|
||||||
.fi
|
|
||||||
.sp
|
|
||||||
Then
|
|
||||||
.sp
|
|
||||||
.nf
|
|
||||||
extent(Typemap) = ub(Typemap) - lb(Typemap)
|
|
||||||
.fi
|
|
||||||
.sp
|
|
||||||
If type(i) requires alignment to a byte address that is a multiple of k(i), then e is the least nonnegative increment needed to round extent(Typemap) to the next multiple of max(i) k(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.
|
|
||||||
|
|
||||||
.SH SEE ALSO
|
|
||||||
.ft R
|
|
||||||
.sp
|
|
||||||
MPI_Type_get_extent
|
|
||||||
.br
|
|
||||||
|
|
@ -1,100 +0,0 @@
|
|||||||
.\" -*- nroff -*-
|
|
||||||
.\" Copyright 2010-2014 Cisco Systems, Inc. All rights reserved.
|
|
||||||
.\" Copyright 2006-2008 Sun Microsystems, Inc.
|
|
||||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
|
||||||
.\" $COPYRIGHT$
|
|
||||||
.TH MPI_Type_hindexed 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
|
|
||||||
.SH NAME
|
|
||||||
\fBMPI_Type_hindexed\fP \- Creates an indexed datatype with offsets in bytes -- use of this routine is deprecated.
|
|
||||||
|
|
||||||
.SH SYNTAX
|
|
||||||
.ft R
|
|
||||||
.SH C Syntax
|
|
||||||
.nf
|
|
||||||
#include <mpi.h>
|
|
||||||
int MPI_Type_hindexed(int \fIcount\fP, int\fI *array_of_blocklengths\fP,
|
|
||||||
MPI_Aint\fI *array_of_displacements\fP, MPI_Datatype\fI oldtype\fP,
|
|
||||||
MPI_Datatype\fI *newtype\fP)
|
|
||||||
|
|
||||||
.fi
|
|
||||||
.SH Fortran Syntax
|
|
||||||
.nf
|
|
||||||
INCLUDE 'mpif.h'
|
|
||||||
MPI_TYPE_HINDEXED(\fICOUNT, ARRAY_OF_BLOCKLENGTHS,
|
|
||||||
ARRAY_OF_DISPLACEMENTS, OLDTYPE, NEWTYPE, IERROR\fP)
|
|
||||||
INTEGER \fICOUNT, ARRAY_OF_BLOCKLENGTHS(*)\fP
|
|
||||||
INTEGER \fIARRAY_OF_DISPLACEMENTS(*), OLDTYPE, NEWTYPE\fP
|
|
||||||
INTEGER \fIIERROR\fP
|
|
||||||
|
|
||||||
|
|
||||||
.fi
|
|
||||||
.SH INPUT PARAMETERS
|
|
||||||
.ft R
|
|
||||||
.TP 1i
|
|
||||||
count
|
|
||||||
Number of blocks -- also number of entries in array_of_displacements and
|
|
||||||
array_of_blocklengths (integer).
|
|
||||||
.TP 1i
|
|
||||||
array_of_blocklengths
|
|
||||||
Number of elements in each block (array of nonnegative integers).
|
|
||||||
.TP 1i
|
|
||||||
array_of_displacements
|
|
||||||
Byte displacement of each block (C: array of
|
|
||||||
.IR MPI_Aint ,
|
|
||||||
Fortran: array of integer).
|
|
||||||
.TP 1i
|
|
||||||
oldtype
|
|
||||||
Old datatype (handle).
|
|
||||||
.sp
|
|
||||||
.SH OUTPUT PARAMETERS
|
|
||||||
.ft R
|
|
||||||
.TP 1i
|
|
||||||
newtype
|
|
||||||
New datatype (handle).
|
|
||||||
.sp
|
|
||||||
.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. Use MPI_Type_create_hindexed instead.
|
|
||||||
.sp
|
|
||||||
This deprecated routine is not available in C++.
|
|
||||||
.sp
|
|
||||||
The function is identical to MPI_Type_indexed, except that block displacements in array_of_displacements are specified in bytes, rather than in multiples of the oldtype extent.
|
|
||||||
.sp
|
|
||||||
Assume that oldtype has type map
|
|
||||||
.sp
|
|
||||||
.nf
|
|
||||||
{(type(0), disp(0)), ..., (type(n-1), disp(n-1))},
|
|
||||||
.fi
|
|
||||||
.sp
|
|
||||||
with extent ex. Let B be the array_of_blocklength argument and D be the
|
|
||||||
array_of_displacements argument. The newly created datatype has
|
|
||||||
.nf
|
|
||||||
n x S^count-1
|
|
||||||
(i=0) B[i] entries:
|
|
||||||
|
|
||||||
{(type(0), disp(0) + D[0]),...,(type(n-1), disp(n-1) + D[0]),...,
|
|
||||||
(type(0), disp(0) + (D[0] + B[0]-1)* ex),...,
|
|
||||||
type(n-1), disp(n-1) + (D[0]+ B[0]-1)* ex),...,
|
|
||||||
(type(0), disp(0) + D[count-1]),...,(type(n-1), disp(n-1) + D[count-1]),...,
|
|
||||||
(type(0), disp(0) + D[count-1] + (B[count-1] -1)* ex),...,
|
|
||||||
(type(n-1), disp(n-1) + D[count-1] + (B[count-1] -1)* ex)}
|
|
||||||
.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
|
|
||||||
MPI_Type_create_hindexed
|
|
||||||
.br
|
|
||||||
MPI_Type_indexed
|
|
||||||
.br
|
|
||||||
|
|
@ -1,98 +0,0 @@
|
|||||||
.\" -*- nroff -*-
|
|
||||||
.\" Copyright 2010 Cisco Systems, Inc. All rights reserved.
|
|
||||||
.\" Copyright 2006-2008 Sun Microsystems, Inc.
|
|
||||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
|
||||||
.\" $COPYRIGHT$
|
|
||||||
.TH MPI_Type_hvector 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
|
|
||||||
.SH NAME
|
|
||||||
\fBMPI_Type_hvector\fP \- Creates a vector (strided) datatype with offset in bytes -- use of this routine is deprecated.
|
|
||||||
|
|
||||||
.SH SYNTAX
|
|
||||||
.ft R
|
|
||||||
.SH C Syntax
|
|
||||||
.nf
|
|
||||||
#include <mpi.h>
|
|
||||||
int MPI_Type_hvector(int \fIcount\fP, int\fI blocklength\fP, MPI_Aint\fI stride\fP,
|
|
||||||
MPI_Datatype\fI oldtype\fP, MPI_Datatype\fI *newtype\fP)
|
|
||||||
|
|
||||||
.fi
|
|
||||||
.SH Fortran Syntax
|
|
||||||
.nf
|
|
||||||
INCLUDE 'mpif.h'
|
|
||||||
MPI_TYPE_HVECTOR(\fICOUNT, BLOCKLENGTH, STRIDE, OLDTYPE, NEWTYPE,
|
|
||||||
IERROR\fP)
|
|
||||||
INTEGER \fICOUNT, BLOCKLENGTH, STRIDE, OLDTYPE\fP
|
|
||||||
INTEGER \fINEWTYPE, IERROR\fP
|
|
||||||
|
|
||||||
.fi
|
|
||||||
.SH INPUT PARAMETERS
|
|
||||||
.ft R
|
|
||||||
.TP 1i
|
|
||||||
count
|
|
||||||
Number of blocks (nonnegative integer).
|
|
||||||
.TP 1i
|
|
||||||
blocklength
|
|
||||||
Number of elements in each block (nonnegative integer).
|
|
||||||
.TP 1i
|
|
||||||
stride
|
|
||||||
Number of bytes between start of each block (integer).
|
|
||||||
.TP 1i
|
|
||||||
oldtype
|
|
||||||
Old datatype (handle).
|
|
||||||
.sp
|
|
||||||
.SH OUTPUT PARAMETERS
|
|
||||||
.ft R
|
|
||||||
.TP 1i
|
|
||||||
newtype
|
|
||||||
New datatype (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. Use MPI_Type_create_hvector instead.
|
|
||||||
.sp
|
|
||||||
This deprecated routine is not available in C++.
|
|
||||||
.sp
|
|
||||||
The function MPI_Type_hvector is identical to MPI_Type_vector, except that
|
|
||||||
stride is given in bytes, rather than in elements. The use for both types
|
|
||||||
of vector constructors is illustrated in the examples in Section 3.12.7 of the MPI-1 Standard.
|
|
||||||
.sp
|
|
||||||
Assume that oldtype has type map
|
|
||||||
.sp
|
|
||||||
.nf
|
|
||||||
{(type(0), disp(0)), ..., (type(n-1), disp(n-1))}
|
|
||||||
.fi
|
|
||||||
.sp
|
|
||||||
with extent ex. Let bl be the blocklength. The newly created datatype has a type map with count * bl * n entries:
|
|
||||||
.sp
|
|
||||||
.nf
|
|
||||||
{(type(0), disp(0)), ..., (type(n-1), disp(n-1)),
|
|
||||||
(type(0), disp(0) + ex), ..., (type(n-1), disp(n-1) + ex),
|
|
||||||
..., (type(0), disp(0) + (bl -1) * ex),...,(type(n-1),
|
|
||||||
disp(n-1) + (bl -1) * ex), (type(0), disp(0) + stride),
|
|
||||||
...,(type(n-1), disp(n-1) + stride), ..., (type(0),
|
|
||||||
disp(0) + stride + (bl - 1) * ex), ..., (type(n-1),
|
|
||||||
disp(n-1) + stride + (bl -1) * ex), ..., (type(0),
|
|
||||||
disp(0) + stride * (count -1)), ...,(type(n-1),
|
|
||||||
disp(n-1) + stride * (count -1)), ..., (type(0),
|
|
||||||
disp(0) + stride * (count -1) + (bl -1) * ex), ...,
|
|
||||||
(type(n-1), disp(n-1) + stride * (count -1) + (bl -1) * ex)}
|
|
||||||
|
|
||||||
.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_Type_create_hvector
|
|
||||||
.br
|
|
||||||
MPI_Type_vector
|
|
||||||
.br
|
|
||||||
|
|
@ -1,92 +0,0 @@
|
|||||||
.\" -*- nroff -*-
|
|
||||||
.\" Copyright 2010 Cisco Systems, Inc. All rights reserved.
|
|
||||||
.\" Copyright 2006-2008 Sun Microsystems, Inc.
|
|
||||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
|
||||||
.\" $COPYRIGHT$
|
|
||||||
.TH MPI_Type_lb 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
|
|
||||||
.SH NAME
|
|
||||||
\fBMPI_Type_lb\fP \- Returns the lower bound of a data type -- use of this routine is deprecated.
|
|
||||||
|
|
||||||
.SH SYNTAX
|
|
||||||
.ft R
|
|
||||||
.SH C Syntax
|
|
||||||
.nf
|
|
||||||
#include <mpi.h>
|
|
||||||
int MPI_Type_lb(MPI_Datatype \fIdatatype\fP, MPI_Aint\fI *displacement\fP)
|
|
||||||
|
|
||||||
.fi
|
|
||||||
.SH Fortran Syntax
|
|
||||||
.nf
|
|
||||||
INCLUDE 'mpif.h'
|
|
||||||
MPI_TYPE_LB(\fIDATATYPE, DISPLACEMENT, IERROR\fP)
|
|
||||||
INTEGER \fIDATATYPE, DISPLACEMENT, IERROR\fP
|
|
||||||
|
|
||||||
|
|
||||||
.fi
|
|
||||||
.SH INPUT PARAMETER
|
|
||||||
.ft R
|
|
||||||
.TP 1i
|
|
||||||
datatype
|
|
||||||
Datatype (handle).
|
|
||||||
.sp
|
|
||||||
.SH OUTPUT PARAMETERS
|
|
||||||
.ft R
|
|
||||||
.TP 1i
|
|
||||||
displacement
|
|
||||||
Displacement of lower bound from origin, in bytes (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_Type_get_extent instead.
|
|
||||||
.sp
|
|
||||||
This deprecated routine is not available in C++.
|
|
||||||
.sp
|
|
||||||
MPI_Type_lb returns the lower bound of a data type. This may differ from zero if the type was constructed using MPI_LB.
|
|
||||||
.sp
|
|
||||||
The "pseudo-datatypes," MPI_LB and MPI_UB, can be used, respectively, to mark the lower bound (or the upper bound) of a datatype. These pseudo-datatypes occupy no space (extent (MPI_LB) = extent (MPI_UB) =0. They do not affect the size or count of a datatype, and do not affect the context of a message created with this datatype. However, they do affect the definition of the extent of a datatype and, therefore, affect the outcome of a replication of this datatype by a datatype constructor.
|
|
||||||
.sp
|
|
||||||
In general, if
|
|
||||||
.sp
|
|
||||||
.nf
|
|
||||||
Typemap = {(type0, disp0), ..., (type(n-1), disp(n-1)}
|
|
||||||
.fi
|
|
||||||
.sp
|
|
||||||
then the lower bound of Typemap is defined to be
|
|
||||||
.nf
|
|
||||||
|
|
||||||
(min(j) disp(j) if no entry has
|
|
||||||
lb(Typemap) = ( basic type lb
|
|
||||||
(min(j) {disp(j) such that type(j) = lb} otherwise
|
|
||||||
|
|
||||||
.fi
|
|
||||||
Similarly, the upper bound of Typemap is defined to be
|
|
||||||
.nf
|
|
||||||
|
|
||||||
(max(j) disp(j) + sizeof((type(j)) + e if no entry has
|
|
||||||
ub(Typemap) = ( basic type ub
|
|
||||||
(max(j) {disp(j) such that type(j) = ub} otherwise
|
|
||||||
|
|
||||||
Then
|
|
||||||
|
|
||||||
extent(Typemap) = ub(Typemap) - lb(Typemap)
|
|
||||||
.fi
|
|
||||||
.sp
|
|
||||||
If type(i) requires alignment to a byte address that is a multiple of k(i),
|
|
||||||
then e is the least nonnegative increment needed to round extent(Typemap) to the next multiple of max(i) k(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.
|
|
||||||
|
|
||||||
.SH SEE ALSO
|
|
||||||
.ft R
|
|
||||||
.sp
|
|
||||||
MPI_Type_get_extent
|
|
||||||
.br
|
|
||||||
|
|
@ -1,118 +0,0 @@
|
|||||||
.\" -*- nroff -*-
|
|
||||||
.\" Copyright 2010 Cisco Systems, Inc. All rights reserved.
|
|
||||||
.\" Copyright 2006-2008 Sun Microsystems, Inc.
|
|
||||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
|
||||||
.\" $COPYRIGHT$
|
|
||||||
.TH MPI_Type_struct 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
|
|
||||||
.SH NAME
|
|
||||||
\fBMPI_Type_struct\fP \- Creates a \fIstruct\fP data type -- use of this routine is deprecated.
|
|
||||||
|
|
||||||
.SH SYNTAX
|
|
||||||
.ft R
|
|
||||||
.SH C Syntax
|
|
||||||
.nf
|
|
||||||
#include <mpi.h>
|
|
||||||
int MPI_Type_struct(int \fIcount\fP, int\fI *array_of_blocklengths\fP,
|
|
||||||
MPI_Aint\fI *array_of_displacements\fP, MPI_Datatype\fI *array_of_types\fP,
|
|
||||||
MPI_Datatype\fI *newtype\fP)
|
|
||||||
|
|
||||||
.fi
|
|
||||||
.SH Fortran Syntax
|
|
||||||
.nf
|
|
||||||
INCLUDE 'mpif.h'
|
|
||||||
MPI_TYPE_STRUCT(\fICOUNT, ARRAY_OF_BLOCKLENGTHS,
|
|
||||||
ARRAY_OF_DISPLACEMENTS, ARRAY_OF_TYPES,
|
|
||||||
NEWTYPE, IERROR\fP)
|
|
||||||
INTEGER \fICOUNT, ARRAY_OF_BLOCKLENGTHS(*)\fP
|
|
||||||
INTEGER \fIARRAY_OF_DISPLACEMENTS(*)\fP
|
|
||||||
INTEGER \fIARRAY_OF_TYPES(*), NEWTYPE, IERROR\fP
|
|
||||||
|
|
||||||
|
|
||||||
.fi
|
|
||||||
.SH INPUT PARAMETERS
|
|
||||||
.ft R
|
|
||||||
.TP 1i
|
|
||||||
count
|
|
||||||
Number of blocks (integer) also number of entries in arrays
|
|
||||||
array_of_types, array_of_displacements, and array_of_blocklengths.
|
|
||||||
.TP 1i
|
|
||||||
array_of_blocklengths
|
|
||||||
Number of elements in each block (array).
|
|
||||||
.TP 1i
|
|
||||||
array_of_displacements
|
|
||||||
Byte displacement of each block (array).
|
|
||||||
.TP 1i
|
|
||||||
array_of_types
|
|
||||||
Type of elements in each block (array of handles to datatype objects).
|
|
||||||
.sp
|
|
||||||
|
|
||||||
.SH OUTPUT PARAMETERS
|
|
||||||
.ft R
|
|
||||||
.TP 1i
|
|
||||||
newtype
|
|
||||||
New datatype (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. Use MPI_Type_create_struct instead.
|
|
||||||
.sp
|
|
||||||
This deprecated routine is not available in C++.
|
|
||||||
.sp
|
|
||||||
MPI_Type_struct is the most general type constructor. It further generalizes MPI_Type_hindexed in that it allows each block to consist of replications of different datatypes.
|
|
||||||
.sp
|
|
||||||
\fBExample:\fP Let type1 have type map
|
|
||||||
.nf
|
|
||||||
|
|
||||||
{(double, 0), (char, 8)}
|
|
||||||
|
|
||||||
.fi
|
|
||||||
with extent 16. Let B = (2, 1, 3), D = (0, 16, 26), and T = (MPI_FLOAT, type1, MPI_CHAR). Then a call to MPI_Type_struct(3, B, D, T, newtype) returns a datatype with type map
|
|
||||||
.nf
|
|
||||||
|
|
||||||
{(float, 0), (float,4), (double, 16), (char, 24),
|
|
||||||
(char, 26), (char, 27), (char, 28)}
|
|
||||||
|
|
||||||
.fi
|
|
||||||
That is, two copies of MPI_FLOAT starting at 0, followed by one copy of type1 starting at 16, followed by three copies of MPI_CHAR, starting at 26. (We assume that a float occupies 4 bytes.)
|
|
||||||
.sp
|
|
||||||
For more information, see section 3.12.1 of the MPI-1.1 Standard.
|
|
||||||
|
|
||||||
.SH NOTES
|
|
||||||
If an upperbound is set explicitly by using the MPI datatype MPI_UB, the corresponding index must be positive.
|
|
||||||
.sp
|
|
||||||
The MPI-1 Standard originally made vague statements about padding and alignment; this was intended to allow the simple definition of structures that could be sent with a count greater than one. For example,
|
|
||||||
.nf
|
|
||||||
struct {int a; char b;} foo;
|
|
||||||
.fi
|
|
||||||
may have
|
|
||||||
.nf
|
|
||||||
sizeof(foo) = sizeof(int) + sizeof(char);
|
|
||||||
.fi
|
|
||||||
defining the extent of a datatype as including an epsilon, which would have allowed an implementation to make the extent an MPI datatype for this structure equal to 2*sizeof(int). However, since different systems might define different paddings, a clarification to the standard made epsilon zero. Thus, if you define a structure datatype and wish to send or receive multiple items, you should explicitly include an MPI_UB entry as the last member of the structure. For example, the following code can be used for the structure foo:
|
|
||||||
.nf
|
|
||||||
|
|
||||||
blen[0] = 1; indices[0] = 0; oldtypes[0] = MPI_INT;
|
|
||||||
blen[1] = 1; indices[1] = &foo.b - &foo; oldtypes[1] = MPI_CHAR;
|
|
||||||
blen[2] = 1; indices[2] = sizeof(foo); oldtypes[2] = MPI_UB;
|
|
||||||
MPI_Type_struct( 3, blen, indices, oldtypes, &newtype );
|
|
||||||
|
|
||||||
.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_Type_create_struct
|
|
||||||
.br
|
|
||||||
MPI_Type_create_hindexed
|
|
||||||
.br
|
|
||||||
|
|
@ -1,95 +0,0 @@
|
|||||||
.\" -*- nroff -*-
|
|
||||||
.\" Copyright 2010 Cisco Systems, Inc. All rights reserved.
|
|
||||||
.\" Copyright 2006-2008 Sun Microsystems, Inc.
|
|
||||||
.\" Copyright (c) 1996 Thinking Machines Corporation
|
|
||||||
.\" $COPYRIGHT$
|
|
||||||
.TH MPI_Type_ub 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
|
|
||||||
.SH NAME
|
|
||||||
\fBMPI_Type_ub\fP \- Returns the upper bound of a datatype -- use of this routine is deprecated.
|
|
||||||
|
|
||||||
.SH SYNTAX
|
|
||||||
.ft R
|
|
||||||
.SH C Syntax
|
|
||||||
.nf
|
|
||||||
#include <mpi.h>
|
|
||||||
int MPI_Type_ub(MPI_Datatype \fIdatatype\fP, MPI_Aint\fI *displacement\fP)
|
|
||||||
|
|
||||||
.fi
|
|
||||||
.SH Fortran Syntax
|
|
||||||
.nf
|
|
||||||
INCLUDE 'mpif.h'
|
|
||||||
MPI_TYPE_UB(\fIDATATYPE, DISPLACEMENT, IERROR\fP)
|
|
||||||
INTEGER \fIDATATYPE, DISPLACEMENT, IERROR\fP
|
|
||||||
|
|
||||||
|
|
||||||
.fi
|
|
||||||
.SH INPUT PARAMETER
|
|
||||||
.ft R
|
|
||||||
.TP 1i
|
|
||||||
datatype
|
|
||||||
Datatype (handle).
|
|
||||||
.sp
|
|
||||||
|
|
||||||
.SH OUTPUT PARAMETERS
|
|
||||||
.ft R
|
|
||||||
.TP 1i
|
|
||||||
displacement
|
|
||||||
Displacement of upper bound from origin, in bytes (integer).
|
|
||||||
.sp
|
|
||||||
.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_Type_get_extent instead.
|
|
||||||
.sp
|
|
||||||
This deprecated routine is not available in C++.
|
|
||||||
.sp
|
|
||||||
MPI_Type_ub returns the upper bound of a data type. This will differ from zero if the type was constructed using MPI_UB. The upper bound will take into account any alignment considerations.
|
|
||||||
.sp
|
|
||||||
The "pseudo-datatypes," MPI_LB and MPI_UB, can be used, respectively, to mark the upper bound (or the lower bound) of a datatype. These pseudo-datatypes occupy no space (extent (MPI_LB) = extent (MPI_UB) =0. They do not affect the size or count of a datatype, and do not affect the context of a message created with this datatype. However, they do affect the definition of the extent of a datatype and, therefore, affect the outcome of a replication of this datatype by a datatype constructor.
|
|
||||||
.sp
|
|
||||||
In general, if
|
|
||||||
.nf
|
|
||||||
|
|
||||||
Typemap = {(type(0), disp(0)), ..., (type(n-1), disp(n-1))}
|
|
||||||
|
|
||||||
.fi
|
|
||||||
then the lower bound of Typemap is defined to be
|
|
||||||
.nf
|
|
||||||
|
|
||||||
(min(j) disp(j) if no entry has
|
|
||||||
lb(Typemap) = ( basic type lb
|
|
||||||
(min(j) {disp(j) such that type(j) = lb} otherwise
|
|
||||||
|
|
||||||
.fi
|
|
||||||
Similarly, the upper bound of Typemap is defined to be
|
|
||||||
.nf
|
|
||||||
|
|
||||||
(max(j) disp(j) + sizeof(type(j) = lb} if no entry has
|
|
||||||
ub(Typemap) = ( basic type ub
|
|
||||||
(max(j) {disp(j) such that type(j) = ub} otherwise
|
|
||||||
|
|
||||||
.fi
|
|
||||||
Then
|
|
||||||
.nf
|
|
||||||
|
|
||||||
extent(Typemap) = ub(Typemap) - lb(Typemap)
|
|
||||||
|
|
||||||
.fi
|
|
||||||
If type(i) requires alignment to a byte address that is a multiple of k(i), then e is the least nonnegative increment needed to round extent(Typemap) to the next multiple of max(i) k(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.
|
|
||||||
|
|
||||||
.SH SEE ALSO
|
|
||||||
.ft R
|
|
||||||
.sp
|
|
||||||
MPI_Type_get_extent
|
|
||||||
.br
|
|
||||||
|
|
@ -18,7 +18,6 @@ mpi_api_man_pages = \
|
|||||||
mpi/man/man3/MPI_Add_error_class.3 \
|
mpi/man/man3/MPI_Add_error_class.3 \
|
||||||
mpi/man/man3/MPI_Add_error_code.3 \
|
mpi/man/man3/MPI_Add_error_code.3 \
|
||||||
mpi/man/man3/MPI_Add_error_string.3 \
|
mpi/man/man3/MPI_Add_error_string.3 \
|
||||||
mpi/man/man3/MPI_Address.3 \
|
|
||||||
mpi/man/man3/MPI_Aint_add.3 \
|
mpi/man/man3/MPI_Aint_add.3 \
|
||||||
mpi/man/man3/MPI_Aint_diff.3 \
|
mpi/man/man3/MPI_Aint_diff.3 \
|
||||||
mpi/man/man3/MPI_Allgather.3 \
|
mpi/man/man3/MPI_Allgather.3 \
|
||||||
@ -98,10 +97,7 @@ mpi_api_man_pages = \
|
|||||||
mpi/man/man3/MPI_Dist_graph_create_adjacent.3 \
|
mpi/man/man3/MPI_Dist_graph_create_adjacent.3 \
|
||||||
mpi/man/man3/MPI_Dist_graph_neighbors.3 \
|
mpi/man/man3/MPI_Dist_graph_neighbors.3 \
|
||||||
mpi/man/man3/MPI_Dist_graph_neighbors_count.3 \
|
mpi/man/man3/MPI_Dist_graph_neighbors_count.3 \
|
||||||
mpi/man/man3/MPI_Errhandler_create.3 \
|
|
||||||
mpi/man/man3/MPI_Errhandler_free.3 \
|
mpi/man/man3/MPI_Errhandler_free.3 \
|
||||||
mpi/man/man3/MPI_Errhandler_get.3 \
|
|
||||||
mpi/man/man3/MPI_Errhandler_set.3 \
|
|
||||||
mpi/man/man3/MPI_Error_class.3 \
|
mpi/man/man3/MPI_Error_class.3 \
|
||||||
mpi/man/man3/MPI_Error_string.3 \
|
mpi/man/man3/MPI_Error_string.3 \
|
||||||
mpi/man/man3/MPI_Exscan.3 \
|
mpi/man/man3/MPI_Exscan.3 \
|
||||||
@ -355,7 +351,6 @@ mpi_api_man_pages = \
|
|||||||
mpi/man/man3/MPI_Type_create_subarray.3 \
|
mpi/man/man3/MPI_Type_create_subarray.3 \
|
||||||
mpi/man/man3/MPI_Type_delete_attr.3 \
|
mpi/man/man3/MPI_Type_delete_attr.3 \
|
||||||
mpi/man/man3/MPI_Type_dup.3 \
|
mpi/man/man3/MPI_Type_dup.3 \
|
||||||
mpi/man/man3/MPI_Type_extent.3 \
|
|
||||||
mpi/man/man3/MPI_Type_f2c.3 \
|
mpi/man/man3/MPI_Type_f2c.3 \
|
||||||
mpi/man/man3/MPI_Type_free.3 \
|
mpi/man/man3/MPI_Type_free.3 \
|
||||||
mpi/man/man3/MPI_Type_free_keyval.3 \
|
mpi/man/man3/MPI_Type_free_keyval.3 \
|
||||||
@ -367,17 +362,12 @@ mpi_api_man_pages = \
|
|||||||
mpi/man/man3/MPI_Type_get_name.3 \
|
mpi/man/man3/MPI_Type_get_name.3 \
|
||||||
mpi/man/man3/MPI_Type_get_true_extent.3 \
|
mpi/man/man3/MPI_Type_get_true_extent.3 \
|
||||||
mpi/man/man3/MPI_Type_get_true_extent_x.3 \
|
mpi/man/man3/MPI_Type_get_true_extent_x.3 \
|
||||||
mpi/man/man3/MPI_Type_hindexed.3 \
|
|
||||||
mpi/man/man3/MPI_Type_hvector.3 \
|
|
||||||
mpi/man/man3/MPI_Type_indexed.3 \
|
mpi/man/man3/MPI_Type_indexed.3 \
|
||||||
mpi/man/man3/MPI_Type_lb.3 \
|
|
||||||
mpi/man/man3/MPI_Type_match_size.3 \
|
mpi/man/man3/MPI_Type_match_size.3 \
|
||||||
mpi/man/man3/MPI_Type_set_attr.3 \
|
mpi/man/man3/MPI_Type_set_attr.3 \
|
||||||
mpi/man/man3/MPI_Type_set_name.3 \
|
mpi/man/man3/MPI_Type_set_name.3 \
|
||||||
mpi/man/man3/MPI_Type_size.3 \
|
mpi/man/man3/MPI_Type_size.3 \
|
||||||
mpi/man/man3/MPI_Type_size_x.3 \
|
mpi/man/man3/MPI_Type_size_x.3 \
|
||||||
mpi/man/man3/MPI_Type_struct.3 \
|
|
||||||
mpi/man/man3/MPI_Type_ub.3 \
|
|
||||||
mpi/man/man3/MPI_Type_vector.3 \
|
mpi/man/man3/MPI_Type_vector.3 \
|
||||||
mpi/man/man3/MPI_Unpack.3 \
|
mpi/man/man3/MPI_Unpack.3 \
|
||||||
mpi/man/man3/MPI_Unpack_external.3 \
|
mpi/man/man3/MPI_Unpack_external.3 \
|
||||||
|
Загрузка…
Ссылка в новой задаче
Block a user