Freigeben über


A.6 Verwenden der lastprivate-Klausel

Korrigieren von der Ausführung hängt auch von dem Wert ab, den der letzten Iteration einer Schleife zu einer Variablen zuordnet.Solche Programme müssen all diese Variablen wie Argumente an eine lastprivate Clause (2.7.2.3 Abschnitt auf Seite 27) aufführen dass die Werte der Variablen identisch mit sind, wenn die Schleife sequenziell ausgeführt wird.

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

Im vorhergehenden Beispiel entspricht der Wert von i am Ende des parallelen Bereichs n–1, wie im sequenziellen Fall.