(j3.2006) Liaison to IFIP WG 2.5
Wed Aug 22 05:29:43 EDT 2007
Lawrie Schonfelder wrote:
> Later in the same meeting it became clear that co-arrays were specifically aimed at systems that
> were based on homogeneous parallelism. (To Alex, this is what I mean by architecturally specific.)
> Looking at co-arrays from my al beit, limited understanding, they would be entirely superfluous to
> anyone wishing to express an application in a
> serial manner and most likely positively harmful in attempting to exploit heterogeneous parallelism.
Wrong. Language was removed (from a Note!) that hinted that
one might be expected by the standard to do so. It is certainly
possible to do so. The alternative is MPI or PVM (which might
become the underpinning of an implementation).
> Nevertheless, by including CAF in the core language standard every implementor must include them and
> every user must be aware of them. Processors must implement them even if they are superfluous or
Processors must implement sqrt() even if it is superfluous
or harmful. :-) Seriously, what's the point?
Commodity hardware is parallel.
Commodity software is parallel.
Languages which can't easily express parallelism
will no longer be used and will die a commercial death,
probably rather quickly.
> No application that can be written to exploit parallelism via co-arrays could not be written more
> simply without co-arrays.
But co-arrays are so simple, it wouldn't be _much_ simpler.
> (This is what I mean about not having general problem solving support.) On
> appropriate hardware the use of CAF might make the solution run faster. On different hardware CAF
> may well make it run slower.
Slower than what? Slower than MPI or PVM?
> For all these reasons I believe CAF should be standardised via an optional part-n standard.
> The other thing that concerned me before and during the meeting is the continuing level of technical
> dispute that exists over co-arrays. CAF generates the largest number of unresolved technical issues
> and most of these result in multiple attempts at resolution, being sent back to subgroup repeatedly.
> This does not suggest to an interested observer that a technically robust consensus has been
> Standardise Co-arrays please but as a part-n standard and do not inflict it on core Fortran for ever
> or the next 50 years.
50 years *after* commodity hardware is parallel?
Fortran will either be a full-blown parallel language,
or Fortran will have been dead for 50 years.
I'd like to thank Lawrie for his support of co-arrays
as an integral part of the standard. If the best
the critics can do is based on misunderstanding ...
Purple Sage Computing Solutions, Inc.
More information about the J3