替代使用OpenMP并行化依赖嵌套for循环的reduction子句

时间:2017-03-10 16:26:58

标签: c for-loop parallel-processing openmp reduction

有没有办法使用OpenMP对以下代码进行并行化(不更改它)?

在这种情况下,由于变量' c'是一个矩阵,第一个和第四个循环之间存在依赖关系。我不确定崩溃条款是否有效。

for (i=0; i<N; i++) {
  for(j=0; j<N; j++) {   
    for(k=0; k<N; k++) {
      c[i][j] += a[i][k] * b[k][j];
      for(l=0; l<i+N+N; l++) {
        c[i][j] -= ((Z*k)+l-k)/(l+k+1);
      }
    }
  }
}

0 个答案:

没有答案