1

次のループがあります

for(int i=1;i<n;i++){
a[i]=(a[i]+a[i-1])/2;
}

明らかに、このループは並列化できません。なぜなら、各要素の結果は、その前にとにかくJOMP(openmp)で並列化しようとした要素に依存するためです。

//omp parallel shared(a)
{
//omp for 
for(int i=1;i<n;i++){
a[i]=(a[i]+a[i-1])/2;
}}}

そして、それは私に正しい結果をもたらします(私を夢中にさせます)なぜそれがシリーズコードと同じ結果をもたらすのか、誰でも私に論理的な説明を与えることができますか

4

0 に答える 0