@@ -151,9 +151,9 @@ \chapter{Undefined Behavior in OpenSHMEM}\label{sec:undefined}
151
151
\tabularnewline
152
152
\hline
153
153
Use of non-symmetric variables & Some routines require remotely accessible
154
- variables to perform their function. For example, a \PUT {} to a non-symmetric variable may
155
- be trapped where possible and the library may abort the program. Another
156
- implementation may choose to continue execution with or without a warning.
154
+ variables to perform their function. For example, an \openshmem libray may detect a \PUT {} to a non-symmetric variable
155
+ and choose to abort the program.
156
+ However, another implementation may choose to continue execution with or without a warning.
157
157
\tabularnewline
158
158
\hline
159
159
Non-symmetric allocation of symmetric memory & The symmetric memory management routines are
@@ -648,12 +648,17 @@ \subsection{Table~\ref{p2psynctypes}: point-to-point synchronization types}
648
648
\chapter {Changes to this Document }\label {sec:changelog }
649
649
650
650
\section {Version 1.6 }
651
+ \label {changelog:v1.6 }
651
652
Major changes in \openshmem [1.6] include the addition of the new
652
653
\FUNC {shmem\_ team\_ ptr}, \FUNC {shmem\_ ibget}, and \FUNC {shmem\_ ibput}
653
654
functions.
654
655
655
656
The following list describes the specific changes in \openshmem [1.6]:
656
- \begin {itemize }
657
+ \begin {enumerate }
658
+ %
659
+ \item Added an inclusive (\FUNC {shmem\_ sum\_ inscan}) and exclusive
660
+ (\FUNC {shmem\_ sum\_ exscan}) collective summation operation.
661
+ \ChangelogRef {subsec:shmem_scan }
657
662
%
658
663
\item Added support for initialization and finalization routines to be called
659
664
multiple times, and added an initialization status query API
@@ -668,23 +673,14 @@ \section{Version 1.6}
668
673
update a remote flag without associated data transfer of a put-with-signal operation.
669
674
\ChangelogRef {subsec:shmem_signal_add, subsec:shmem_signal_set }%
670
675
%
671
- \item Clarified that \OPR {Fence} operations only guarantee ordering for
672
- operations that are performed on the same context.
673
- \ChangelogRef {subsec:shmem_fence }%
674
- %
675
676
\item Added a team-based pointer query routine:
676
677
\FUNC {shmem\_ team\_ ptr}.
677
678
\ChangelogRef {subsec:shmem_team_ptr }%
678
679
%
679
- \item Clarified that \FUNC {shmem\_ team\_ split\_ strided} and
680
- \FUNC {shmem\_ team\_ split\_ strided} return a nonzero value when the parent
681
- team compares equal to \LibConstRef {SHMEM \_TEAM \_INVALID }.
682
- \ChangelogRef {subsec:shmem_team_split_strided, subsec:shmem_team_split_2d }%
683
- %
684
- \item Removed \openshmem [1.5] Table 9, which was an incomplete duplicate of
685
- \openshmem [1.5] Table 10, and clarified the types, names, and supporting
686
- operations for team-based reductions.
687
- \ChangelogRef {teamreducetypes }%
680
+ \item Clarified that the behavior of \FUNC {shmem\_ team\_ split\_ strided} is
681
+ undefined when the input \VAR {start}, \VAR {stride}, and \VAR {size} arguments
682
+ imply a \textit {wrap-around } with respect to the parent team's \acp {PE}.
683
+ \ChangelogRef {subsec:shmem_team_split_strided }%
688
684
%
689
685
\item Added the session routines, \FUNC {shmem\_ ctx\_ session\_ start} and
690
686
\FUNC {shmem\_ ctx\_ session\_ stop}, which allow users to pass hints to the
@@ -703,11 +699,6 @@ \section{Version 1.6}
703
699
the world team.
704
700
\ChangelogRef {subsec:shmem_malloc, subsec:shmem_free, subsec:shmem_realloc,
705
701
subsec:shmem_align, subsec:shmmallochint, subsec:shmem_calloc }%
706
- \item Corrected the level argument's recommended value in API notes for
707
- \FUNC {shmem\_ pcontrol} to indicate that the value should be greater than
708
- 2 to enable profiling with profile library defined effects and
709
- additional arguments.
710
- \ChangelogRef {subsec:shmem_pcontrol }
711
702
%
712
703
\item Clarified that \FUNC {shmem\_ team\_ get\_ config} returns the current
713
704
configuration values, which may differ from the values assigned at the
@@ -722,7 +713,44 @@ \section{Version 1.6}
722
713
stride argument is 0 or negative.
723
714
\ChangelogRef {subsec:shmem_team_split_strided }
724
715
%
725
- \end {itemize }
716
+ \item Clarified the requirements for the source buffer before entering the
717
+ collective routines.
718
+ \ChangelogRef {subsec:shmem_alltoall,subsec:shmem_broadcast,subsec:shmem_collect,subsec:shmem_reductions,subsec:shmem_scan }
719
+ %
720
+ \item Added a new Errata Section~\ref {sec:errata } that indicates errors or ambiguities in the
721
+ \openshmem specification and the version that required correction or clarification.
722
+ \ChangelogRef {sec:errata }
723
+ %
724
+ \item Removed \openshmem [1.5] Table 9, which was an incomplete duplicate of
725
+ \openshmem [1.5] Table 10, and clarified the types, names, and supporting
726
+ operations for team-based reductions. \label {changelog:reduction_table }
727
+ \ChangelogRef {teamreducetypes }%
728
+ %
729
+ \item Clarified that \VAR {source} and \VAR {dest} arrays must be the same
730
+ across \acp {PE} in \openshmem reductions \label {changelog:reduction_args }
731
+ \ChangelogRef {subsec:shmem_reductions }
732
+ %
733
+ \item Clarified that \OPR {Fence} operations only guarantee ordering for
734
+ operations that are performed on the same context. \label {changelog:fence_ctx }
735
+ \ChangelogRef {subsec:shmem_fence }%
736
+ %
737
+ \item Clarified that \FUNC {shmem\_ test\_ all} and \FUNC {shmem\_ test\_ all\_ vector}
738
+ routines return 1 when the test set is empty. \label {changelog:test_all }
739
+ \ChangelogRef {subsec:shmem_test_all,subsec:shmem_test_all_vector }%
740
+ %
741
+ \item Clarified that \FUNC {shmem\_ team\_ split\_ strided} and
742
+ \FUNC {shmem\_ team\_ split\_ strided} return a nonzero value when the parent
743
+ team compares equal to \LibConstRef {SHMEM \_TEAM \_INVALID }. \label {changelog:split_strided_2d }
744
+ \ChangelogRef {subsec:shmem_team_split_strided, subsec:shmem_team_split_2d }%
745
+ %
746
+ \item Corrected the level argument's recommended value in API notes for
747
+ \FUNC {shmem\_ pcontrol} to indicate that the value should be greater than
748
+ 2 to enable profiling with profile library defined effects and
749
+ additional arguments. \label {changelog:pcontrol }
750
+ \ChangelogRef {subsec:shmem_pcontrol }
751
+ %
752
+
753
+ \end {enumerate }
726
754
727
755
\section {Version 1.5 }
728
756
Major changes in \openshmem [1.5] include the addition of new team-based
@@ -732,7 +760,7 @@ \section{Version 1.5}
732
760
interface, and the removal of the entire \Fortran \ac {API}.
733
761
734
762
The following list describes the specific changes in \openshmem [1.5]:
735
- \begin {itemize }
763
+ \begin {enumerate }
736
764
%
737
765
\item Removed \FUNC {SHMEM\_ CACHE}.
738
766
\ChangelogRef {dep:shmem_cache }%
@@ -883,7 +911,7 @@ \section{Version 1.5}
883
911
\item Clarified the atomicity guarantees of the \openshmem memory model.
884
912
\ChangelogRef {subsec:amo_guarantees }%
885
913
%
886
- \end {itemize }
914
+ \end {enumerate }
887
915
888
916
\section {Version 1.4 }
889
917
Major changes in \openshmem [1.4] include
@@ -898,7 +926,7 @@ \section{Version 1.4}
898
926
and \Cstd [11] type-generic interfaces for point-to-point synchronization.
899
927
900
928
The following list describes the specific changes in \openshmem [1.4]:
901
- \begin {itemize }
929
+ \begin {enumerate }
902
930
%
903
931
\item New communication management \ac {API}, including \FUNC {shmem\_ ctx\_ create};
904
932
\FUNC {shmem\_ ctx\_ destroy}; and additional \ac {RMA}, \ac {AMO}, and memory ordering
@@ -1018,7 +1046,7 @@ \section{Version 1.4}
1018
1046
\item Clarified that complex-typed reductions in C are optionally supported.
1019
1047
\ChangelogRef {subsec:shmem_reductions }%
1020
1048
%
1021
- \end {itemize }
1049
+ \end {enumerate }
1022
1050
1023
1051
1024
1052
@@ -1031,7 +1059,7 @@ \section{Version 1.3}
1031
1059
and \Cstd [11] type-generic interfaces for \ac {RMA} and \ac {AMO} operations.
1032
1060
1033
1061
The following list describes the specific changes in \openshmem [1.3]:
1034
- \begin {itemize }
1062
+ \begin {enumerate }
1035
1063
%
1036
1064
\item Clarified implementation of \acp {PE} as threads.
1037
1065
%
@@ -1072,7 +1100,7 @@ \section{Version 1.3}
1072
1100
\item Deprecation of \FUNC {SHMEM\_ CACHE}.
1073
1101
\ChangelogRef {dep:shmem_cache }%
1074
1102
%
1075
- \end {itemize }
1103
+ \end {enumerate }
1076
1104
1077
1105
1078
1106
@@ -1087,7 +1115,7 @@ \section{Version 1.2}
1087
1115
and clarifications to several \ac {API} descriptions.
1088
1116
1089
1117
The following list describes the specific changes in \openshmem [1.2]:
1090
- \begin {itemize }
1118
+ \begin {enumerate }
1091
1119
%
1092
1120
\item Added specification of \VAR {pSync} initialization for all routines that use it.
1093
1121
%
@@ -1143,7 +1171,7 @@ \section{Version 1.2}
1143
1171
support across versions of the \openshmem Specification.
1144
1172
\ChangelogRef {sec:dep }%
1145
1173
%
1146
- \end {itemize }
1174
+ \end {enumerate }
1147
1175
1148
1176
1149
1177
@@ -1157,7 +1185,7 @@ \section{Version 1.1}
1157
1185
and general readabilty and usability improvements to the document structure.
1158
1186
1159
1187
The following list describes the specific changes in \openshmem [1.1]:
1160
- \begin {itemize }
1188
+ \begin {enumerate }
1161
1189
%
1162
1190
\item Clarifications of the completion semantics of memory synchronization
1163
1191
interfaces.
@@ -1266,6 +1294,47 @@ \section{Version 1.1}
1266
1294
\item Name changes for UV and ICE for \ac {SGI} systems.
1267
1295
\ChangelogRef {sec:openshmem_history }%
1268
1296
%
1269
- \end {itemize }
1297
+ \end {enumerate }
1298
+
1299
+ \chapter {Errata }\label {sec:errata }
1300
+
1301
+ Errors or ambiguities in the \openshmem specification may be discovered after
1302
+ publication.
1303
+ Errata, or corrections, are included in the the sections below indicating the
1304
+ version of the OpenSHMEM specification that required the correction or
1305
+ clarification.
1306
+ These corrections have been applied to all subsequent versions of the
1307
+ specification and this section serves as a historical record of the changes
1308
+ made to assist users and implementers with applying the necessary corrections.
1309
+ Errata that result in a change to the specifciation are also included in
1310
+ Annex~\ref {sec:changelog }.
1311
+ For an implementation to comply with a particular version of \openshmem , it
1312
+ must account for all errata associated with that version as indicated below.
1313
+
1314
+ \section {Version 1.5 }
1315
+
1316
+ \begin {enumerate }
1317
+ \item Removed \openshmem [1.5] Table 9, which was an incomplete duplicate of
1318
+ \openshmem [1.5] Table 10, and clarified the types, names, and supporting
1319
+ operations for team-based reductions
1320
+ (\ref {changelog:v1.6 }.\ref {changelog:reduction_table }).
1321
+ \item Clarified that \VAR {source} and \VAR {dest} arrays must be the same
1322
+ across \acp {PE} in \openshmem reductions
1323
+ (\ref {changelog:v1.6 }.\ref {changelog:reduction_args }).
1324
+ \item Clarified that \OPR {Fence} operations only guarantee ordering for operations
1325
+ that are performed on the same context
1326
+ (\ref {changelog:v1.6 }.\ref {changelog:fence_ctx }).
1327
+ \item Clarified that \FUNC {shmem\_ test\_ all} and
1328
+ \FUNC {shmem\_ test\_ all\_ vector} routines return 1 when the test set is empty
1329
+ (\ref {changelog:v1.6 }.\ref {changelog:test_all }).
1330
+ \item Clarified that \FUNC {shmem\_ team\_ split\_ strided} and
1331
+ \FUNC {shmem\_ team\_ split\_ 2d} return nonzero when the parent team is
1332
+ \LibConstRef {SHMEM \_TEAM \_INVALID }
1333
+ (\ref {changelog:v1.6 }.\ref {changelog:split_strided_2d }).
1334
+ \item Corrected the \VAR {level} argument's recommended value in API notes for
1335
+ \FUNC {shmem\_ pcontrol} to indicate that the value should be greater than 2 to enable
1336
+ profiling with profile library defined effects and additional arguments
1337
+ (\ref {changelog:v1.6 }.\ref {changelog:pcontrol }).
1338
+ \end {enumerate }
1270
1339
1271
1340
% end of setlength command that was started in frontmatter.tex
0 commit comments