(j3.2006) (SC22WG5.3647) [ukfortran] A comment on John Wallin's comments on Nick MacLaren's comments

Bill Long longb
Fri Nov 7 12:30:56 EST 2008



Aleksandar Donev wrote:
> On Thursday 06 November 2008 15:39, N.M. Maclaren wrote:
>
>   
>>> Deadlocks introduced by the implementation should be reported as bugs to
>>> the vendor.
>>>       
>> Unless the standard makes it clear whether the programmer or implementor
>> is at fault, that is merely a waste of time.
>>     
> I have been discussing these things with Nick in private for some time now, so 
> let me say a few words to WG5 (since I won't be in Tokyo---I think arguing 
> over e-mail is somewhat inefficient and wasteful).
>
> I agree with Nick that we should make a decision concerning "progress", and 
> somehow anoint in the standard, even if we cannot say anything in 
> standardese. 

The first sentence of Note 8.31 is "The model upon which the 
interpretation of a program is based is that there is a permanent memory 
location for each coarray and the all images can access it."   I don't 
see any ambiguity here.  It does not say that only some images can 
access a coarray, or that the access is available only some of the 
time.   Perhaps we should change "access" to "reference or define" (an 
early UK point) to make use of well defined terms here.  But the key 
words near the end of the sentence, ALL and CAN have unambiguous meanings.

The other issue related to progress is whether there is an expectation 
that a SYNC MEMORY statement actually completes execution.  Since SYNC 
MEMORY is implicitly part of the other image control statements, 
assuring that one works solves the global problem.   We do already 
allow, via the stat specifier, a way to deal with cases where the 
statement in fact does fail - for example if there is a bad memory chip 
storing affected data, the network is physically severed, or there is a 
power failure on an affected image.    In Note 8.40 we explicitly say 
that the errors that cause a non-zero stat return are "processor 
dependent".  However, there is an implicit assumption that on a normally 
functioning system, SYNC MEMORY would always complete with a zero 
status.  If we need to say that, I suppose it is OK.  Although there are 
a lot of other statements (READ and WRITE, for example) where we 
implicitly assume that they do what the standard says they do without 
explicitly saying so.  Probably because there is a blanket statement on 
page 2 that requires a standard-conforming processor to execute 
statements in the way the standard specifies.

Cheers,
Bill





-- 
Bill Long                                   longb at cray.com
Fortran Technical Support    &              voice: 651-605-9024
Bioinformatics Software Development         fax:   651-605-9142
Cray Inc., 1340 Mendota Heights Rd., Mendota Heights, MN, 55120

            




More information about the J3 mailing list