9
forループを並列化するために、既存のコードベースにOpenMPを追加しました。私は、おそらく競合状態によって引き起こされる、矛盾に気づいた結果の出力ファイルでOpenMPの並列セクションでポインタをプライベートにしていますか?
#pragma omp parallel for
for (int i = 0; i < n; i++){
[....]
Model *lm;
lm->myfunc();
lm->anotherfunc();
[....]
}
:いくつかの変数はポインタを含め、parallel for
地域の範囲内に作成されます。私は最終的にomp critical
を使って競合状態を解決しました。私の質問は残っています:lm
は各スレッドにプライベートですか、それとも共有されていますか?
感謝。スペックを読むことから、それはそうであるように見えましたが、それは少し不明でした。 – argoneus