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.4 スレッドの動的調整

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

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