問題タブ [data-race]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
multithreading - OpenMP を使用したマルチスレッド Nagel-Schreckenberg モデル (トラフィック シミュレーション)
マルチスレッドの Nagel-Schreckenberg モデル シミュレーションを C 言語で記述しようとしていますが、まだ計算されていないデータにスレッドがアクセスするときに問題が発生します。
これは、行ごとの速度計算のみを並列化する作業コードです。
これは問題なく動作しますが、十分に高速ではありません。畳み込みを使用してパフォーマンスを向上させようとしていますが、まだ計算されていないため、半分の時間で隣接スレッドのデータを読み取ることができません。使用したコードは次のとおりです。
ご覧のとおり、2 番目のブロックが計算されると、最初のブロックがまだ計算されていないため、空のスペースが生成されます。
畳み込みでこれを解決することは可能だと思いますが、何か間違ったことをしているだけで、何がわかりません。この問題を解決する方法についてアドバイスをいただければ幸いです。