Question: 1. Recall that OpenMP creates private variables for reduction variables, and these private variables are initialized to the identity value for the reduction operator. What
1. Recall that OpenMP creates private variables for reduction variables, and these private variables are initialized to the identity value for the reduction operator.
What are the identity values for the operators *, +, && , || ?
2. Consider the loop
a[0] = 0;
for (i = 1; i < n; i++)
a[i] = a[i-1] + i;
Theres clearly a loop-carried dependence, as the value of a[i] cant be computed without the value of a[i-1]. Can you see a way to eliminate this dependence and parallelize the loop?
2. Consider the loop
a[0] = 0;
for (i = 1; i < n; i++)
a[i] = a[i-1] + i;
Theres clearly a loop-carried dependence, as the value of a[i] cant be computed without the value of a[i-1]. Can you see a way to eliminate this dependence and parallelize the loop?
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
