diff --git a/content/backmatter.tex b/content/backmatter.tex index 8ce3956b..78cb0a47 100644 --- a/content/backmatter.tex +++ b/content/backmatter.tex @@ -190,6 +190,24 @@ \chapter{Undefined Behavior in OpenSHMEM}\label{sec:undefined} with the \LibConstRef{SHMEM\_CTX\_PRIVATE} option enabled; otherwise, the behavior is undefined.\tabularnewline \hline +Creating a team with a \VAR{stride} value equal to 0 and the \VAR{size} value not equal to 1 & +If a \VAR{stride} value equal to 0 is passed to \FUNC{shmem\_team\_split\_strided}, +then the \VAR{size} argument passed must be 1, or the behavior is undefined. \tabularnewline +\hline +Creating a team that implies a wrap-around sequence & +If the triplet provided to \FUNC{shmem\_team\_split\_strided} implies a +wrap-around sequence, the input is considered invalid and the behavior is +undefined. +In other words, when \VAR{stride} is nonzero, a newly created team must only +include \acp{PE} whose subsequent parent \ac{PE} values are either all +increasing (for positive \VAR{stride}) or all decreasing (for negative +\VAR{stride}). +That is, \textit{wrap-around} with respect to the parent team's \ac{PE} values +is not permitted. +For example, given a parent team with a size of 8 \acp{PE}, a call to +\FUNC{shmem\_team\_split\_strided} with the following arguments would +be invalid: \VAR{start} equal to 3, \VAR{stride} equal to 3, and \VAR{size} equal to 3. \tabularnewline +\hline \end{longtable}