Skip to content

Commit

Permalink
Merge pull request #4 from davidozog/sec/backmatter_undefined_teams_b…
Browse files Browse the repository at this point in the history
…ehavior

- Add rows for undefined teams behavior to Annex C
- Update undefined behavior for invalid PE numbers
  • Loading branch information
BryantLam authored Mar 17, 2020
2 parents b21ad3b + 94fcf6b commit c702bce
Showing 1 changed file with 18 additions and 5 deletions.
23 changes: 18 additions & 5 deletions content/backmatter.tex
Original file line number Diff line number Diff line change
Expand Up @@ -149,11 +149,12 @@ \chapter{Undefined Behavior in OpenSHMEM}\label{sec:undefined}
result in undefined behavior.
\tabularnewline
\hline
Accessing non-existent \acp{PE} & If a communications routine accesses a
non-existent \ac{PE}, then the \openshmem library may handle this
situation in an implementation-defined way. For example, the library may report
an error message saying that the \ac{PE} accessed is outside the range of
accessible \acp{PE}, or may exit without a warning.\tabularnewline
Specifying invalid \ac{PE} numbers & For \openshmem routines that accept a
\ac{PE} number as an argument, if the \ac{PE} number is invalid for the
team associated with the operation (either implicitly or explicitly), the
behavior is undefined. An invalid \ac{PE} number includes those that are
negative or greater than or equal to the size of the associated team.
\tabularnewline
\hline
Use of non-symmetric variables & Some routines require remotely accessible
variables to perform their function. For example, a \PUT{} to a non-symmetric variable may
Expand All @@ -179,6 +180,18 @@ \chapter{Undefined Behavior in OpenSHMEM}\label{sec:undefined}
\end{itemize}
\tabularnewline
\hline
Concurrent use of a team & Teams are not thread-safe objects.
Concurrent use of a team from multiple threads results in undefined
behavior. Such a situation can arise when one thread is calling a
team-implicit collective (e.g., \FUNC{shmem\_barrier\_all}), which
implicitly operates on the world team, and another calls a team-based
collective (e.g., \FUNC{shmem\_broadcastmem}). \tabularnewline
\hline
Destroying a team with unfreed private contexts & Before destroying a given
team, the user is responsible for destroying all contexts created from that team
with the \LibConstRef{SHMEM\_CTX\_PRIVATE} option enabled; otherwise, the
behavior is undefined.\tabularnewline
\hline
\end{longtable}


Expand Down

0 comments on commit c702bce

Please sign in to comment.