A.6 Using the lastprivate Clause
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
Correct execution sometimes depends on the value that the last iteration of a loop assigns to a variable. Such programs must list all such variables as arguments to a lastprivate
clause (Section 2.7.2.3 on page 27) so that the values of the variables are the same as when the loop is executed sequentially.
#pragma omp parallel
{
#pragma omp for lastprivate(i)
for (i=0; i<n-1; i++)
a[i] = b[i] + b[i+1];
}
a[i]=b[i];
In the preceding example, the value of i
at the end of the parallel region will equal n–1
, as in the sequential case.