OpenMP如何并行递增循环

时间:2018-12-05 16:23:47

标签: parallel-processing openmp

我有两个数组:

  double arrayA[N+2];
  double arrayB[N+2];

如何使用OpenMP并行循环?

 for(i=0; i<N; i++){
    arrayA[i] += arrayA[i+2] + sin(arrayB[i]);
  }

1 个答案:

答案 0 :(得分:0)

我假设arrayA预先填充了有意义的值,对吗? 如果是,请将arrayA的副本保存到临时的 tmp 数组中,并为编译指示实现一个简单的openmp。

#pragma omp parallel for
for(i=0; i<N; i++){
   arrayA[i] = arrayA[i] + tmp[i+2] + sin(arrayB[i]);
}