(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 

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".


More information about the J3 mailing list