gmegan / specification

OpenSHMEM Application Programming Interface
http://www.openshmem.org
1 stars 0 forks source link

The program needs to perform a sync on a team between collectives #59

Closed gmegan closed 5 years ago

gmegan commented 5 years ago

In the intro to collective routines over active sets, the current spec says:

"The user is permitted to reuse a pSync array if all previous collective routines using the pSync array have been completed by all participating PEs. One can use a synchronization collective routine such as shmem_barrier to ensure completion of previous collective routines."

So... if a team has an internal pSync (or other resource), and the team collective routines work pretty much exactly like the active set collective routines did, then the team object can't be in use on any PE in the team when a collective is called. So that means there ought to be a shmem_sync(team) between any collective operations called by a team.

The alternative is to start providing some implicit sync on the team either at the top or bottom of team collective routines.

gmegan commented 5 years ago

The text indicating that a sync is needed between calls was added to the collectives introduction.

There are various places in the rest of the collectives API description that restate that pSync must not still be in use. If adding parallel text for teams, it would be that the team object must not still be in use.

gmegan commented 5 years ago

As per the discussion, this requirement needs to be removed from the collectives intro.

gmegan commented 5 years ago

Close per PR #76