On 29 Apr 2011, at 16:09, Toon Verwaest wrote:

> You shouldn't write "do" loops that start at the beginning and go until the 
> end. You should just say that you want the calculation done and that your 
> intent is that you have visited everything. And then of course you might have 
> dependencies etc... but the idea is generally, don't say how to do it, just 
> declare what you want as a result.
> 
> Of course, it doesn't immediately match what we are used to doing: telling 
> the computer how we want things done; but you can't really say that you have 
> to tell the computer more about parallelization. It's exactly the opposite.
Well, it is not that easy. You have to include enough information intro the 
program, and you have to break it down in a way that allows parallelism.
For instance, you need to tell the machine that your operators are associative 
or commutative to enable optimizations and reordering.
And there seem to be approaches for instance to infer parallel solutions like 
prefix-sum algorithms[1] but that is also restricted to certain applications. 
Nothing general, no holly grail or silver bullet.


Best regards
Stefan


[1] Prefix Sums and Their Applications. Guy E. Blelloch



-- 
Stefan Marr
Software Languages Lab
Vrije Universiteit Brussel
Pleinlaan 2 / B-1050 Brussels / Belgium
http://soft.vub.ac.be/~smarr
Phone: +32 2 629 2974
Fax:   +32 2 629 3525


Reply via email to