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.