<< 29 >>
インテル® C/C++ コンパイラー OpenMP* 活用ガイド
デュアルコア・マルチコア対応アプリケーション開発A
5.6 実行時関数/環境変数
OpenMP* によるマルチスレッド・プログラムの実行を行なう場合、環境変数によってプログラムの実行を制御するこ
とが可能です。
表.6 OpenMP* 環境変数
環境変数
説 明
OMP_NUM_THREADS
OMP_SCHEDULE
OMP_DYNAMIC
OMP_NESTED
スレッド数の動的調整が有効になっている場合、環境変数の値は、使用するスレッド
の数の上限として解釈されます。
例: setenv OMP_NUM_THREADS 4(Linux)
set OMP_NUM_THREADS=4(Windows)
環境変数のデフォルト値は、処理系に依存します。指定では、type[,chunk] の形式
で指定し、type には、STATIC/DYNAMIC/GUIDED が指定可能です。chunk の設定
は、オプションです。chunk が設定されていない場合には、STATIC スケジュールの
場合を除き、値 1 が使用されます。STATIC スケジュールでは、デフォルトの chunk
は、ループカウントを、そのループに適用されるスレッドの数で割った値に設定され
ます。
例: setenv OMP_SCHEDULE "dynamic"(Linux)
set OMP_SCHEDULE=dynamic(Windows)
値が TRUE に設定されている場合、並列実行領域の実行に使用されるスレッドの数
は、システムのロードなどによって、システムが実行時に調整します。値が FALSE に設
定されていると、この動的調整は無効になります。
例: setenv OMP_DYNAMIC TRUE(Linux)
set OMP_DYNAMIC=TRUE(Windows)
値が TRUE に設定されていると、ネストされた並列実行は有効になり、値が FALSE に
設定されていると、ネストされた並列実行は無効になります。デフォルト値は FALSE
です。
例: setenv OMP_NESTED TRUE(Linux)
set OMP_NESTED=TRUE(Windows)