To: J3 J3/26-221 From: Soren Rasmussen & HPC Subject: Edits to replace the THIS_IMAGE example Date: 2026-October-26 1. Introduction --------------- This paper contains edits to 17.9.220 THIS_IMAGE, paragraph 6, Examples Case (ii). The issues with this example are 1. Performs a naive pull-broadcast through a coarray, instead of calling the CO_BROADCAST collective subroutine, which should be expected to provide more scalable performance at large image counts. 2. P is never declared, and it would have to be a coarray for P[1] to work. 2. Edits to 26-007r2 -------------------- [537:24-27] 17.9.220 THIS_IMAGE, paragraph 6 (Examples), Case (ii) Replace the current text and code of Case (ii): " Case (ii): The following code uses image 1 to read data. The other images then copy the data. IF (THIS_IMAGE()==1) READ (*,*) P SYNC ALL P = P[1] " with: " Case (ii): The following statement prints the index of the invoking image and the number of images in the current team. PRINT *, "This is image", THIS_IMAGE(), "of", NUM_IMAGES() " The replacement represents the customary "hello world" example often shown in tutorials of SPMD (single program, multiple data) programming models such as MPI and multi-image Fortran: each image reports its own image index and the number of images in the current team. This example is identical to the one recommended as the replacement for the NUM_IMAGES intrinsic, whose subclause appears 30 pages away. There is precedent elsewhere in the standard for using repeated examples in subclauses of closely related procedures, for example: - 18.11.7 IEEE_GET_MODES and 18.11.41 IEEE_SET_MODES - 18.11.8 IEEE_GET_ROUNDING_MODE and 18.11.42 IEEE_SET_ROUNDING_MODE - 18.11.9 IEEE_GET_STATUS and 18.11.43 IEEE_SET_STATUS, nearly identical, different comments and use statements