(j3.2006) Coarray (team) error recovery + CO_REDUCE (was: Re: CO_REDUCE of 12-178r5.txt)
Tobias Burnus
burnus
Sun Feb 17 16:38:12 EST 2013
Dear all, dear John,
john.reid at stfc.ac.uk wrote:
> Thanks for your comment. I do not think there is a problem - the "process" is null and the result is equal to SOURCE.
> There is an updated version in 12-201, but I don't think there is any change that would affect your query.
I have problems seeing that the RESULT will be the SOURCE in that case ?
in particular if there is a separate RESULT variable; though, if there
is no RESULT variable, I think one could defer that the value of SOURCE
is not modified. (Side remark: For a procedure with "result = (.not.
A).and.(.not.B)" silently using SOURCE= feels also wrong.) ? I am happy
with any definition, be it simply the SOURCE value, invalid or processor
dependent.
Quoting "7.3.9 CO_REDUCE" from 12-201:
"The computed value of a reduction operation over a set of values is the
result of an iterative process. Each iteration involves the execution of
r = OPERATOR(x,y) for x and y in the set, the removal of x and y from
the set, and the addition of r to the set. The process continues until
the set has only one element which is the value of the reduction."
* * *
Regarding the error recovery in the coarray teams 13-231, I think the
R502 change-team-stmt is [team-construct-name:] []
[] CHANGE TEAM (scalar-teams-variable)
should get an optional "STAT=", which gets set both when entering the
block and with END TEAM. As CHANGE TEAM and END TEAM are both image
control statements with implicit synchronization, the information
whether an image has failed is automatically available ? and using a
STAT= there feels to me much more natural than having to call some
intrinsic or statement afterwards to get this information. Additionally,
if no STAT= is used, the processor could exit gracefully with an error
message, instead of unconditionally failing (making error recovery
impossible) or by silently continuing and, e.g., failing on only some
images where one used, e.g., "a[failed_image_idx] = 5".
Tobias
More information about the J3
mailing list