通过使用“ #pragma omp single nowait”和“ #pragma omp for两个不同的循环”,这是并行处理两个for循环的正确方法吗?还是有其他方法可以做到?
#pragma omp single nowait
{
for (i = ; i < N; i += )
{
D[i] = x * A[i] + x * B[i];
}
#pragma omp for
for (i = 0; i < N; i++)
C[i] = c * D[i];
}
} // end omp parallel
答案 0 :(得分:0)
您应该注意,实际上您可以将两个for循环合并为一个...因为每个i都需要计算D [i],然后,C [i]的计算仅取决于D [i ]。
您应该以这种方式组合循环,然后像对第二个循环那样使用omp作为