From 489c2b62afff485ee52d66e5d7d526792f245526 Mon Sep 17 00:00:00 2001 From: Manjunath Gorentla Venkata Date: Fri, 15 Nov 2019 10:46:50 -0800 Subject: [PATCH 1/8] Adding text for Quiet per PE interface --- content/shmem_pe_quiet.tex | 41 ++++++++++++++++++++++++++++++++++++++ main_spec.tex | 3 +++ 2 files changed, 44 insertions(+) create mode 100644 content/shmem_pe_quiet.tex diff --git a/content/shmem_pe_quiet.tex b/content/shmem_pe_quiet.tex new file mode 100644 index 000000000..a2749465c --- /dev/null +++ b/content/shmem_pe_quiet.tex @@ -0,0 +1,41 @@ +\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 \ac{PE}. +} + +\begin{apidefinition} + +\begin{Csynopsis} +void @\FuncDecl{shmem\_pe\_quiet}@(int target_pe); +void @\FuncDecl{shmem\_ctx\_pe\_quiet}@(shmem_ctx_t ctx, int target_pe); +\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\_pe}{The target \ac{PE} where the operations needs + to be completed} +\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 \ac{PE} and on the given context. + + The completion and visibility semantics of these routines are same as the + \FUNC{shmem\_quiet} routine, however, it applies only to the target \ac{PE} + .i.e., the routines to target \ac{PE} are guaranteed to be completed and + visible to all \ac{PE} when \FUNC{shmem\_pe\_quiet} returns. +} +\apireturnvalues{ + None. +} + +\apinotes{ +} +\end{apidefinition} diff --git a/main_spec.tex b/main_spec.tex index 19b7200fa..fb6e605ec 100644 --- a/main_spec.tex +++ b/main_spec.tex @@ -473,6 +473,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_quiet} +\input{content/shmem_pe_quiet.tex} + \subsubsection{Synchronization and Communication Ordering in OpenSHMEM} \input{content/synchronization_model.tex} From 7cf268ca55a28b81af80698a3e1e84e00915e26c Mon Sep 17 00:00:00 2001 From: Manjunath Gorentla Venkata Date: Thu, 7 Oct 2021 05:34:39 -0700 Subject: [PATCH 2/8] WG Feedback: Vectorized PE quiet --- content/shmem_pe_quiet.tex | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/content/shmem_pe_quiet.tex b/content/shmem_pe_quiet.tex index a2749465c..e53cbdbc6 100644 --- a/content/shmem_pe_quiet.tex +++ b/content/shmem_pe_quiet.tex @@ -2,22 +2,26 @@ 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 \ac{PE}. + to symmetric data objects issued by the calling \ac{PE} at the target + \acp{PE}. } \begin{apidefinition} \begin{Csynopsis} -void @\FuncDecl{shmem\_pe\_quiet}@(int target_pe); -void @\FuncDecl{shmem\_ctx\_pe\_quiet}@(shmem_ctx_t ctx, int target_pe); +void @\FuncDecl{shmem\_pe\_quiet}@(int *target_pes, size_t npes); +void @\FuncDecl{shmem\_ctx\_pe\_quiet}@(shmem_ctx_t ctx, 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\_pe}{The target \ac{PE} where the operations needs - to be completed} + \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{ @@ -25,12 +29,12 @@ \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 \ac{PE} and on the given context. + calling \ac{PE} to the target \acp{PE} and on the given context. - The completion and visibility semantics of these routines are same as the - \FUNC{shmem\_quiet} routine, however, it applies only to the target \ac{PE} - .i.e., the routines to target \ac{PE} are guaranteed to be completed and - visible to all \ac{PE} when \FUNC{shmem\_pe\_quiet} returns. + The completion and visibility semantics of these routines are the same as the + \FUNC{shmem\_quiet} routine. However, it applies only to the target \acp{PE} + .i.e., the routines to the target \acp{PE} are guaranteed to be complete and + visible to all \acp{PE} when \FUNC{shmem\_pe\_quiet} returns. } \apireturnvalues{ None. From 8ea7427d207bb12b2ba1c21a27ea7ec77ea05f59 Mon Sep 17 00:00:00 2001 From: Manjunath Gorentla Venkata Date: Thu, 7 Oct 2021 06:30:38 -0700 Subject: [PATCH 3/8] PE Quiet: Minor Edits --- content/shmem_pe_quiet.tex | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/content/shmem_pe_quiet.tex b/content/shmem_pe_quiet.tex index e53cbdbc6..482fe2b43 100644 --- a/content/shmem_pe_quiet.tex +++ b/content/shmem_pe_quiet.tex @@ -26,15 +26,15 @@ \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. + \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. The completion and visibility semantics of these routines are the same as the - \FUNC{shmem\_quiet} routine. However, it applies only to the target \acp{PE} - .i.e., the routines to the target \acp{PE} are guaranteed to be complete and - visible to all \acp{PE} when \FUNC{shmem\_pe\_quiet} returns. + \FUNC{shmem\_quiet} routine. However, it applies only to the target + \acp{PE}, i.e., the routines to the target \acp{PE} are guaranteed to be + complete and visible to all \acp{PE} when \FUNC{shmem\_pe\_quiet} returns. } \apireturnvalues{ None. From 81819b84e13a4f814503835039b2ee57b97a9baa Mon Sep 17 00:00:00 2001 From: Manjunath Gorentla Venkata Date: Mon, 10 Jan 2022 10:52:37 -0800 Subject: [PATCH 4/8] PE QUIET: Addressing Committee Feedback --- content/shmem_pe_quiet.tex | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/content/shmem_pe_quiet.tex b/content/shmem_pe_quiet.tex index 482fe2b43..d4a2ebc6d 100644 --- a/content/shmem_pe_quiet.tex +++ b/content/shmem_pe_quiet.tex @@ -9,8 +9,8 @@ \begin{apidefinition} \begin{Csynopsis} -void @\FuncDecl{shmem\_pe\_quiet}@(int *target_pes, size_t npes); -void @\FuncDecl{shmem\_ctx\_pe\_quiet}@(shmem_ctx_t ctx, int *target_pes, size_t +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} @@ -31,15 +31,20 @@ objects issued by the calling \ac{PE} to the target \acp{PE} and on the given context. - The completion and visibility semantics of these routines are the same as the + 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 routines to the target \acp{PE} are guaranteed to be complete and visible to all \acp{PE} when \FUNC{shmem\_pe\_quiet} returns. + When calling with the \FUNC{shmem\_ctx\_pe\_quiet} interface, the updates are + guaranteed to be complete and visible only to the \acp{PE} in the team used to + create the context. } \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} From 3315819f7db0cc42cc53348bfadb8f90ac4a3581 Mon Sep 17 00:00:00 2001 From: Manjunath Gorentla Venkata Date: Mon, 10 Jan 2022 15:19:14 -0800 Subject: [PATCH 5/8] PE Quiet: Changes to reflect WG feedback --- content/backmatter.tex | 4 ++++ content/shmem_pe_quiet.tex | 10 ++++------ main_spec.tex | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/content/backmatter.tex b/content/backmatter.tex index 755d4bc0e..bcef0f053 100644 --- a/content/backmatter.tex +++ b/content/backmatter.tex @@ -668,6 +668,10 @@ \section{Version 1.6} \openshmem[1.5] Table 10, and clarified the types, names, and supporting operations for team-based reductions. \ChangelogRef{teamreducetypes}% + +\item Added fine grained completion routine: \FUNC{shmem\_pe\_quiet} +\ChangelogRef{subsec:shmem_pe_quiet}% + \end{itemize} \section{Version 1.5} diff --git a/content/shmem_pe_quiet.tex b/content/shmem_pe_quiet.tex index d4a2ebc6d..390cff799 100644 --- a/content/shmem_pe_quiet.tex +++ b/content/shmem_pe_quiet.tex @@ -29,22 +29,20 @@ \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. + 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 routines to the target \acp{PE} are guaranteed to be complete and visible to all \acp{PE} when \FUNC{shmem\_pe\_quiet} returns. - When calling with the \FUNC{shmem\_ctx\_pe\_quiet} interface, the updates are - guaranteed to be complete and visible only to the \acp{PE} in the team used to - create the context. } \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}. + 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} diff --git a/main_spec.tex b/main_spec.tex index fb6e605ec..1ca301488 100644 --- a/main_spec.tex +++ b/main_spec.tex @@ -473,7 +473,7 @@ \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_quiet} +\subsubsection{\textbf{SHMEM\_PE\_QUIET}}\label{subsec:shmem_pe_quiet} \input{content/shmem_pe_quiet.tex} \subsubsection{Synchronization and Communication Ordering in OpenSHMEM} From 16d3307a0a7cc27b186fb5c1385d618726337dc1 Mon Sep 17 00:00:00 2001 From: Manjunath Gorentla Venkata Date: Fri, 1 Apr 2022 09:09:12 -0700 Subject: [PATCH 6/8] Update content/backmatter.tex Co-authored-by: James Dinan --- content/backmatter.tex | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/content/backmatter.tex b/content/backmatter.tex index 119eff7ae..292acf9e3 100644 --- a/content/backmatter.tex +++ b/content/backmatter.tex @@ -673,11 +673,10 @@ \section{Version 1.6} \openshmem[1.5] Table 10, and clarified the types, names, and supporting operations for team-based reductions. \ChangelogRef{teamreducetypes}% - -\item Added fine grained completion routine: \FUNC{shmem\_pe\_quiet} +% +\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, From 1f52927566815b29e720fd3e2c628e3b84bb35ad Mon Sep 17 00:00:00 2001 From: Manjunath Gorentla Venkata Date: Fri, 1 Apr 2022 09:09:24 -0700 Subject: [PATCH 7/8] Update content/shmem_pe_quiet.tex Co-authored-by: James Dinan --- content/shmem_pe_quiet.tex | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/content/shmem_pe_quiet.tex b/content/shmem_pe_quiet.tex index 390cff799..80da50c6f 100644 --- a/content/shmem_pe_quiet.tex +++ b/content/shmem_pe_quiet.tex @@ -10,8 +10,7 @@ \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); +void @\FuncDecl{shmem\_ctx\_pe\_quiet}@(shmem_ctx_t ctx, const int *target_pes, size_t npes); \end{Csynopsis} \begin{apiarguments} From 0c209e17189b0aa8791d9166972abc0686987a89 Mon Sep 17 00:00:00 2001 From: Manjunath Gorentla Venkata Date: Fri, 1 Jul 2022 10:51:20 -0700 Subject: [PATCH 8/8] Update content/shmem_pe_quiet.tex Co-authored-by: James Dinan --- content/shmem_pe_quiet.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/shmem_pe_quiet.tex b/content/shmem_pe_quiet.tex index 80da50c6f..72ff29637 100644 --- a/content/shmem_pe_quiet.tex +++ b/content/shmem_pe_quiet.tex @@ -33,7 +33,7 @@ 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 routines to the target \acp{PE} are guaranteed to be + \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{