J3/06-357r1 Date: 15 November 2006 To: J3 From: Dick Hendrickson Subject: Clause 13 Co-array issues References: J3/06-007r1 347:4 Did the co-array team think about a CO_FINDLOC? This is feature creep and requires a straw vote. If yes, we will prepare a paper for the next meeting. -- 362:1 What is the result if team is NULL_IMAGE_TEAM? It isn't useful or possible to have a null team for the collective routines. Edit: 362:9+ For the TEAM argument description, after "(13.8.3.7)" add "and it must not have the value NULL_IMAGE_TEAM from the ISO_ FORTRAN_INTRINSIC_ENV intrinsic module (13.8.3)". Make a similar change for all of the collective routines which have a TEAM argument through CO_SUM on 366:16+ -- 362:1 Does the issuing image have to be in the team? If I'm in the earth team, can I collect stuff from the air or water team if I am not in those teams? If so, who syncs with whom? Answer, the issuing image must be a member of the team. Edit. 362:10. Add as a last sentence to the TEAM description "THIS_IMAGE() must be a member of the team." Make a similar change for all of the collective routines which have a TEAM argument through CO_SUM on 366:16+ -- As a result of a discussion with John Ried about the co-array argument to the collective routines, John proposes" [133:10] In 7.1 Expressions, add to the last line: "An expression is not a co-array unless it takes the form of a for a co-array." -- 367:3 This appears to allow "n" as a value for DIM, but the result and case(ii) example use "n-1". Which should it be. In a way, "n" is OK, since the actual array size is known to the processor (I think). Edit: 367:3+ Replace "DIM <= n" with "DIM <= n-1" -- 380:7 The teams are only equal if there is an even number of images. EDIT: delete "equal " -- 430:7+ I believe co_array must be allocated, etc. EDIT: after "of any type." add " If it is allocatable it shall be allocated." -- ------------------------------------------------ Comments which require no action or edits. 362:1 Can the RESULT variable of a collective routine also be a CO_ARRAY? I think so, but it sounds odd to me. RESPONSE: Yes, as viewed on the local image a co-array is just an ordinary array. 364:19 I don't believe that CO_MINLOC and CO_MAXLOC cover the case of a zero length character string. RESPONSE: It's described in the last sentence of the RESULT clause using essentially the same words as in MINLOC and MAXLOC. 376:16 Is there anything special (force a sync, prohibit,...) that needs to be done to EXECUTE_COMMAND_LINE if it executes on different images? RESPONSE: No. Calling EXECUTE_COMMAND_LINE will cause execution of a program that has its own images. Any image can call this function. The new images thus created are different images from any of the images of the calling program. 377:6 EXECUTE_COMMAND_LINE also causes a termination. Does the new STOP, etc., text cover this case also? RESPONSE: We believe so. See paper 06-338. 380:2 The intro text [339:16] says that collective subroutines do an implicit sync before starting execution. That's before the team has formed in this case. Should it not be a collective subroutine? Or should it be special cased about the initial sync? Subsumed by paper 336 --