-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Behavior of non-parent PEs entering team split routines #450
Comments
You can have multiple simultaneous split operations, for example consider two splits where parents teams are even PEs and odd PEs. There is no semantic relationship between these splits even though they can be happening simultaneously. I think the same is true of a split involving SHMEM_TEAM_INVALID. There's no relationship to any other split that's happening. Given that it's impossible for a PE to have a handle for a team is does not belong to, I'm not sure there is anything to define for PEs outside of a given team. Whatever parent team argument they pass will define the requirements of that call. Since a split on SHMEM_TEAM_INVALID does not create a team, our existing semantics imply that the return value should be nonzero. |
@jdinan - yeah... I retract my first suggestion then, thanks. ;) For the 2nd suggestion, I agree it's implied that a split on the invalid team returns nonzero, I'm only saying it could be more explicit to avoid confusion. We can close this issue if you think it's clear though, I'm fine either way. |
@davidozog Always welcome suggestions to improve the standard. |
Not an item for errata - needs better wording. |
@davidozog I think we concluded that it's not broken, but the text could be improved. Is there anything more to do on this issue? |
Agreed and yes - I'll take a stab at improving it and post a PR asap. |
@davidozog Can we close this ticket with the mergered Merge Request #461 ? |
Should we clarify the behavior of non-parent PEs that enter a team split routine, i.e when those PEs pass
parent_team=SHMEM_TEAM_INVALID
?In other words, does this existing text (in
shmem_team_split_strided
andshmem_team_split_2d
):imply this routine must only be called by PEs in the parent team? My guess is no, PEs that are not in the parent can pass
SHMEM_TEAM_INVALID
. This semantic generated some confusion in an SOS unit test:Sandia-OpenSHMEM/SOS#969
and I'm thinking something like this (but better;) might help prevent confusion:
There's also a slight bit of confusion with this existing text:
in combination with:
So it seems to be implied that PEs passing
SHMEM_TEAM_INVALID
should also return non-zero, but this may not be explicitly stated, unless I'm missing something. I might suggest:Sorry, lots of words to describe a pretty minor problem... 😉
The text was updated successfully, but these errors were encountered: