This PR clarifies the undefined-behavior "Concurrent use of teams" entry that was a discussion point on the April 27, 2020 v1.5rc2 meeting.
Changed focus of first sentence to warn that team-based collectives
are not thread-safe if operating on the same team object. All team-based
collectives take a \VAR{team} argument input.
Amended second sentence to now say "may be undefined behavior".
This precludes concurrent thread-safe usage of a team in operations such
as shmem_team_translate_pe.
Explicitly emphasized the example as concurrent collective on the same
team object, SHMEM_TEAM_WORLD. This leads the application developer
toward a viable solution for this usage: clone the world team (though it
does beg the question of whether implementers could also clone
the world team to deconflict from application usage of
SHMEM_TEAM_WORLD).
This PR clarifies the undefined-behavior "Concurrent use of teams" entry that was a discussion point on the April 27, 2020 v1.5rc2 meeting.
Changed focus of first sentence to warn that team-based collectives are not thread-safe if operating on the same team object. All team-based collectives take a
\VAR{team}
argument input.Amended second sentence to now say "may be undefined behavior". This precludes concurrent thread-safe usage of a team in operations such as
shmem_team_translate_pe
.Explicitly emphasized the example as concurrent collective on the same team object,
SHMEM_TEAM_WORLD
. This leads the application developer toward a viable solution for this usage: clone the world team (though it does beg the question of whether implementers could also clone the world team to deconflict from application usage ofSHMEM_TEAM_WORLD
).