Skip to content

Commit

Permalink
Merge branch 'master' into feature/sig-add-set
Browse files Browse the repository at this point in the history
  • Loading branch information
jdinan authored Oct 4, 2023
2 parents 1c254ce + 84f33ce commit 86310e7
Show file tree
Hide file tree
Showing 6 changed files with 68 additions and 3 deletions.
13 changes: 13 additions & 0 deletions content/backmatter.tex
Original file line number Diff line number Diff line change
Expand Up @@ -664,6 +664,10 @@ \section{Version 1.6}
update a remote flag without associated data transfer of a put-with-signal operation.
\ChangelogRef{subsec:shmem_signal_add, subsec:shmem_signal_set}%
%
\item Clarified that \OPR{Fence} operations only guarantee ordering for
operations that are performed on the same context.
\ChangelogRef{subsec:shmem_fence}%
%
\item Added a team-based pointer query routine:
\FUNC{shmem\_team\_ptr}.
\ChangelogRef{subsec:shmem_team_ptr}%
Expand All @@ -678,10 +682,19 @@ \section{Version 1.6}
operations for team-based reductions.
\ChangelogRef{teamreducetypes}%
%
\item Added fine grained completion routine: \FUNC{shmem\_pe\_quiet}.
\ChangelogRef{subsec:shmem_pe_quiet}%
%
\item Split the listings for the \FUNC{shmem\_\{malloc, free, realloc, align\}}
functions from a single entry in \openshmem[1.5] into separate entries.
\ChangelogRef{subsec:shmem_malloc, subsec:shmem_free, subsec:shmem_realloc,
subsec:shmem_align}%
\item Corrected the level argument's recommended value in API notes for
\FUNC{shmem\_pcontrol} to indicate that the value should be greater than
2 to enable profiling with profile library defined effects and
additional arguments.
\ChangelogRef{subsec:shmem_pcontrol}
%
\end{itemize}

\section{Version 1.5}
Expand Down
2 changes: 1 addition & 1 deletion content/shmem_fence.tex
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
\ac{PE} on the given context prior
to the call to \FUNC{shmem\_fence} are guaranteed to be delivered before any
subsequent operations on symmetric data
objects to the same \ac{PE}. \FUNC{shmem\_fence} guarantees order of delivery,
objects to the same \ac{PE} on the same context. \FUNC{shmem\_fence} guarantees order of delivery,
not completion. It does not guarantee order of delivery of nonblocking
\GET{} or values fetched by nonblocking \ac{AMO} routines.
If \VAR{ctx} has the value \CONST{SHMEM\_CTX\_INVALID}, no operation is
Expand Down
2 changes: 1 addition & 1 deletion content/shmem_pcontrol.tex
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
\item \texttt{level == 1} Profiling is enabled at the default level of detail.
\item \texttt{level == 2} Profiling is enabled and profile buffers are
flushed if available.
\item \texttt{level >= 2} Profiling is enabled with profile library defined
\item \texttt{level > 2} Profiling is enabled with profile library defined
effects and additional arguments.
\end{itemize}

Expand Down
47 changes: 47 additions & 0 deletions content/shmem_pe_quiet.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
\apisummary{
Waits for completion of all outstanding memory store, blocking
\PUT{}, \ac{AMO}, and \emph{put-with-signal}, as well as
nonblocking \PUT{}, \emph{put-with-signal}, and \GET{} routines
to symmetric data objects issued by the calling \ac{PE} at the target
\acp{PE}.
}

\begin{apidefinition}

\begin{Csynopsis}
void @\FuncDecl{shmem\_pe\_quiet}@(const int *target_pes, size_t npes);
void @\FuncDecl{shmem\_ctx\_pe\_quiet}@(shmem_ctx_t ctx, const int *target_pes, size_t npes);
\end{Csynopsis}

\begin{apiarguments}
\apiargument{IN}{ctx}{A context handle specifying the context on which to perform the operation.
When this argument is not provided, the operation is performed on
the default context.}
\apiargument{IN}{target\_pes}{Address of target \ac{PE} array where the
operations need to be completed}
\apiargument{IN}{npes}{The number of \acp{PE} in the target \ac{PE} array}

\end{apiarguments}

\apidescription{
The \FUNC{shmem\_pe\_quiet} ensures completion of memory store, blocking
\PUT{}, \ac{AMO}, and \emph{put-with-signal}, as well as nonblocking
\PUT{}, \emph{put-with-signal}, and \GET{} routines on the symmetric data
objects issued by the calling \ac{PE} to the target \acp{PE} and on the
given context. If \VAR{npes} is set to 0, the \VAR{target\_pes} is ignored
and the routine returns immediately.

The completion and visibility semantics of these operations are the same as the
\FUNC{shmem\_quiet} routine. However, it applies only to the target
\acp{PE}, i.e., the operations to the target \acp{PE} are guaranteed to be
complete and visible to all \acp{PE} when \FUNC{shmem\_pe\_quiet} returns.
}
\apireturnvalues{
None.
}

\apinotes{
On certain platforms, when \FUNC{shmem\_pe\_quiet} is invoked on a set of
\acp{PE}, the performance might be equivalent to \FUNC{shmem\_quiet}.
}
\end{apidefinition}
4 changes: 3 additions & 1 deletion content/shmem_reductions.tex
Original file line number Diff line number Diff line change
Expand Up @@ -283,9 +283,11 @@ \subsubsubsection{PROD}
provides one element for each reduction. The results of the reductions are placed in the
\dest{} array on all \acp{PE} participating in the reduction.

The same \source{} and \dest{} arrays must be passed by all PEs that
participate in the collective.
The \source{} and \dest{} arguments must either be the same symmetric
address, or two different symmetric addresses corresponding to buffers that
do not overlap in memory. That is, they must be completely overlapping or
do not overlap in memory. That is, they must be completely overlapping (sometimes referred to as an ``in place'' reduction) or
completely disjoint.

Team-based reduction routines operate over all \acp{PE} in the provided team argument. All
Expand Down
3 changes: 3 additions & 0 deletions main_spec.tex
Original file line number Diff line number Diff line change
Expand Up @@ -493,6 +493,9 @@ \subsubsection{\textbf{SHMEM\_FENCE}}\label{subsec:shmem_fence}
\subsubsection{\textbf{SHMEM\_QUIET}}\label{subsec:shmem_quiet}
\input{content/shmem_quiet.tex}

\subsubsection{\textbf{SHMEM\_PE\_QUIET}}\label{subsec:shmem_pe_quiet}
\input{content/shmem_pe_quiet.tex}

\subsubsection{Synchronization and Communication Ordering in OpenSHMEM}
\input{content/synchronization_model.tex}

Expand Down

0 comments on commit 86310e7

Please sign in to comment.