OpenMP では、指定した変数セットまたはキャッシュ全体をフラッシュできます。
この操作のパフォーマンスを知っている人はいますか? 実際に変更された変数のみをフラッシュするのは理にかなっていますか、それとも「すべてをフラッシュ」するのは非常に高速なので、心配する必要はありませんか?
スレッドで時々フラッシュする必要があるリンクリストがあります。リストを反復処理して各要素を個別にフラッシュするか、単にすべてをフラッシュする必要がありますか?
OpenMP 3.1 標準のアドバイスを考えると、次のようになります。
リストでフラッシュ構成を使用すると、非常にエラーが発生しやすくなるため、使用しないよう強くお勧めします。
そして次の文:
実装は、リストを無視し、リストを使用しないフラッシュと同じように扱うことで、リストを使用してフラッシュを実装できます。
pragma omp flush
最初に(リストなしで)ソリューションを実装します。
次に、この実装を最適化してフラッシュ コンストラクトにリストを追加する前に、コードがパフォーマンス ポータブルではないため、慎重に検討します。