次のループがあります
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;
}}}
そして、それは私に正しい結果をもたらします(私を夢中にさせます)なぜそれがシリーズコードと同じ結果をもたらすのか、誰でも私に論理的な説明を与えることができますか