Index: terms-2.tex #421 part 1 r1931 | |
=================================================================== | |
--- terms-2.tex (Revision 1930) | |
+++ terms-2.tex (Revision 1931) | |
@@ -571,6 +571,12 @@ | |
conversion. | |
There is the \mpi/ constant \consti{MPI\_BOTTOM} to indicate | |
the start of the address range. | |
+For retrieving absolute addresses or any calculation with absolute addresses, | |
+one should use the routines and functions provided in \sectionref{subsec:pt2pt-addfunc}. | |
+\sectionref{subsec:pt2pt-segmented} provides additional rules for the correct | |
+use of absolute addresses. For expressions with relative displacements | |
+or other usage without absolute addresses, intrinsic operators | |
+(e.g., \code{+}, \code{-}, \code{*}) can be used. | |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
\subsection{File Offsets} | |
_________________________________________________________________________ | |
Index: terms-2.tex #421 part 1 r1932 (see also modification in r1956 below) | |
=================================================================== | |
--- terms-2.tex (Revision 1931) | |
+++ terms-2.tex (Revision 1932) | |
@@ -864,7 +864,10 @@ | |
An implementation is allowed to implement \mpifunc{MPI\_WTIME}, | |
\mpifunc{MPI\_WTICK}, \mpifunc{PMPI\_WTIME}, | |
-\mpifunc{PMPI\_WTICK}, and the handle-conversion functions | |
+\mpifunc{PMPI\_WTICK}, | |
+\mpifunc{MPI\_AINT\_ADD}, \mpifunc{MPI\_AINT\_DIFF}, | |
+\mpifunc{PMPI\_AINT\_ADD}, \mpifunc{PMPI\_AINT\_DIFF}, | |
+and the handle-conversion functions | |
(\cfunc{MPI\_Group\_f2c}, etc.) in Section~\ref{sec:misc-handleconvert}, and | |
no others, as macros in C. | |
_________________________________________________________________________ | |
Index: terms-2.tex #421 part 2 r1932 modified with r1956 | |
=================================================================== | |
--- terms-2.tex (Revision 1955) | |
+++ terms-2.tex (Revision 1956) | |
@@ -864,11 +864,11 @@ | |
\subsection{Functions and Macros} | |
\label{sec:macros} | |
-An implementation is allowed to implement \mpifunc{MPI\_WTIME}, | |
-\mpifunc{MPI\_WTICK}, \mpifunc{PMPI\_WTIME}, | |
-\mpifunc{PMPI\_WTICK}, | |
-\mpifunc{MPI\_AINT\_ADD}, \mpifunc{MPI\_AINT\_DIFF}, | |
-\mpifunc{PMPI\_AINT\_ADD}, \mpifunc{PMPI\_AINT\_DIFF}, | |
+An implementation is allowed to implement | |
+\mpifunc{MPI\_WTIME}, \mpifunc{PMPI\_WTIME}, | |
+\mpifunc{MPI\_WTICK}, \mpifunc{PMPI\_WTICK}, | |
+\mpifunc{MPI\_AINT\_ADD}, \mpifunc{PMPI\_AINT\_ADD}, | |
+\mpifunc{MPI\_AINT\_DIFF}, \mpifunc{PMPI\_AINT\_DIFF}, | |
and the handle-conversion functions | |
(\cfunc{MPI\_Group\_f2c}, etc.) in Section~\ref{sec:misc-handleconvert}, and | |
no others, as macros in C. | |
_________________________________________________________________________ | |
Index: terms-2.tex #431 | |
=================================================================== | |
--- terms-2.tex (Revision 1933) | |
+++ terms-2.tex (Revision 1934) | |
@@ -557,11 +557,12 @@ | |
\end{implementors} | |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
-\subsection{Addresses} | |
+\subsection{Absolute Addresses and Relative Address Displacements} | |
Some \MPI/ procedures use \emph{address} arguments that represent an absolute | |
-address in the calling program. | |
-The datatype of such an argument | |
+address in the calling program, | |
+or relative displacement arguments that represent differences of two absolute addresses. | |
+The datatype of such arguments | |
\cdeclmainindex{MPI\_Aint}% | |
is \type{MPI\_Aint} in C and \ftype{INTEGER | |
(KIND=\const{MPI\_ADDRESS\_KIND})}\cdeclmainindex{MPI\_ADDRESS\_KIND} in Fortran. | |
_________________________________________________________________________ | |
Index: terms-2.tex #447 | |
=================================================================== | |
--- terms-2.tex (Revision 1917) | |
+++ terms-2.tex (Revision 1918) | |
@@ -174,8 +174,12 @@ | |
\item The Fortran version of the same | |
function used with \code{USE mpi} or \code{INCLUDE 'mpif.h'}. | |
\end{itemize} | |
+ | |
+An exception is \sectionref{sec:mpit} ``The \MPI/ Tool Information Interface'', | |
+which only provides ISO C interfaces. | |
+ | |
``Fortran'' in this document refers to Fortran 90 and higher; see | |
-Section~\ref{subsec:binding}. | |
+\sectionref{subsec:binding}. | |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
\section{Semantic Terms} | |
_________________________________________________________________________ | |
Index: terms-2.tex #449 | |
=================================================================== | |
--- terms-2.tex (Revision 1918) | |
+++ terms-2.tex (Revision 1919) | |
@@ -386,10 +386,13 @@ | |
assignment/comparison is made since | |
such operations are common. | |
This restricts the domain of possible implementations. | |
-The alternative would have been | |
+The alternative in C would have been | |
to allow handles to have been an arbitrary, opaque type. This would | |
force the introduction of routines to do assignment and comparison, adding | |
complexity, and was therefore ruled out. | |
+In Fortran, the handles are defined such that assignment and comparison | |
+are available through the operators of the language or overloaded | |
+versions of these operators. | |
\end{rationale} | |
\begin{users} | |
_________________________________________________________________________ | |
Index: terms-2.tex #450 | |
=================================================================== | |
--- terms-2.tex (Revision 1919) | |
+++ terms-2.tex (Revision 1920) | |
@@ -464,7 +464,7 @@ | |
will be outside the regular range. | |
The range of regular values, such as \mpiarg{tag}, can | |
be queried using environmental inquiry | |
-functions (Chapter~7 of the \mpii/ document). | |
+functions, see \namedref{Chapter}{chap:environment}. | |
The range of other values, such as \mpiarg{source}, depends on values given by | |
other \mpi/ routines (in the case of \mpiarg{source} it is the communicator | |
size). | |
_________________________________________________________________________ | |
Index: terms-2.tex #451 | |
=================================================================== | |
--- terms-2.tex (Revision 1920) | |
+++ terms-2.tex (Revision 1921) | |
@@ -189,22 +189,12 @@ | |
terms are used. | |
\begin{description} | |
-\item[\mpiterm{nonblocking}] A procedure is nonblocking if the procedure may return before the | |
+\item[\mpiterm{nonblocking}] A procedure is nonblocking if it may return before the associated | |
operation completes, and before the user is allowed to reuse | |
resources (such as buffers) specified in the call. | |
-A nonblocking request is \mpiterm{started} by the call that initiates it, e.g., | |
-\mpifunc{MPI\_ISEND}. | |
-The word complete is used with respect to operations, requests, and | |
+The word complete is used with respect to operations and any associated requests and/or | |
communications. An \mpiterm{operation completes} when the user is allowed | |
-to reuse resources, and any output buffers have been updated; i.e., a | |
-call to \mpifunc{MPI\_TEST} will return | |
-\mpiarg{flag}~=~\consti{true}. A \mpiterm{request is completed} by a call | |
-to wait, which returns, or a test or get status call which returns | |
-\mpiarg{flag}~=~\consti{true}. This completing call has two effects: | |
-the status is extracted from the request; in the case of test and | |
-wait, if the request was nonpersistent, it is | |
-\mpiterm{freed}, and becomes \mpiterm{inactive} if it was persistent. | |
-A \mpiterm{communication completes} when all participating operations complete. | |
+to reuse resources, and any output buffers have been updated. | |
\item[\mpiterm{blocking}] A procedure is blocking if return from the procedure indicates the user | |
is allowed to reuse resources specified in the call. | |
\item[\mpiterm{local}] | |
_________________________________________________________________________ | |
Index: terms-2.tex #452 | |
=================================================================== | |
--- terms-2.tex (Revision 1921) | |
+++ terms-2.tex (Revision 1922) | |
@@ -666,7 +666,7 @@ | |
\mpiii/, these functions | |
were given new names with | |
new bindings for the | |
-address arguments. The use of the old functions is deprecated. | |
+address arguments. The use of the old functions was declared as deprecated. | |
For consistency, here and | |
in | |
a few other cases, new C | |
_________________________________________________________________________ | |
Index: terms-2.tex #453 | |
=================================================================== | |
--- terms-2.tex (Revision 1925) | |
+++ terms-2.tex (Revision 1926) | |
@@ -649,7 +649,8 @@ | |
Since Fortran is case insensitive, linkers may use either lower case | |
or upper case when resolving Fortran names. Users of case sensitive | |
-languages should avoid the ``mpi\_'' and ``pmpi\_'' prefixes. | |
+languages should avoid any prefix of the form ``\code{MPI\_}'' and ``\code{PMPI\_}'', | |
+where any of the letters are either upper or lower case. | |
\subsection{Deprecated and Removed Names and Functions} | |
\label{sec:deprecated} | |
@@ -776,7 +777,10 @@ | |
capitals. Programs must not declare names, e.g., for | |
variables, subroutines, | |
functions, parameters, derived types, abstract interfaces, or modules, | |
-beginning with the prefix \code{MPI\_}. To avoid | |
+beginning with the prefix \code{MPI\_}, | |
+with the exception of \code{MPI\_} routines written by the user | |
+to make use of the profiling interface. | |
+To avoid | |
conflicting with the profiling interface, programs must also avoid subroutines and functions with the prefix \code{PMPI\_}. | |
This is mandated to avoid possible name collisions. | |
@@ -823,9 +827,13 @@ | |
Programs must not declare names (identifiers), e.g., for | |
variables, functions, constants, types, or macros, | |
beginning with | |
-the prefix \code{MPI\_}. | |
+any prefix of the form \code{MPI\_}, | |
+where any of the letters are either upper or lower case. | |
+An exception are \code{MPI\_} routines written by the user to | |
+make use of the profiling interface. | |
To support the profiling interface, programs must not declare | |
-functions with names beginning with the prefix \code{PMPI\_}. | |
+functions with names beginning with any prefix of the form \code{PMPI\_}, | |
+where any of the letters are either upper or lower case. | |
The definition of named constants, function prototypes, and type | |
definitions must be supplied in an include file \code{mpi.h}. | |
_________________________________________________________________________ | |
Index: terms-2.tex #455 | |
=================================================================== | |
--- terms-2.tex (Revision 1927) | |
+++ terms-2.tex (Revision 1928) | |
@@ -851,14 +851,6 @@ | |
Choice arguments are pointers of type \code{void *}. | |
-Address arguments are of \MPI/ defined type | |
-\type{MPI\_Aint}\cdeclindex{MPI\_Aint}. | |
-File displacements are of type \type{MPI\_Offset}\cdeclindex{MPI\_Offset}. | |
-\const{MPI\_Aint} is defined to be an integer of the size needed to | |
-hold any valid address on the target architecture. | |
-\type{MPI\_Offset} is defined to be an integer of the size needed to | |
-hold any valid file size on the target architecture. | |
- | |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
\subsection{Functions and Macros} | |
_________________________________________________________________________ | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment