09-274r2 To: J3 From: John Reid Subject: SYNC problems, especially SYNC MEMORY Date: 2009 August 11 Reference: 09-007r2, 09-186r3, 09-239 1. Discussion The edits proposed here are revisions of those in 09-186r3, following comments by Malcolm Cohen in 09-239. 2. Edits [128:16]. In 6.7.1.2 Execution of an ALLOCATE statement, para 4, change "(8.5.1)" to "(8.5.2)". [128:12-13] In 6.7.1.2 Execution of an ALLOCATE statement, para 3, replace "each" by "every" twice. [131:15]In 6.7.3.2 Deallocation of allocatable variables, para 11, change "(8.5.1)" to "(8.5.2)". [187:19] In 8.5.1 Image control statements, para 1, delete "as". [187:20] In 8.5.1 Image control statements, para 2, replace the first sentence of p2 with "Execution of an image control statement divides the execution sequence on an image into segments." [188:8-9] In 8.5.2 Segements, para 1, make two edits: after "first" add "execution of an" and after "last" add "execution of an". [191:2-3] In 8.5.5 SYNC MEMORY statement, para 1, replace "The SYNC MEMORY ... each of which" by "Execution of a SYNC MEMORY statement ends one segment and begins another; these two segments". [192] In 8.5.5 SYNC MEMORY statement, NOTE 8.39: Change the fifth line of the example program segment (now blank) to " ... ". In the 8th line, replace "! Preceding segment" with "! Segment " In the 10th line, replace "segment " with "segment " Delete the 11th line: "SYNC MEMORY !B" In the 14th line, replace "segment " with "segment " In the 17th line, replace "! C" by "! B". In the 18th line, replace "Subsequent segment" with "Segment ". Replace the first para after the program text with: "The DO WHILE loop does not complete until VAL is defined with the value false. This is the cooperative synchronization that provides the dependency that image Q does not complete segment until the CALL statement in segment completes. This ensures that the execution of segment on image P precedes execution of segment on image Q." In the second paragraph, replace "(locking)" by "(segment )" and replace "the work" by "work in segment ". Delete the third paragraph. In the fourth paragraph, replace "third" by "second" and "(C)" by "(B)". [It is clearer to have the description in 8.5.5p3 use the same segment labels as the example in Note 8.39.]