Compartir a través de


A.6 Utilizar la cláusula de lastprivate

La ejecución correcta depende a veces el valor que la última iteración de las asignaciones de un bucle a una variable.Tales programas deben enumerar todas las variables como argumentos a una cláusula de lastprivate (sección 2.7.2.3 en la página 27) de modo que los valores de las variables son iguales que cuando el bucle se ejecuta secuencialmente.

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

En el ejemplo anterior, el valor de i al final de la región paralela será igual que n–1, como en el caso secuencial.