インテル® コンパイラーは OpenMP* 環境変数 (OMP_ プリフィックス) とインテル固有の環境変数の形式での拡張 (KMP_ プリフィックス) をサポートしています。
構文の例は、Linux* および Mac OS* X の bash 用です。Windows* の場合は set コマンドを使用してください。
変数名 |
説明、デフォルト値、構文 |
---|---|
OMP_NUM_THREADS |
アプリケーションでほかの値が指定されていない場合は、OpenMP* 並列領域で使用する最大スレッド数を設定します。 この環境変数は、-openmp と -parallel (Linux* および Mac OS* X) または /Qopenmp と /Qparallel (Windows*) の両方に適用されます。 デフォルト: オペレーティング・システムで認識されるプロセッサー数 構文: export OMP_NUM_THREADS=value |
OMP_SCHEDULE |
ランタイム・スケジュールの型とチャンクサイズ (オプション) を設定します。 デフォルト: STATIC、チャンクサイズの指定なし 構文: export OMP_SCHEDULE="kind[,chunk_size]" |
OMP_DYNAMIC |
スレッド数の動的調整を有効 (1) または無効 (0) にします。 デフォルト: 0 構文: export OMP_DYNAMIC=value |
OMP_NESTED |
入れ子された並列化を有効 (1) または無効 (0) にします。 デフォルト: 0 構文: export OMP_NESTED=value |
OMP_STACKSIZE |
スレッドのプライベート・スタックとして使用する各 OpenMP* スレッドに割り当てるキロバイト数を設定します。 推奨するサイズは 16M です。 B (バイト), K (キロバイト)、M (メガバイト)、G (ギガバイト)、T (テラバイト) などオプションのサフィックスを使用して単位を指定します。B、K、M、G、T が指定されずに、値のみが指定されている場合は、サイズは K (キロバイト) であると見なされます。 この変数は、OpenMP* プログラムのシーケンシャル部分、あるいは -parallel (Linux* および Mac OS* X) または /Qparallel (Windows*) で作成された並列プログラムを実行するユーザープログラムやスレッドによって生成されるネイティブ・オペレーティング・システムのスレッドには影響ありません。 kmp_{set,get}_stacksize_s() ルーチンは値を設定/取得します。kmp_set_stacksize_s() ルーチンは、最初の並列領域が作成される前にシーケンシャル部分から呼び出される必要があります。これが行われない場合、kmp_set_stacksize_s() を呼び出しても効果がありません。 関連環境変数: KMP_STACKSIZE および GOMP_STACKSIZE。KMP_STACKSIZE と GOMP_STACKSIZE は、OMP_STACKSIZE よりも優先されます。 デフォルト: IA-32 アーキテクチャー: 2M 構文: export OMP_STACKSIZE=value |
OMP_MAX_ACTIVE_LEVELS |
入れ子されたアクティブな並列領域の最大数を制御します。指定された値よりも深い入れ子レベルの並列領域は、シリアル化されます。 デフォルト: 制限なし 構文: export OMP_MAX_ACTIVE_LEVELS=value |
OMP_WAIT_POLICY | スレッドは待機中、スピンするか (active)、スリープするか (passive) を決定します。 デフォルト: Passive 構文: export OMP_WAIT_POLICY=value |
OMP_THREAD_LIMIT |
OpenMP* プログラムで同時に実行されるスレッド数を制限します。 この制限に達し、別のネイティブ・オペレーティング・システムのスレッドが OpenMP* API コールや構造を検出すると、プログラムはエラーメッセージを表示して終了します。OpenMP* 並列領域の開始時点でこの制限に達した場合は、チーム内のスレッド数が減少したことを示す警告メッセージが 1 度だけ生成されますが、プログラムの実行は続けられます。 この環境変数は、-openmp、-openmp-profile、-parallel (Linux* および Mac OS* X) または /Qopenmp、/Qopenmp-profile、/Qparallel (Windows*) のいずれかでコンパイルされたプログラムでのみ使用されます。 omp_get_thread_limit() ルーチンは制限値を返します。 関連環境変数: KMP_ALL_THREADS。この値は、OMP_THREAD_LIMIT よりも優先されます。 デフォルト: 制限なし 構文: export OMP_THREAD_LIMIT=value |
変数名 |
説明とデフォルト値 |
---|---|
KMP_ALL_THREADS |
OpenMP* プログラムで同時に実行されるスレッド数を制限します。 この制限に達し、別のネイティブ・オペレーティング・システムのスレッドが OpenMP* API コールや構造を検出すると、プログラムはエラーメッセージを表示して終了します。OpenMP* 並列領域の開始時点でこの制限に達した場合は、チーム内のスレッド数が減少したことを示す警告メッセージが 1 度だけ生成されますが、プログラムの実行は続けられます。 この環境変数は、-openmp または -openmp-profile (Linux* および Mac OS* X) と /Qopenmp または /Qopenmp-profile (Windows*) でコンパイルされたプログラムでのみ使用されます。 デフォルト: 制限なし |
KMP_BLOCKTIME |
並列領域の実行が終了した後、スレッドがスリープ状態になるまでスレッドが待機する時間 (ミリ秒単位) を設定します。 s (秒)、m (分)、h (時間)、d (日) などのサフィックスを使用して単位を指定します。 待機時間に制限を設けない場合は infinite を指定します。 実行モードと KMP_LIBRARY 環境変数も参照してください。 デフォルト: 200 ミリ秒 |
KMP_DYNAMIC_MODE | OMP_DYNAMIC=true の場合に、並列領域に使用されるスレッド数を決定するメソッドを選択します。設定可能な値: (asat | load_balance | thread_limit)
デフォルト: load_balance (サポートされている場合、Linux* OS のみ)。thread_limit (その他) |
KMP_LIBRARY |
OpenMP* ランタイム・ライブラリーの実行モードを選択します。変数値のオプションは、throughput、turnaround、serial です。 注KMP_LIBRARY は OMP_WAIT_POLICY よりも優先されます。 デフォルト: throughput |
KMP_SETTINGS |
プログラム実行中の OpenMP* ランタイム・ライブラリー環境変数の出力を有効 (1) または無効 (0) にします。ユーザー定義の環境変数設定と OpenMP* ランタイム・ライブラリーにより使用される効率的な変数の値の 2 つの変数リストが出力されます。 デフォルト: 0 |
KMP_STACKSIZE |
スレッドのプライベート・スタックとして使用する各 OpenMP* スレッドに割り当てるバイト数を設定します。 注デフォルトの単位がキロバイトではなく、バイトである点を除き、形式は OMP_STACKSIZE と同じです。 推奨するサイズは 16M です。 B (バイト)、,K (キロバイト)、M (メガバイト)、G (ギガバイト)、T (テラバイト) などオプションのサフィックスを使用して単位を指定します。 この変数は、OpenMP* プログラムのシーケンシャル部分、あるいは -parallel (Linux* および Mac OS* X) または /Qparallel (Windows*) で作成された並列プログラムを実行するユーザープログラムやスレッドによって生成されるネイティブ・オペレーティング・システムのスレッドには影響ありません。 関連環境変数: OMP_STACKSIZE および GOMP_STACKIZE。KMP_STACKSIZE は、OMP_STACKSIZE と GOMP_STACKSIZE よりも優先されます。 デフォルト: IA-32 アーキテクチャー: 2M。インテル® 64 アーキテクチャー: 4M |
KMP_MONITOR_STACKSIZE |
スレッドの監視に割り当てるバイト数を設定します。これは、プログラムの実行中の記帳に使用されます。 B (バイト)、,K (キロバイト)、M (メガバイト)、G (ギガバイト)、T (テラバイト) などオプションのサフィックスを使用して単位を指定します。 デフォルト: max (32k、システムの最小スレッド・スタック・サイズ) |
KMP_VERSION |
プログラム実行中の OpenMP* ランタイム・ライブラリーのバージョン情報の出力を有効 (1) または無効 (0) にします。 デフォルト: 0 |
KMP_AFFINITY |
ランタイム・ライブラリーを有効にして、プロセシング・ユニットにスレッドをバインドします。 デフォルトについての情報およびこの環境変数が並列環境に与える影響についての詳細は、「スレッド・アフィニティー・インターフェイス」を参照してください。 デフォルト: noverbose、 |
KMP_CPUINFO_FILE |
マシントポロジーの記述を含むファイルの代替名を指定します。このファイルは、/proc/cpuinfo と同じ形式でなければなりません。 Default: なし |
以下の環境変数は GNU 拡張です。これらの環境変数はインテルの OpenMP* 互換ライブラリーで認識されます。
変数名 |
説明 |
---|---|
GOMP_STACKSIZE |
OMP_STACKSIZE と同じです。KMP_STACKSIZE は GOMP_STACKSIZE よりも優先されます。GOMP_STACKSIZE は OMP_STACKSIZE よりも優先されます。 デフォルト: OMP_STACKSIZE の説明を参照してください。 |
GOMP_CPU_AFFINITY | OS のプロセッサー ID のリストを指定します。この変数を使用して、明示的に OS プロセッサー ID を指定する方法については、「スレッド・アフィニティー・インターフェイス」を参照してください。 デフォルト: アフィニティーは無効 |
© 1996-2010 Intel Corporation. 無断での引用、転載を禁じます。