62 Energy-Aware Memory Management for EMSs
After reducing the iteration space to D
, null(P
) ∩ null(Q
)=∅ and thus
dependences are not redundant.
2.6.3.3 Step 2: Separating broadcast-reductions
Some nonlocal dependences may be broadcasts, others may be reductions,
and yet others may have both a broadcast and a reduction component in
them. This last type of dependence requires a step in the algorithm that
introduces an intermediate variable to separate a combined reduce-broadcast
into a reduce-operation followed by a broadcast.
The introduction of an intermediate variable Z is illustrated in Figure 2.17a.
A vector v is not in Null(Q
) but is in Null(S), creating a reduction from Y
to Z. Also, a vector u is in Null(S), but not in Null(P
), creating