(j3.2006) (SC22WG5.5029) WG5 vote on draft TS on further coarray features
Tobias Burnus
burnus
Sun Jul 21 19:04:09 EDT 2013
Van Snyder wrote:
> An alternative to a new this_team() intrinsic, or executing a FORM
> SUBTEAM statement, is a team variable in ISO_Fortran_env, whose value
> is the initial team.
But that's not quite the same. Assume you have a larger code, where you
partition the task into two subteams. From one of the subteams you call
a library function. If now the library wants to partition the problem
into another set of subteams, it needs to know the current team and not
the initial team.
> I still think the idea of putting "team_variable ::" ahead of
> cosubscripts is a bad idea. I would rather see a syntax for
> coassociation, along the lines of the ASSOCIATE statement, in the
> CHANGE TEAM statement.
The advantage of "team_variable :: " to change team is that one can
access an image of a different team without the need of a full
synchronization.
Current coarray code is often slow (if a large number of CPUs is used)
as most time is spend with communication, and communication mostly
means: waiting. Event post/wait (and event query) are supposed to remove
the need of synchronization. - If one uses teams, the issue of
communicating with other teams often occurs; and in case only some data
needs to be exchanged, some means to do so without full synchronization
is useful. The "team_variable ::" syntax permits this. (For instance,
pushing the new boundary values and posting an even that it is now
available.)
I am not sure what do you mean by coassociation. I also do not really
see the relation to ASSOCIATE as changing a team - and then accessing
coarrays in the team. It seems that you propose something which requires
to list all used coarrays in the change team construct, which sounds
complicated and error prone. Additionally, I do not understand how this
will work with called procedures, which, e.g. access a use-associated
coarray - or one passed as actual argument to a coarray dummy argument.
Tobias
More information about the J3
mailing list