To: J3 J3/20-104r1 From: John Reid & Daniel Chen Subject: Collective subroutines and STAT= Date: 2020-February-25 References: 18-007r1, 19-181, 19-244 ---------------------------------------------------------------------- 1. Introduction This paper replaces 19-181. 19-244. 2. Question 16.6 par. 7 contains this statement pertaining to the execution of a collective subroutine: "If the STAT argument is present and ... the current team contained failed images, an error condition occurs and the value STAT_FAILED_IMAGE from the intrinsic module ISO_FORTRAN_ENV is assigned to the STAT argument". Given that an image might fail during the execution of the collective subroutine, what exactly does this require of the implementation and is it deliverable? 3. Response This statement is stronger than was intended. A collective subroutine is defined (3.143.2) as an "intrinsic subroutine that performs a calculation on a team of images without requiring synchronization". For performance reasons, it was intended that once an image has completed its calculation it should be free to execute other statements without waiting for the other images to do so. 16.7 para. 7 seems to require that a synchronization of all images of the team should occur before any are freed in order to ensure that none have failed. This was not intended and an edit is provided to correct this. A similar issue applies to stopped images. 4. Edits to 18-007r1 [331:32] In 16.6 Collective subroutines, para 7, sentence 1, change "current team contains stopped images" to "current team contains images known to have stopped". so that the sentence becomes "If the STAT argument is present and the current team contains images known to have stopped, an error condition occurs and the value STAT_STOPPED_IMAGE from the intrinsic module ISO_FORTRAN_ENV is assigned to the STAT argument." [331:34] In 16.6 Collective subroutines, para 7, sentence 2, change "if the current team contained failed images" to "if the current team contains images known to have failed". so that the sentence becomes "Otherwise, if the current team contains images known to have failed, an error condition occurs and the value STAT_FAILED_IMAGE from the intrinsic module ISO_FORTRAN_ENV is assigned to the STAT argument."