Paralelizando bucles (I)

  1. Paraleliza el bucle de la siguiente función:
void func(double x[], double y[], double a, int n)
{
   int i;
   for (i=0; i<n; i++)
      y[i]=a*x[i]*x[i];
}

Solución:

Justo antes del for añadimos la línea:

    #pragma omp parallel for

  1. Paraleliza el bucle de la siguiente función:
void func(double x[], double y[], double a, int n)
{
   int i; 
   double b;
   for (i=0; i<n; i++) {
      b = a*x[i]*x[i];
      y[i] = b;
   }
}

Solución:

Justo antes del for añadimos la línea:

    #pragma omp parallel for private(b)