To: J3 13-288 From: Reinhold Bader Subject: Synchronization of CHANGE TEAM and END TEAM Date: 27 June 2013 References: N1967, N1971 Discussion: ~~~~~~~~~~~ N1967 presently specifies that for both the CHANGE TEAM and END TEAM statements, synchronization of all images of the parent team is required, implying that all these images are obliged to execute these statements. This paper relaxes the requirement, replacing it by one that synchronization only applies to individual subteams in the decomposition established by FORM SUBTEAM. Edits to N1967: ~~~~~~~~~~~~~~~ [9:5-6] Delete "Except by ... the team." [10:11-16] Replace paragraph by "The CHANGE TEAM and END TEAM statements are image control statements. When a CHANGE TEAM statement is executed, there is an implicit synchronization of all images in that subteam of the team specified by that includes the executing image. On each image of the subteam, execution of the segment following the statement is delayed until all the other images of the subteam have executed the same statement the same number of times. When execution of a change-team block finishes, there is an implicit synchronization of all images in the subteam. On each image of the subteam, execution of the segment following the END TEAM statement is delayed until all the other images of the subteam have executed the same block the same number of times." Edits to the standard (TS section 8): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~[...] denotes an addition to existing text. x[...] denotes a removal from existing text. On p27 of the TS, add {In 8.5.4 SYNC IMAGES statement, edit paragraph 1 as follows} "If is an array expression, the value of each element shall be positive and not greater than the number of images ~[of the current team], and there shall be no repeated values." {In 8.5.4 SYNC IMAGES statement, edit paragraph 3 as follows} "An that is an asterisk specifies all images ~[of the current team]." {In 8.5.4 SYNC IMAGES statement, edit paragraph 4 as follows} "Executions of SYNC IMAGES statements on images M and T correspond if ~[the current team of image M is the same as that of image T and] the number of times image M has executed a SYNC IMAGES statement with T in its image set ~[since the current team started execution] is the same as the number of times image T has executed a SYNC IMAGES statement with M in its image set ~[since the current team started execution]."