Sequential - Start

Check:

Profiling:

Original code for inner product:

double scalar(const int N, const double x[], const double y[])
{
 double sum = 0.0;
 for (int i=0; i<N; ++i)
 {
    sum += x[i]*y[i];
 }
 return sum;
}

int main()
{
...
double s = scalar(n,a,b);
...
}

and  compile the code with one of the available compilers


Performance improvements: