このトピックでは、サポートされる OpenMP 環境変数 (OMP_ プリフィックス) とインテルの拡張であるインテル固有の環境変数 (KMP_ プリフィックス) をリストします。
変数 |
デフォルト |
説明 |
---|---|---|
OMP_SCHEDULE |
STATIC、チャンクサイズの指定なし |
ランタイム・スケジュールの型とチャンクサイズを設定します。 |
OMP_NUM_THREADS |
アプリケーションが実行されるシステム上のオペレーティング・システムで認識されるプロセッサー数。 |
アプリケーションでほかの値が指定されていない場合は、OpenMP 並列領域で使用する最大スレッド数を設定します。 |
OMP_DYNAMIC |
0 |
スレッド数の動的調整を有効 (1) または無効 (0) にします。 |
OMP_NESTED |
1 |
入れ子された並列化を有効 (1) または無効 (0) にします。 |
環境変数 |
デフォルト |
説明 |
---|---|---|
KMP_ALL_THREADS |
制限なし |
OpenMP プログラムで同時に実行されるスレッド数を制限します。 この制限に達し、別のネイティブ・オペレーティング・システムのスレッドが OpenMP API コールや構造を検出すると、プログラムはエラーメッセージを表示して終了します。OpenMP 並列領域の開始時点でこの制限に達した場合は、チーム内のスレッド数が減少したことを示す警告メッセージが 1 度だけ生成されますが、プログラムの実行は続けられます。 この環境変数は、-openmp または -openmp-profile (Linux* および Mac OS*) と /Qopenmp または /Qopenmp-profile (Windows*) でコンパイルされたプログラムでのみ使用されます。 |
KMP_BLOCKTIME |
200 |
並列領域の実行が終了した後、スレッドがスリープ状態になるまでスレッドが待機する時間 (ミリ秒単位) を設定します。 s (秒)、m (分)、h (時間)、d (日) などのサフィックスを使用して単位を指定します。 実行モードと KMP_LIBRARY 環境変数も参照してください。 |
KMP_LIBRARY |
throughput |
OpenMP ランタイム・ライブラリーの実行モードを選択します。変数の値のオプションは、throughput (実行モード) または turnaround です。 |
KMP_MONITOR_STACKSIZE |
max (32k、システムの最小スレッド・スタック・サイズ) |
スレッドの監視に割り当てるバイト数を設定します。これは、プログラムの実行中の記帳に使用されます。 b (バイト), k (キロバイト)、m (メガバイト)、g (ギガバイト)、t (テラバイト) などオプションのサフィックスを使用して単位を指定します。 |
KMP_STACKSIZE |
IA-32 アーキテクチャー: 2m インテル(R) 64 アーキテクチャーおよび IA-64 アーキテクチャー: 4m |
プライベート・スタックとして使用する各 OpenMP スレッドに割り当てるバイト数を設定します。 b (バイト), k (キロバイト)、m (メガバイト)、g (ギガバイト)、t (テラバイト) などオプションのサフィックスを使用して単位を指定します。 この変数は、OpenMP プログラムのシーケンシャル部分を実行するユーザープログラムやスレッドによって作成されるネイティブ・オペレーティング・システムのスレッドには影響ありません。 |
KMP_VERSION |
0 |
プログラム実行中の OpenMP ランタイム・ライブラリーのバージョン情報の出力を有効 (1) または無効 (0) にします。 |
KMP_AFFINITY |
|
ランタイム・ライブラリーを有効にして、プロセシング・ユニットにスレッドをバインドします。 詳細は、「スレッド・アフィニティー・インターフェイス」を参照してください。 |