我有以下嵌套for循環。我想並行化第一個循環,但第二個循環不能並行化。所以我希望每個線程本身執行第二個循環,這意味着第二個循環對每個線程都必須是特殊的(對於代碼中的每個「i」)。如何爲嵌套循環配置openMP以保持內部循環不被並行化?
我該怎麼做?
#pragma omp parallel for
for (i=k+1;i<row;i++){
for (n=0;n<k;n++){
// #pragma omp atomic
dummy += L[i][n]*L[k][n];
L[i][k] = (A[i][k] - dummy)/L[k][k];
}
dummy = 0;
}
它不會,並行適用於下一個循環,但不會後續...... – Anycorn 2012-04-07 07:47:49
但結果證明是錯誤的這個循環。第二個循環必須遭受來自多個線程的某種形式的干預。 – 2012-04-07 07:51:44