(j3.2006) (SC22WG5.4023) Late in the day question
dick.hendrickson at att.net
dick.hendrickson
Tue Jun 23 17:25:13 EDT 2009
-------------- Original message from Van Snyder <Van.Snyder at jpl.nasa.gov>: --------------
> It's kind of late in the day to ask such a question, but why did we
> invent DO CONCURRENT instead of just extending the rules of the FORALL
> construct? Does FORALL really have any advantage that DO CONCURRENT
> doesn't?
>
I think the reason is that for true parallel processing you want guaranteed
independence between each iteration of the loop. FORALL doesn't
require that. FORALL isn't really a looping construct (it
just looks like one on TV) and the rules specify exactly how
interdependence between different lines must be processed. That,
effectively, defeats multi-processor parallelism on an iteration by
iteration basis.
It's my belief that FORALL was a mistake. Before a processor can
efficiently optimize a general FORALL construct it must prove a
bunch of theorems about left-to-right and line-to-line independence
and the theorems are almost identical to the ones it would have to
prove in order to vectorize a loop.
Dick Hendrickson
> --
> Van Snyder | What fraction of Americans believe
> Van.Snyder at jpl.nasa.gov | Wrestling is real and NASA is fake?
> Any alleged opinions are my own and have not been approved or
> disapproved by JPL, CalTech, NASA, the President, or anybody else.
>
> _______________________________________________
> J3 mailing list
> J3 at j3-fortran.org
> http://j3-fortran.org/mailman/listinfo/j3
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://j3-fortran.org/pipermail/j3/attachments/20090623/12273be9/attachment.html
More information about the J3
mailing list