(j3.2006) Liaison to IFIP WG 2.5
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.
> J3 mailing list
> J3 at j3-fortran.org
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