-
-
Save RolfRabenseifner/348be66d82fc5ba71d36 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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