JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris Studio 12.3: OpenMP API ユーザーガイド     Oracle Solaris Studio 12.3 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  OpenMP API について

2.  OpenMP プログラムのコンパイルと実行

3.  実装によって定義される動作

3.1 タスクスケジューリングポイント

3.2 メモリーモデル

3.3 内部制御変数

3.4 スレッドの動的調整

3.5 ループ指令

3.6 コンストラクト

3.6.1 SECTIONS

3.6.2 SINGLE

3.6.3 ATOMIC

3.7 ルーチン

3.7.1 omp_set_num_threads()

3.7.2 omp_set_schedule()

3.7.3 omp_set_max_active_levels()

3.7.4 omp_get_max_active_levels()

3.8 環境変数

3.9 Fortran の問題

3.9.1 THREADPRIVATE 指令

3.9.2 SHARED

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

4.  入れ子並列処理

5.  タスク化

6.  変数の自動スコープ宣言

7.  スコープチェック

8.  パフォーマンス上の検討事項

A.  指令での節の記述

索引

3.9 Fortran の問題

次の問題は、Fortran の場合にのみ当てはまります。

3.9.1 THREADPRIVATE 指令

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

3.9.2 SHARED

共有変数を組み込み以外の手続きに渡すと、手続きで参照する前に共有変数の値が一時ストレージにコピーされ、手続きでの参照後に一時ストレージから実際の引数ストレージに戻されることがあります。一時ストレージとの間のコピーは、OpenMP 3.1 仕様の shared 節に関する節に記述されている条件が成り立つ場合に起こります。すなわち、

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

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

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