Oracle® Solaris Studio 12.4: OpenMP API ユーザーズガイド

印刷ビューの終了

更新: 2014 年 12 月
 
 

9.1 OpenMP メモリーモデル

複数スレッドから同じ変数への非同期のメモリーアクセスが、互いに不可分なものになるとは限りません。アクセスが不可分にものなるかどうかは、実装依存、およびアプリケーション依存の要因による影響を受けます。変数によっては、対象プラットフォームでの最大の不可分なメモリー動作よりも大きい場合があります。変数によっては、境界整列が誤っているか、不明な境界整列である場合があります。より多くのロード (または格納) を使用する、高速なコードシーケンスもあります。このため、コンパイラまたは実行時システムがその変数にアクセスするためには、複数回のロード (または格納) が必要になることがあります。

メモリーの更新がビットフィールド変数に対するものである場合、メモリーの更新によって別の変数 (配列、構造体の要素など) の一部である隣接する変数の読み取りおよび書き込みが行われる可能性がある最小サイズは、基本言語によって要求されるサイズと同じです。メモリーの更新がビットフィールド変数ではない変数に対するものである場合、その更新では別の変数 (配列、構造体の要素など) の一部である隣接する変数の読み取りおよび書き込みは行われません。