Skip to content

Commit

Permalink
sessions: redo SAME_AMO w/out signal restrictions
Browse files Browse the repository at this point in the history
  • Loading branch information
davidozog committed May 10, 2024
1 parent 82bc635 commit f15997f
Showing 1 changed file with 8 additions and 12 deletions.
20 changes: 8 additions & 12 deletions content/shmem_ctx_session_start.tex
Original file line number Diff line number Diff line change
Expand Up @@ -98,24 +98,20 @@
} \hline

\sessiontablerow{\LibConstRef{SHMEM\_CTX\_SESSION\_SAME\_AMO}}{
The \VAR{SHMEM\_CTX\_SESSION\_SAME\_AMO} hint indicates the session will contain
a series of calls to AMO and/or signaling routines that do not differ in
their signal operators (see Section \ref{subsec:signal_operator}), atomic
operations (see Section \ref{sec:amo}), or datatypes (see
Tables~\ref{stdamotypes} and \ref{extamotypes}).
For example, this hint would apply to a session that includes \textit{only}
calls to \FUNC{shmem\_int\_atomic\_inc}.
The \VAR{SHMEM\_CTX\_SESSION\_SAME\_AMO} hint indicates the session will
contain a series of calls to AMO routines where each call performs the same
atomic operation (e.g., using only the \textit{increment} operation) on the
same datatype (e.g., only on objects of type \textit{int}).
As a more specific example, this hint would apply to a session that
includes \textit{only} calls to \FUNC{shmem\_int\_atomic\_inc}.
However, this hint would not apply to a session that includes both calls to
\FUNC{shmem\_int\_atomic\_inc} and \FUNC{shmem\_int\_atomic\_fetch},
because the operation \textit{fetch} differs from \textit{increment}.
(Similarly, this hint would not apply to a session that includes both calls to
\FUNC{shmem\_int\_atomic\_inc} and \FUNC{shmem\_long\_atomic\_inc},
because the datatype \textit{long} differs from \textit{int}.)
The \VAR{SHMEM\_CTX\_SESSION\_SAME\_AMO} hint is applicable to sessions that
exclusively use \textit{either} the \VAR{SHMEM\_SIGNAL\_SET} or the
\VAR{SHMEM\_SIGNAL\_ADD} operators in signaling operations, but not both.
This hint does not restrict the application from calling other (non-atomic)
RMA routines within the session.
This hint does not restrict the application from calling other RMA and/or
signaling routines within the session.

The \VAR{total\_ops} field of \VAR{config} indicates the expected maximum
number of calls to \openshmem RMA routines within the session.
Expand Down

0 comments on commit f15997f

Please sign in to comment.