(j3.2006) Liaison to IFIP WG 2.5

Bill Long longb
Wed Aug 22 13:21:00 EDT 2007



David Muxworthy wrote:
> On 21 Aug 2007, at 20:32, Bill Long wrote:
>
>   
>> Co-arrays are aimed at parallel computing, and in
>> Fortran's niche in the market place that is the typical application.
>>     
>
> Maybe from Cray's viewpoint.  This reminds me of the view put forward
> in the 1970s that, since Fortran was a scientific/engineering
> language, there was no need to be able to manipulate characters.  In
> truth, the ways of programmers are many and varied and beyond any one
> person's knowledge.  
And yet when those who do have information (that, for example, 
programming is now parallel) present it to those who don't, the response 
seems to be denial. 

> FWIW the most recent production program I wrote
> was to read a file of tens of thousands of records, sort and analyse
> them and pick out the most interesting for further analysis.
> Parallelism was irrelevant, but the other cores could have been
> working on other tasks at the same time.
>   

For a small data set, where the program might run serially in seconds, 
parallelism might not be interesting.  If you write a serial code, then 
the other cores are available for other tasks.  This has nothing to do 
with whether the compiler supports co-arrays.  However, if you were 
dealing with several billion records, parallelism might be very 
relevant. Parallel sorting is very efficient. 
> I support Lawrie's viewpoint of half an hour ago - vendors and users
> for whom parallelism is irrelevant should not be forced to accommodate
> it, whatever the hardware they are using.
>   

So,  you are making exactly the same argument as those who opposed 
characters in f77 - since the feature is not of use to you, it should 
not be in the standard.  I find this argument just a flawed now as it 
was then.  And, like characters, you might eventually realize that the 
feature IS of use to you, after all.

I would also separate the "vendors" from the "users" in this position.  
Putting co-arrays into the standard has no effect on users who don't use 
them. The same is true of any other language feature that is not used.  
I think a very good case could be made that many of the f03 features 
will be used far less than co-arrays.  Yet their existence seems to not 
be hurting users all that much.  Adding co-arrays, or any other feature, 
does affect vendors. Certainly co-arrays are much easier to implement 
than f03 was, so any vendor that survived f03 should be able to survive 
f08 as well.  Especially now that there is very little  else new left to 
implement in f08 beyond co-arrays.

The argument that you and Lawrie are making is in direct conflict with 
the goal of language standardization. Users are demanding code 
portability, and enabling that is our primary task.  Putting a feature 
in an optional part of the standard provides an absolute guarantee that 
code written using that feature will not be portable.   The very concept 
of optional parts of the standard should be rejected outright.  Either a 
feature is standard, and hence portable and usable, or it is not.

Cheers,
Bill


> Cheers,
> David
> _______________________________________________
> J3 mailing list
> J3 at j3-fortran.org
> http://j3-fortran.org/mailman/listinfo/j3
>   

-- 
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