Udostępnij za pośrednictwem


A.6 przy użyciu klauzuli lastprivate

Czasami poprawne wykonanie zależy wartość zmiennej przypisuje ostatnich iteracji pętli.Takie programy muszą wyszczególniać takie zmienne jako argumenty do lastprivate klauzuli (w sekcji 2.7.2.3 na stronie 27) tak, aby wartości zmiennych są takie same, jak podczas pętli jest wykonywane sekwencyjnie.

#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];

W poprzednim przykładzie wartość i na końcu równoległych region będzie równa n–1, jak w przypadku sekwencyjnych.