[J3] US13. Put with Notify.

John Reid John.Reid at stfc.ac.uk
Thu Sep 23 22:08:39 UTC 2021


Reinhold ,

Bader, Reinhold wrote:
> Actually, [212:15] seems to have a missing word. Perhaps the edit
>
> [212:15] replace "execution an" by "execution of an"
>
> can also be added to your paper.
Agreed.

John.

>
> Cheers,
> Reinhold
>
> -----Ursprüngliche Nachricht-----
> Von: John Reid <John.Reid at stfc.ac.uk>
> Gesendet: Donnerstag, 23. September 2021 20:49
> An: Bader, Reinhold <Reinhold.Bader at lrz.de>; General J3 interest list <j3 at mailman.j3-fortran.org>; fortran standards email list for J3 <j3 at j3-fortran.org>
> Betreff: Re: [J3] US13. Put with Notify.
>
> Bader, Reinhold wrote:
>> Hello John,
>>
>> your argument applies to the updates on the notify variable, but not (I think) for the coarray data that are being synchronized.
> Whoops! I have overlooked this. [211:1-4] 11.6, para 5 is needed for [212:15-17] 11.7.2, para 3, sentence 3. Revised draft paper attached.
>
> Cheers,
>
> John.
>> So,
>>
>> - on image 2
>>
>>      x[1, NOTIFY=nv[1]] = ...  ! non-atomic assignment to x, atomic
>> update of nv
>>
>> - on image 3
>>
>>     y[1, NOTIFY=nv[1]] = ...  ! non-atomic assignment to y, atomic
>> update of nv
>>
>> - on image 1
>>
>> NOTIFY WAIT(nv, UNTIL_COUNT=2) ! atomic update of nv once both above statements have been executed.
>>
>> .... = x                             ... ! non-atomic reference to x (fine, due to the above WAIT)
>> .... = y                             ... ! non-atomic reference to y (fine, due to the above WAIT)
>>
>> Now assume the above NOTIFY WAIT specifies an UNTIL_COUNT of 1. Then
>> it is not clear to me how you can contend that "accesses to either x or y are undefined after the WAIT" without the two text blocks [211:1-4] and [212:15-17].
>>
>>
>> Cheers
>> Reinhold
>>
>>
>> -----Ursprüngliche Nachricht-----
>> Von: John Reid <John.Reid at stfc.ac.uk>
>> Gesendet: Donnerstag, 23. September 2021 13:05
>> An: Bader, Reinhold <Reinhold.Bader at lrz.de>; General J3 interest list
>> <j3 at mailman.j3-fortran.org>; fortran standards email list for J3
>> <j3 at j3-fortran.org>
>> Betreff: Re: AW: [J3] US13. Put with Notify.
>>
>> Reinhold,
>>
>> Thanks for the comment
>>
>> I see [212:15-17] as another sentence that should be removed. It is very hard to see what it is trying to say and anyway everything has been said by the previous sentences:
>>
>> "A coarray may be referenced or defined by execution of an atomic subroutine during the execution of a segment that is unordered relative to the execution of a segment in which the coarray is referenced or defined by execution of an atomic subroutine. An event variable or notify variable may be referenced or defined during the execution of a segment that is unordered relative to the execution of another segment in which that event variable or notify variable is defined."
>>
>> Note that [456:28-29]  says
>>
>> "The effect of each update is as if the intrinsic subroutine ATOMIC_ADD were executed with a variable that stores the notify count as its ATOM argument."
>>> You want to be able to deduce possible invalidity of data accesses if the UNTIL_COUNT is smaller than the number of notifications.
>> This is clearly stated at [210:16-17]:
>>
>> "(2)   the executing image waits until the count of the notify
>> variable is greater than or equal to the threshold value or an error
>> condition occurs;"
>>
>> Cheers,
>>
>> John.
>>> Cheers
>>> Reinhold
>>>
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: J3 <j3-bounces at mailman.j3-fortran.org> Im Auftrag von John Reid
>>> via J3
>>> Gesendet: Dienstag, 21. September 2021 21:24
>>> An: fortran standards email list for J3 <j3 at j3-fortran.org>
>>> Cc: John Reid <John.Reid at stfc.ac.uk>
>>> Betreff: [J3] US13. Put with Notify.
>>>
>>> Dear all,
>>>
>>> I think I have found two glitches associated with US 13. Here is a draft paper. Any comments? I plan to put it on the web site at the end of this week.
>>>
>>> Cheers,
>>>
>>> John
>>>



More information about the J3 mailing list