-
-
Save RolfRabenseifner/68369a61a99082b67c0f 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: changes.tex | |
=================================================================== | |
--- changes.tex (Revision 1750) | |
+++ changes.tex (Revision 2015) | |
@@ -2,7 +2,7 @@ | |
\label{sec:change} | |
\label{chap:change} | |
-This annex summarizes changes from the previous version of the | |
+Annex~\ref{sec:change}.1 summarizes changes from the previous version of the | |
\MPI/ standard to the version presented by this document. | |
Only significant changes (i.e., clarifications and new features) | |
that might either require implementation effort in the | |
@@ -10,7 +10,307 @@ | |
user's perspective are presented. | |
Editorial modifications, formatting, typo corrections and | |
minor clarifications are not shown. | |
+If not otherwise noted, the section and page references refer to the | |
+locations of the change or new functionality in this current | |
+version of the standard. | |
+Changes in Annexes~\ref{sec:change}.2--\ref{sec:changes:last} | |
+were already introduced in the corresponding sections | |
+in previous versions of this standard. | |
+\section{Changes from Version 3.0 to Version 3.1} | |
+\label{subsec:30to31} | |
+ | |
+% The following tickets do not have a change-log entry: | |
+% | |
+% 1) The following tickets are passed MPI-3.0-errata tickets: | |
+% | |
+% Tickets that need NOT a change-log and do not have one: | |
+% #347 #348 #354 #359 #367 #385 #387 #390 #393 #403 #405 | |
+% #406 #413 #420 #431 #433 #440 #441 #443 #444 #445 #446 | |
+% #447 #449 #450 #451 #452 #453 | |
+% | |
+% Tickets that MAY need a change-log and do NOT yet have one: | |
+% #383 #394 | |
+% | |
+% Tickets that need a change-log and do NOT yet have one: | |
+% #345 #415 | |
+% | |
+% Tickets that need a change-log and have one: | |
+% #350 #355 #362 #386 #388 #389 #391 #419 #424 | |
+% (#421 belongs to #349, see below) | |
+% | |
+% 2) The following tickets are passed MPI-3.1 tickets: | |
+% | |
+% Tickets that need NOT a change-log and do not have one: | |
+% #368 #455 | |
+% | |
+% Tickets that need a change-log and do NOT yet have one: | |
+% #357 #400 | |
+% | |
+% Tickets that need a change-log and have one: | |
+% #273 #349+#402+#404+#421 #369 #377 #378 | |
+ | |
+\subsection{Fixes to Errata in Previous Versions of \texorpdfstring{\MPI/}{MPI}} | |
+\label{sec:changes-30-31-errata} | |
+ | |
+\begin{enumerate} | |
+ | |
+% 01.--- MPI-3.0-erratum Ticket 388 | |
+\item | |
+Chapters~\ref{chap:pt2pt}--\ref{chap:binding-2}, | |
+Annex~\ref{sec:lang:fortran-mpi-f08-module} on page~\pageref{sec:lang:fortran-mpi-f08-module}, | |
+and Example~\ref{coll-exX-fortran} on page~\pageref{coll-exX-fortran}, and | |
+\MPIIIIDOTO/ Chapters 3-17, Annex A.3 on page 707, and Example 5.21 on page 187. | |
+\newline | |
+Within the \code{mpi\_f08} Fortran support method, \code{BIND(C)} was removed from | |
+all \code{SUBROUTINE}, \code{FUNCTION}, and \code{ABSTRACT INTERFACE} definitions. | |
+ | |
+% 02.--- MPI-3.0-erratum Ticket 415 | |
+\item | |
+Section~\ref{subsec:pt2pt-status} on page~\pageref{subsec:pt2pt-status}, and | |
+\MPIIIIDOTO/ Section~3.2.5 on page~30. | |
+\newline | |
+The three public fields \const{MPI\_SOURCE}, \const{MPI\_TAG}, and \const{MPI\_ERROR} | |
+of the Fortran derived type \ftype{TYPE(MPI\_Status)}\cdeclindex{MPI\_Status} | |
+must be of type \ftype{INTEGER}. | |
+ | |
+% 03.--- MPI-3.0-erratum Ticket 424 | |
+\item | |
+Section~\ref{sec:matching-probe} on page~\pageref{sec:matching-probe}, and | |
+\MPIIIIDOTO/ Section~3.8.2 on page~67. | |
+\newline | |
+The flag arguments of the Fortran interfaces of \mpifunc{MPI\_IMPROBE} | |
+were originally incorrectly defined as \ftype{INTEGER} (instead as \ftype{LOGICAL}). | |
+ | |
+% 04.--- MPI-3.0-erratum Ticket 345 | |
+\item | |
+Section~\ref{subsec:context-intracomconst} on page~\pageref{subsec:context-intracomconst}, and | |
+\MPIIIIDOTO/ Section~6.4.2 on page 237. | |
+\newline | |
+In the \code{mpi\_f08} binding of \mpifunc{MPI\_COMM\_IDUP}, | |
+the output argument \mpiarg{newcomm} is declared as \code{ASYNCHRONOUS}. | |
+ | |
+% 05.--- MPI-3.0-erratum Ticket 345 | |
+\item | |
+Section~\ref{sec:comm-info} on page~\pageref{sec:comm-info}, and | |
+\MPIIIIDOTO/ Section~6.4.4 on page 248. | |
+\newline | |
+In the \code{mpi\_f08} binding of \mpifunc{MPI\_COMM\_SET\_INFO}, | |
+the intent of \mpiarg{comm} is \code {IN}, and | |
+the optional output argument \mpiarg{ierror} was missing. | |
+ | |
+% 06.--- MPI-3.0-erratum Ticket 419 | |
+\item | |
+Section~\ref{sec:sparsecoll} on page~\pageref{sec:sparsecoll}, and | |
+\MPIIIIDOTO/ Sections 7.6, on pages 314. | |
+\newline | |
+In the case of virtual general graph topolgies (created with \mpifunc{MPI\_CART\_CREATE}), | |
+the use of neighborhood collective communication is restricted to adjacency matrices | |
+with the number of edges between any two processes is defined to be the same for | |
+both processes (i.e., with a symmetric adjacency matrix). | |
+ | |
+% 07.--- MPI-3.0-erratum Ticket 345 | |
+\item | |
+Section~\ref{subsec:inquiry-version} on page~\pageref{subsec:inquiry-version}, and | |
+\MPIIIIDOTO/ Section~8.1.1 on page 335. | |
+\newline | |
+In the \code{mpi\_f08} binding of \mpifunc{MPI\_GET\_LIBRARY\_VERSION}, | |
+a typo in the \mpiarg{resultlen} argument was corrected. | |
+ | |
+% 08.--- MPI-3.0-erratum Ticket 388 | |
+\item | |
+Sections~\ref{sec:misc-memalloc} (\mpifunc{MPI\_ALLOC\_MEM} and \mpifunc{MPI\_ALLOC\_MEM\_CPTR}),\\ | |
+\ref{sec:winalloc} (\mpifunc{MPI\_WIN\_ALLOCATE} and \mpifunc{MPI\_WIN\_ALLOCATE\_CPTR}),\\ | |
+\ref{sec:winallocshared} (\mpifunc{MPI\_WIN\_ALLOCATE\_SHARED} and \mpifunc{MPI\_WIN\_ALLOCATE\_SHARED\_CPTR}),\\ | |
+\ref{sec:winallocshared} (\mpifunc{MPI\_WIN\_SHARED\_QUERY} and \mpifunc{MPI\_WIN\_SHARED\_QUERY\_CPTR}),\\ | |
+\ref{sec:prof:require} and \ref{sec:prof:complications} (Profiling interface), | |
+and corresponding sections in \MPIIIIDOTO/. | |
+\newline | |
+The linker name concept was substituted by defining specific procedure names. | |
+ | |
+% 09.--- MPI-3.0-erratum Ticket 362 | |
+\item | |
+Section~\ref{sec:winalloc} on page~\pageref{sec:winalloc}, and | |
+\MPIIIIDOTO/ Section~11.2.2 on page 407. | |
+\newline | |
+The \infokey{same\_size} info key can be used with all window flavors. | |
+ | |
+% 10.--- MPI-3.0-erratum Ticket 350 | |
+\item | |
+Section~\ref{sec:1sided-accumulate} on page~\pageref{sec:1sided-accumulate}, and | |
+\MPIIIIDOTO/ Section~11.3.4 on page 424. | |
+\newline | |
+Origin buffer arguments to \mpifunc{MPI\_GET\_ACCUMULATE} are ignored when the \const{MPI\_NO\_OP} operation is used. | |
+ | |
+% 11.--- MPI-3.0-erratum Ticket 355 | |
+\item | |
+Section~\ref{sec:1sided-accumulate} on page~\pageref{sec:1sided-accumulate}, and | |
+\MPIIIIDOTO/ Section~11.3.4 on page 424. | |
+\newline | |
+Clarify the roles of origin, result, and target communication parameters in \mpifunc{MPI\_GET\_ACCUMULATE}. | |
+ | |
+% 12.--- MPI-3.0-erratum Ticket 383 | |
+\item | |
+Section~\ref{sec:mpit} on page~\pageref{sec:mpit}, and | |
+\MPIIIIDOTO/ Section 14.3 on page~561 | |
+\newline | |
+New paragraph and advice to users clarifying intent of variable names in the tools information interface. | |
+ | |
+% 13.--- MPI-3.0-erratum Ticket 383 | |
+\item | |
+Section~\ref{sec:mpit:strings} on page~\pageref{sec:mpit:strings}, and | |
+\MPIIIIDOTO/ Section~14.3.3 on page~563. | |
+\newline | |
+New paragraph clarifying variable name equivalence in the tools information interface. | |
+ | |
+% 14.--- MPI-3.0-erratum Ticket 383 | |
+\item | |
+Sections~\ref{sec:mpit:cvar}, \ref{sec:mpit:pvar}, and \ref{sec:mpit:cat} on pages~\pageref{sec:mpit:cvar}, \pageref{sec:mpit:pvar}, and \pageref{sec:mpit:cat}, and | |
+\newline | |
+\MPIIIIDOTO/ Sections~14.3.6, 14.3.7, and 14.3.8 on pages 567, 573, and 584. | |
+\newline | |
+In functions \mpifunc{MPI\_T\_CVAR\_GET\_INFO}, \mpifunc{MPI\_T\_PVAR\_GET\_INFO}, and \mpifunc{MPI\_T\_CATEGORY\_GET\_INFO}, clarification of parameters that must be identical for equivalent control variable / performance variable / category names across connected processes. | |
+ | |
+% 15.--- MPI-3.0-erratum Ticket 391 | |
+\item | |
+Section~\ref{sec:mpit:pvar} on page~\pageref{sec:mpit:pvar}, and | |
+\MPIIIIDOTO/ Section~14.3.7 on page~573. | |
+\newline | |
+Clarify return code | |
+\mpifuncindex{MPI\_T\_PVAR\_START}% | |
+\mpifuncindex{MPI\_T\_PVAR\_STOP}% | |
+\mpifuncindex{MPI\_T\_PVAR\_RESET}% | |
+of \mpiskipfunc{MPI\_T\_PVAR\_\textrm{\{}START,STOP,RESET\textrm{\}}} routines. | |
+ | |
+% 16.--- MPI-3.0-erratum Ticket 386 | |
+\item | |
+Section~\ref{sec:mpit:pvar} on page~\pageref{sec:mpit:pvar}, and | |
+\MPIIIIDOTO/ Section~14.3.7 on page~579, line~7. | |
+\newline | |
+Clarify the return code when bad handle is passed to | |
+\mpifuncindex{MPI\_T\_PVAR\_HANDLE\_FREE}% | |
+\mpifuncindex{MPI\_T\_PVAR\_START}% | |
+\mpifuncindex{MPI\_T\_PVAR\_STOP}% | |
+\mpifuncindex{MPI\_T\_PVAR\_READ}% | |
+\mpifuncindex{MPI\_T\_PVAR\_WRITE}% | |
+\mpifuncindex{MPI\_T\_PVAR\_RESET}% | |
+\mpifuncindex{MPI\_T\_PVAR\_READRESET}% | |
+an \mpiskipfunc{MPI\_T\_PVAR\_*} routine. | |
+ | |
+% 17.--- MPI-3.0-erratum Ticket 388 | |
+\item | |
+Section~\ref{f90:extended} on page~\pageref{f90:extended}, and | |
+\MPIIIIDOTO/ Section~17.1.4 on page~603. | |
+\newline | |
+The advice to implementors at the end of the section was rwritten and moved into the following section. | |
+ | |
+% 18.--- MPI-3.0-erratum Ticket 388 | |
+\item | |
+Section~\ref{sec:f90:linker-names} on page~\pageref{sec:f90:linker-names}, and | |
+\MPIIIIDOTO/ Section~17.1.5 on page~605. | |
+\newline | |
+The section was fully rewritten. The linker name concept was substituted by defining specific procedure names. | |
+ | |
+% 19.--- MPI-3.0-erratum Ticket 388 | |
+\item | |
+Section~\ref{sec:f90:different-fortran-versions} on page~\pageref{sec:f90:different-fortran-versions}, and | |
+\MPIIIIDOTO/ Section~17.1.6 on page~611. | |
+\newline | |
+The requirements on \code{BIND(C)} procedure interfaces are removed. | |
+ | |
+% 20.--- MPI-3.0-erratum Ticket 389 | |
+\item | |
+Annexes~\ref{sec:lang:c-mpi-interfaces}, \ref{sec:lang:fortran-mpi-f08-module}, and~\ref{sec:lang:fortran-mpifh-and-mpi-module} | |
+on pages~\pageref{sec:lang:c-mpi-interfaces}, \pageref{sec:lang:fortran-mpi-f08-module}, and~\pageref{sec:lang:fortran-mpifh-and-mpi-module}, and | |
+\newline | |
+\MPIIIIDOTO/ Annexes~A.2, A.3, and A.4 on pages~685, 707, and 756. | |
+\newline | |
+The predefined callback \mpifunc{MPI\_CONVERSION\_FN\_NULL} was added to all three annexes. | |
+ | |
+% 21.--- MPI-3.0-erratum Ticket 345 | |
+\item | |
+Annex~\ref{app:subsec:f08:context} on page~\pageref{app:subsec:f08:context}, and | |
+\MPIIIIDOTO/ Annex~A.3.4 on page~724. | |
+\newline | |
+In the \code{mpi\_f08} binding | |
+\mpifuncindex{MPI\_COMM\_DUP\_FN}% | |
+\mpifuncindex{MPI\_COMM\_NULL\_COPY\_FN}% | |
+\mpifuncindex{MPI\_COMM\_NULL\_DELETE\_FN}% | |
+\mpifuncindex{MPI\_TYPE\_DUP\_FN}% | |
+\mpifuncindex{MPI\_TYPE\_NULL\_COPY\_FN}% | |
+\mpifuncindex{MPI\_TYPE\_NULL\_DELETE\_FN}% | |
+\mpifuncindex{MPI\_WIN\_DUP\_FN}% | |
+\mpifuncindex{MPI\_WIN\_NULL\_COPY\_FN}% | |
+\mpifuncindex{MPI\_WIN\_NULL\_DELETE\_FN}% | |
+of\\ | |
+\mpiskipfunc{MPI\_\textrm{\{}COMM$|$TYPE$|$WIN\textrm{\}}\_\textrm{\{}DUP$|$NULL\_COPY$|$NULL\_DELETE\textrm{\}}\_FN}, | |
+all \code{INTENT(...)} information must be removed. | |
+ | |
+\end{enumerate} | |
+ | |
+\subsection{Changes in \texorpdfstring{\MPIIIIDOTI/}{MPI-3.1}} | |
+\label{sec:changes-30-31} | |
+ | |
+\begin{enumerate} | |
+ | |
+% 01.--- MPI-3.0 Tickets 349, 402, 404, 421 | |
+\item | |
+Sections~\ref{sec:macros} and~\ref{subsec:pt2pt-addfunc} on pages~\pageref{sec:macros} and~\pageref{subsec:pt2pt-addfunc}. | |
+\newline | |
+The use of the intrinsic operators ``\code{+}'' and ``\code{-}'' for absolute addresses is substituted by \mpifunc{MPI\_AINT\_ADD} and \mpifunc{MPI\_AINT\_DIFF}. In C, they can be implemented as macros. | |
+ | |
+% 02.--- MPI-3.1 Ticket 357 | |
+\item | |
+Sections~\ref{subsec:inquiry-version}, \ref{sec:inquiry-startup}, and~\ref{sec:ei-threads} | |
+on pages~\pageref{subsec:inquiry-version}, \pageref{sec:inquiry-startup}, and~\pageref{sec:ei-threads}. | |
+\newline | |
+The routines \mpifunc{MPI\_INITIALIZED}, \mpifunc{MPI\_FINALIZED}, | |
+\mpifunc{MPI\_QUERY\_THREAD}, \mpifunc{MPI\_IS\_THREAD\_MAIN}, | |
+\mpifunc{MPI\_GET\_VERSION}, and \mpifunc{MPI\_GET\_LIBRARY\_VERSION} | |
+are callable from threads without restriction (in the sense of | |
+MPI\_THREAD\_MULTIPLE), irrespective of the actual level of thread support | |
+provided, in the case where the implementation supports threads. | |
+ | |
+% 03.--- MPI-3.1 Ticket 369 | |
+\item | |
+Section~\ref{chap:one-side-2:win_create} on page~\pageref{chap:one-side-2:win_create}. | |
+\newline | |
+The \infokey{same\_disp\_unit} info key was added for use in RMA window creation routines. | |
+ | |
+% 04.--- MPI-3.1 Ticket 273 | |
+\item | |
+Sections~\ref{sec:io-explicit} and~\ref{sec:io-indiv-ptr} | |
+on pages~\pageref{sec:io-explicit} and~\pageref{sec:io-indiv-ptr}. | |
+\newline | |
+Added \mpifunc{MPI\_File\_iread\_at\_all}, \mpifunc{MPI\_File\_iwrite\_at\_all}, | |
+\mpifunc{MPI\_File\_iread\_all}, and \mpifunc{MPI\_File\_iwrite\_all} | |
+ | |
+% 05.--- MPI-3.1 Ticket 378 | |
+\item | |
+Sections~\ref{sec:mpit:cvar}, \ref{sec:mpit:pvar}, and \ref{sec:mpit:cat} | |
+on pages~\pageref{sec:mpit:cvar}, \pageref{sec:mpit:pvar}, and \pageref{sec:mpit:cat}. | |
+\newline | |
+Clarified that \code{NULL} parameters can be provided | |
+\mpifuncindex{MPI\_T\_CVAR\_GET\_INFO}% | |
+\mpifuncindex{MPI\_T\_PVAR\_GET\_INFO}% | |
+\mpifuncindex{MPI\_T\_CATEGORY\_GET\_INFO}% | |
+in\\ | |
+\mpiskipfunc{MPI\_T\_\textrm{\{}CVAR$|$PVAR$|$CATEGORY\textrm{\}}\_GET\_INFO} routines. | |
+ | |
+% 06.--- MPI-3.1 Ticket 377 and 400 | |
+\item | |
+Sections~\ref{sec:mpit:cvar}, \ref{sec:mpit:pvar}, \ref{sec:mpit:cat}, and~\ref{sec:mpit:retcodes} | |
+on pages~\pageref{sec:mpit:cvar}, \pageref{sec:mpit:pvar}, \pageref{sec:mpit:cat}, and~\pageref{sec:mpit:retcodes}. | |
+\newline | |
+New routines \mpifunc{MPI\_T\_CVAR\_GET\_INDEX}, \mpifunc{MPI\_T\_PVAR\_GET\_INDEX}, | |
+\mpifunc{MPI\_T\_CATEGORY\_GET\_INDEX}, were added to support retrieving | |
+indices of variables and categories. | |
+The error codes \const{MPI\_T\_ERR\_INVALID} and \const{MPI\_T\_ERR\_INVALID\_NAME} | |
+were added to indicate invalid uses of the interface. | |
+ | |
+\end{enumerate} | |
+ | |
+ | |
\section{Changes from Version 2.2 to Version 3.0} | |
\label{subsec:22to30} | |
@@ -60,7 +360,6 @@ | |
\item | |
Sections~\ref{sec:fortran-binding-issues} and~\ref{sec:c-binding-issues} | |
on pages~\pageref{sec:fortran-binding-issues} and~\pageref{sec:c-binding-issues}, and | |
-\newline | |
\MPIIIDOTII/ Section~2.6.2 on page~17, lines~41-42, | |
Section~2.6.3 on page~18, lines~15-16, and | |
Section~2.6.4 on page~18, lines~40-41. | |
@@ -81,7 +380,6 @@ | |
\pageref{table:io:extsizes}, | |
%-REMOVED-C++ \pageref{tab:cpp-basic-datatypes}, | |
and \pageref{subsec:annexa-const}, and | |
-\newline | |
\MPIIIDOTII/ Sections 3.2.2, 5.9.2, 13.5.2 Table 13.2, 16.1.16 Table 16.1, and Annex A.1.1 on pages 27, 164, 433, 472 and 513 | |
\newline | |
This is an \MPIIIDOTII/ erratum: | |
@@ -105,7 +403,6 @@ | |
% 04.--- MPI-3.0 Ticket 192 = MPI-2.2 ERRATUM | |
\item | |
Section~\ref{subsec:topol-inquiry} on page~\pageref{subsec:topol-inquiry}, and | |
-\newline | |
\MPIIIDOTII/, Section 7.5.5 on page 257, C++ interface on page 264, line 3. | |
\newline | |
This is an \MPIIIDOTII/ erratum: | |
@@ -117,7 +414,6 @@ | |
% 05.--- MPI-3.0 Ticket 171 = MPI-2.2 ERRATUM | |
\item | |
Section~\ref{subsec:ext32}, Table~\ref{table:io:extsizes} on page~\pageref{table:io:extsizes}, and | |
-\newline | |
\MPIIIDOTII/, Section 13.5.3, Table 13.2 on page 433. | |
\newline | |
This was an \MPIIIDOTII/ erratum: | |
@@ -628,7 +924,6 @@ | |
\item | |
Section~\ref{subsec:context-cachecomm} on page~\pageref{subsec:context-cachecomm}. | |
\newline | |
-Section 6.7.2 on page 226. | |
It was clarified that in Fortran, the flag values | |
returned by a \mpiarg{comm\_copy\_attr\_fn} callback, | |
% RAB: The predefined callbacks are "constant" "function" pointers, therefore in both indexes | |
@@ -937,6 +1232,7 @@ | |
\end{enumerate} | |
\section{Changes from Version 2.0 to Version 2.1} | |
+\label{sec:changes:last} | |
\begin{enumerate} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment