[Cplex] Cplex: suggested topics for discussion on the next teleconf.
triegel at redhat.com
Tue Jun 18 15:15:54 CEST 2013
On Tue, 2013-06-18 at 09:59 +0100, Clive Pygott wrote:
> * Are there constraints on the code that may occur in a parallel
> region, parallel implemented for loop etc, necessary to ensure
> that the program has the specified behaviour? I'd see this as
> particularly an issue if there is expected to be a semantic
> equivalence between a parallel and sequential implementation
> of the code. The proposal mentions some constraints on loop
> implementations (number of iterations known before execution,
> no code in the body that disrupts the control flow, such as
> break or return), but are these the only constraints?
There are additional constraints, because it's parallel code. Roughly,
(1) tasks need to be able to execute in parallel (e.g., the program must
still be data-race-free if tasks execute in parallel), and (2) there are
weaker progress guarantees than for concurrency abstractions such as
explicit threading (e.g., parallel tasks cannot expect to execute
concurrently, so, informally, they must be able to make progress if
other tasks don't execute). For SIMD, the latter is a bit different in
that iterations of a SIMD loop must not assume to make progress
independently of other iterations making progress as well (eg, you can't
just use critical sections as in concurrent code).
Those constraints above are obviously not full definitions, but I hope
this summarizes the set of constraints we have to consider.
More information about the Cplex