JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris Studio 12.2: OpenMP API ユーザーガイド
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_schedule()

3.7.2 omp_set_max_active_levels()

3.7.3 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.  指令での節の記述

B.  OpenMP への変換

索引

3.4 スレッドの動的調整

実装後には、スレッド数を動的に調整する機能があります。動的調整の機能はデフォルトで有効に設定されています。OMP_DYNAMIC 環境変数を FALSE に設定するか、引数を適切に指定して omp_set_dynamic() ルーチンを呼び出して、動的調整を無効にします。

スレッドが並列構文を検出したときにこの実装により提供されるスレッド数は、OpenMP 3.0 仕様の 35 - 36 ページに記載されたアルゴリズム 2.1 に従って決定されます。システムリソースの不足時などの例外的な状況では、与えられるスレッドの数はアルゴリズム 2.1 で求めた数よりも少なくなることがあります。このような状況では、 SUNW_MP_WARNTRUE に設定されているか、コールバック関数が sunw_mp_register_warn() の呼び出しにより登録されている場合でも、警告メッセージが表示されます。