Oracle® Solaris Studio 12.4: OpenMP API ユーザーズガイド

印刷ビューの終了

更新: 2014 年 12 月
 
 

9.3 スレッド数の動的な調整

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

スレッドが parallel 構文を検出したときにこの実装により提供されるスレッド数は、OpenMP 4.0 仕様のアルゴリズム 2.1 に従って決定されます。システムリソースの不足時などの例外的な状況では、提供されるスレッドの数はアルゴリズム 2.1 で説明されている数よりも少なくなることがあります。

要求された数のスレッドを実装で供給できず、スレッド数の動的調整が有効になっている場合、プログラムの実行は少ない数のスレッドで続行されます。SUNW_MP_WARNTRUE に設定されているか、sunw_mp_register_warn() の呼び出しによりコールバック関数が登録されている場合は、警告メッセージが表示されます。

要求された数のスレッドを実装で供給できず、スレッド数の動的調整が無効になっている場合は、プログラムでエラーメッセージが発行され、プログラムの実行が停止します。