I'm replying to two different mails here...
Dan Nagle wrote:
> Hello,
>
>...
>> They are too "flavour of the month" and as yet unproven as even a
>> better way
>> of doing explicit parallelism let alone best on the architectures that
>> do suit them.
>
> Coarrays are "flavor of the month", and have been for ten years now.
Can you tell me how many production scientific/research or ISV applications
are based on a co-array implementation? What platforms do these
run on?
Van Snyder wrote:
> ...
> To repeat (paraphrasing and embellishing slightly):
>
> The view of the US delegation to the ISO working group is that
> coarse-grain parallelism will become SO IMPORTANT SO SOON
> (apologies for shouting) that CoArrays should not be delayed,
> and should not be optional.
>
> First to tackle the "should not be delayed" part:
>
> Dual-core and quad-core processors both appeared after the 2003 standard
> was published, and are already the only option for "commodity"
> scientific computing. The possibility that they might appear was not
> even mentioned during development of Fortran 2003. It was tacitly
> agreed that HPF and OpenMP were dead letters by then, but nothing was
> done to replace them, or to integrate them into the standard in hopes of
> reviving their relevance.
In what sense was OpenMP dead? I spent the last few years running
customer benchmarks that were overwhelmingly MPI or OpenMP. These
codes came from customers purchasing (mainly) clusters with the intent to
run these applications over the next few years.
I think there were two requests for UPC and one for Co-Array fortran
during this time.
One of the success stories of the community approaches (MPI/OpenMP)
is the takeup by ISVs even given the challenge of targeting multiple
implementations across a range of platforms. For OpenMP I guess the
availability of the KAI runtime made things easier to start with.
Have co-array implementations reached anything like this level of maturity?
I was at the ISC conference in Dresden earlier this year and nobody
I talked to mentioned Co-Array Fortran, in fact I did ask a few people
who have access to Cray systems and there was no interest.
But maybe the situation is different in the USA?
Clearly people want to program multi-core systems but they can do
so today using various approaches.
And in Dresden there was a lot of interest in GPGPUs and I was surprised
by the number of people who had tried them and were interested in talking
about them. Programming these brings a new level of complexity for most people.
So getting off the fence, I'm not personally convinced that the time is
right for this feature to be added. I'm particularly concerned to learn about
the practicalities of the synchronisation but I don't have an implementation
to play with.
Now if someone wants to give away a free implementation that works on
an Infiniband/OFED cluster I would be interested to try...
Harvey
PS: Note that I'm not speaking for Sun Microsystems on this topic.
|