(j3.2006) (SC22WG5.4103) [ukfortran] Standard intrinsics and coarrays
Van Snyder
Van.Snyder
Wed Oct 21 14:27:03 EDT 2009
On Wed, 2009-10-21 at 10:57 -0700, N.M. Maclaren wrote:
> On Oct 21 2009, Aleksandar Donev wrote:
> >
> >Once Nick has a final draft with Bill's suggestions taken into account I
> >will take a closer look and comment.
>
> Here is what I currently have:
>
> We seem to have forgotten to specify how the intrinsic procedures may
> be used as far as their use in unordered images is concerned - or, at
> least, I can't find anything. However, I don't think that there is much
> of a problem. 13.5 paragraph 2 and Table 13.1 is the starting point,
> and a lot of my proposal is already implied for those of classes E, ES
> and PS by other wording. Those of class A are already covered.
>
> I have drafted the hard line on random numbers; it would be possible to
> make the 'shall be' conditional on the processor dependence, but that is
> messy.
>
> Proposal:
>
> In 13.5, Standard generic intrinsic procedures, after Table 13.1, add
> the new paragraphs:
>
> It is processor dependent whether EXECUTE_COMMAND_LINE may be called
> on any image other than image 1.
I would prefer that the effect of calling EXECUTE_COMMAND_LINE on more
than one image is processor dependent. I can imagine writing a file
with an image-dependent name, running some external process
synchronously with its input piped from that file and its output piped
to a file with a different image-dependent name, then opening and
reading that file.
> If RANDOM_SEED is called in a segment A, and either RANDOM_SEED or
> RANDOM_NUMBER is called in segment B, then segments A and B shall be
> ordered. It is processor dependent whether all images use a common
> generator or whether each image uses a separate one.
Segment A and segment B should be explicitly different segments in this
discussion.
> It is processor dependent whether the results returned from
> COMMAND_ARGUMENT_COUNT, CPU_TIME, DATE_AND_TIME, GET_COMMAND,
> GET_COMMAND_ARGUMENT, GET_ENVIRONMENT_VARIABLE and SYSTEM_CLOCK are
> dependent on which image calls them.
>
> NOTE 13.x
> This means that it is unspecified whether images use synchronized
> clocks, whether CPU_TIME returns a per-image or per-program value,
> whether all images run in the same time zone, whether the count rate
> and maximum in SYSTEM_CLOCK are the same for all images, and whether
> all images run in the same command environment. It is likely that
> they will behave differently on shared memory systems and some
> distributed memory ones. For maximum portability, programs should
> inspect the command environment and call DATE_AND_TIME only on
> image 1.
>
> The use of all other standard intrinsic procedures in unordered
> segments is subject only to their argument use following the rules
> in 8.5.2.
Edits will be needed in Annex A.
More information about the J3
mailing list