多核平台上编程挑战(转自HiPEAC Roadmap)
Challenge 4.1: Passing More Semantics
A first challenge is how to get the correct combination of programming constructs for expressing parallelism.
Most probably, they will be taken from different programming paradigms.
OpenMP 3.0 will incorporate the task concept, and with it, it will be easy to program in a pthreads-like way without the burden of having to manually outline the code executed in parallel with other tasks.
Incremental parallelization will be also possible, as OpenMP already allows it.
Along with this, new approaches at the higher level will include
- techniques from the productivity programming models area:
- The definition of ”places” (X10), ”regions” (Fortress), "locales” (Chapel)
- or addressable domains from the language perspective, allowing to distribute the computation across a set of machines in clustered environments:
- Futures (X10, Cilk), allowing the execution of function calls in parallel with the code calling the function.