Oracle Solaris Studio 12.2: OpenMP API ユーザーガイド

3.9 Fortran の問題

次の事項は、Fortran の場合にのみ適用されます。

3.9.1 THREADPRIVATE 指令

2 つの連続した有効な並列領域間で維持される、スレッド (最初のスレッド以外) の threadprivate オブジェクト内のデータの値の条件がすべては保持されない場合、2 番目の領域の割り当て可能な配列の割り当て状態が「not currently allocated」になることがあります。

3.9.2 SHARED

共有変数を組み込み以外の手続きに渡すと、手続きで参照する前に共有変数の値が一時ストレージにコピーされ、手続きでの参照後に一時ストレージが実際の引数ストレージに戻されるることがあります。一時ストレージとの間のコピーは OpenMP 3.0 仕様の節 2.9.3.2 (88 ページ) の条件 a、b、および c が適用される場合に起こります。すなわち、

3.9.3 実行時ライブラリの定義

この実装では、インクルードファイル omp_lib.h とモジュールファイル omp_lib の両方が提供されます。

Solaris プラットフォームでは、引数をとる OpenMP 実行時ライブラリルーチンが generic インタフェースで拡張されたため、異なる Fortran の KIND 型の引数に対応できます。