7
我使用OpenMP工作並行嵌套for循環標:如何正確並行嵌套的for循環
double P[N][N];
double x=0.0,y=0.0;
for (int i=0; i<N; i++)
{
for (int j=0; j<N; j++)
{
P[i][j]=someLongFunction(x,y);
y+=1;
}
x+=1;
}
在這個循環中最重要的事情是,矩陣P必須是標量相同,並行版本:
我所有的可能的試驗沒有成功...
好的謝謝你的答案。 我可以問你另一個問題嗎? 如果我想在內循環之前每次都重置y = 0會怎麼樣? openmp實現將如何改變? – linello
然後將'(double)N * i + j'改爲'(double)j'。這裏的關鍵是我將'x'和'y'的表達式作爲循環索引的函數。這可以讓你打破依賴關係。 – Mysticial
非常感謝您的回答,他們澄清了我如何解決循環,爲OpenMP並行化做好準備。 最後一個問題,爲什麼這段代碼的串行和並行版本只給我一小部分不同的元素? '的for(int i = 0; I
linello