ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
Oracle Solaris Studio 12.3: OpenMP API ユーザーガイド Oracle Solaris Studio 12.3 Information Library (日本語) |
次の問題は、Fortran の場合にのみ当てはまります。
スレッド (最初のスレッド以外) の thread-private オブジェクト内のデータの値が 2 つの連続した有効な並列領域間で維持されるための条件がすべては保持されない場合、2 番目の領域の割り当て可能な配列の割り当て状態が「not currently allocated」になることがあります。
共有変数を組み込み以外の手続きに渡すと、手続きで参照する前に共有変数の値が一時ストレージにコピーされ、手続きでの参照後に一時ストレージから実際の引数ストレージに戻されることがあります。一時ストレージとの間のコピーは、OpenMP 3.1 仕様の shared 節に関する節に記述されている条件が成り立つ場合に起こります。すなわち、
実際の引数は、次のいずれかです。
共有変数
共有変数のサブオブジェクト
共有変数と関連づけられたオブジェクト
共有変数のサブオブジェクトと関連づけられたオブジェクト
実際の引数は、次のいずれかの場合もあります。
部分配列
ベクトル添字のある部分配列
形状引き継ぎ配列
ポインタ配列
この実際の引数に関連づけられたダミー引数は、形状明示配列または形状引き継ぎ配列です。
この実装では、インクルードファイル omp_lib.h とモジュールファイル omp_lib の両方が提供されます。
Oracle Solaris プラットフォームでは、引数をとる OpenMP 実行時ライブラリルーチンが generic インタフェースで拡張されたため、異なる Fortran の KIND 型の引数に対応できます。