openMPを使ってこのループを並列にすることが可能かどうか疑問に思っています。このループではどのようにopenMPを使用できますか?
大まかでは、競争条件に問題があります。私は外側ループによって生成される内側ループのnと、D = A [n]との競合条件をどのように扱うのか不明です。これを並列化しようとするのが実用的だと思いますか?
for(n=0; n < 10000000; ++n) {
for (n2=0; n2< 100; ++n2) {
A[n]=A[n]+B[n2][n+C[n2]+200];
}
D=D+A[n];
}
注 '内側のループでn2'はどのような方法でN ''に依存しないこと - あなたは、その内側のループを置き換えることができます100個の明示的に書かれた行が問題なく... – sarnold