インテル® C++ コンパイラー 15.0 ユーザー・リファレンス・ガイド
コンパイラーがライブラリー、インクルード・ファイル、設定ファイル、特定の設定など、ファイルを検索する際のパス (検索先) を指定して、システム環境をカスタマイズできます。
インテル® C++ コンパイラーは、Linux* と特に明記されていない限り、OS X* で以下の環境変数をサポートしています。
環境変数 |
説明 |
---|---|
CILK_NWORKERS (Linux*) |
インテル® Cilk™ Plus プログラムで使用するワーカースレッドの数を指定します。 「ワーカー数の設定」を参照してください。 |
DYLD_LIBRARY_PATH (OS X*) |
共有オブジェクトの場所を指定します。 |
GCCROOT (Linux*) |
gcc* バイナリーの場所を指定します。-gcc-name オプションを使用する際に、コンパイラーが gcc* バイナリーの場所を特定できない場合にのみ、この変数を設定します。 |
GXX_INCLUDE (Linux*) |
gcc* ヘッダーの場所を指定します。-gcc-name=<directory-name>/gcc オプションで指定された必要な値をコンパイラーが見つけられない場合、この変数を設定して、gcc* ファイルの場所を指定します。 |
GXX_ROOT (Linux*) |
gcc* バイナリーの場所を指定します。-gcc-name=<directory-name>/gcc オプションで指定された必要な値をコンパイラーが見つけられない場合、この変数を設定して、gcc* ファイルの場所を指定します。 |
IA32ROOT (IA-32 アーキテクチャーとインテル® 64 アーキテクチャー) |
標準以外のインストール構成の場合に、インクルードおよびライブラリー・ファイルを含むディレクトリーを指します。 |
ICCCFG |
icc を使用してコンパイラーを起動したときにコンパイルをカスタマイズするための設定ファイルを指定します。 |
ICPCCFG |
icpc を使用してコンパイラーを起動したときにコンパイルをカスタマイズするための設定ファイルを指定します。 |
ICLCFG (OS X*) |
icl を使用してコンパイラーを起動したときにコンパイルをカスタマイズするための設定ファイルを指定します。 OS X* 10.9 以降でのみ利用できます。 |
ICLXXCFG (OS X*) |
icl++ を使用してコンパイラーを起動したときにコンパイルをカスタマイズするための設定ファイルを指定します。 OS X* 10.9 以降でのみ利用できます。 |
__INTEL_PRE_CFLAGS __INTEL_POST_CFLAGS |
インテル® C++ コンパイラーのコマンドライン・オプションをコマンドラインの最後に追加します。 これは、コンパイラー設定ファイル icl.cfg ですでに提供されている機能の拡張です。 コマンドライン・オプションは、__INTEL_PRE_CFLAGS 環境変数を使用して先頭に、または __INTEL_POST_CFLAGS 環境変数を使用して最後に挿入することができます。 コマンドラインは次のようにビルドされます。 構文: icl <PRE flags> <flags from configuration file> <flags from the compiler invocation> <POST flags> 注-w3 オプション (Linux* および OS X*) が指定されている場合、コンパイラー・ドライバーは環境変数によりオプションが変更されていることを (リマークで) 警告します。 |
INTEL_CHKP_REPORT_MODE (Linux*) |
ランタイムにポインターチェッカーのレポートモードを変更します。 詳細は、「範囲外エラーの特定とレポート」を参照してください。 |
INTEL_LICENSE_FILE |
インテルのライセンスファイルの場所を指定します。 |
LD_LIBRARY_PATH (Linux*) |
共有オブジェクトの場所を指定します。 |
PATH |
システムがバイナリー実行ファイルを検索するディレクトリーを指定します。 |
PROF_DIR |
プロファイル・ファイル (拡張子が .dyn、.dpi、.spi などのファイル) を保存するディレクトリーを指定します。 デフォルトでは、.dyn ファイルは、prof-gen オプションでコンパイルされたバイナリーにある最初に実行されたインストルメント済みルーチンを含むファイルのソース・ディレクトリーに保存されます。 |
PROF_DPI |
.dpi ファイルの名前です。 デフォルトは、pgopti.dpi です。 |
TMP TMPDIR TEMP |
一時ファイルの場所を指定します。指定しない場合、コンパイラーは一時ファイルを /tmp に格納します。 |
インテル® MIC アーキテクチャーの環境変数 | |
MIC_ENV_PREFIX |
ターゲットに渡される環境変数を制御します。 デフォルトでは、ホストで設定されているすべての環境変数がターゲットに渡されます。MIC_ENV_PREFIX を指定すると、プリフィクスがこの変数の値と等しい環境変数のみ渡されます。 例えば、MIC_ENV_PREFIX=ABC を指定すると、プリフィクスが ABC の環境変数のみ渡されます。 注MIC_LD_LIBRARY_PATH 変数は削除されずにターゲットに渡されるため、ABC_ENV_PREFIX=MIC を使用してターゲット上の LD_LIBRARY_PATH を変更することはできません。 特定のコプロセッサーへの環境変数の引き渡し、および 1 つまたはすべてのコプロセッサーへの複数の環境変数の引き渡しについては、「CPU の環境変数を設定してコプロセッサーの実行環境を変更する」を参照してください。 |
MIC_HOST_LOG |
この環境変数で指定された場所にホストのトレース情報を出力します。 デフォルト: なし 例: MIC_HOST_LOG=/home/user/app/host.log |
MIC_LD_LIBRARY_PATH |
ターゲット共有オブジェクトの場所を指定します。LD_LIBRARY_PATH はホスト・オブジェクトの場所を指定します。 |
MIC_LIBRARY_PATH |
ターゲット・スタティック・ライブラリーの場所を指定します。LIBRARY_PATH はホスト・スタティック・ライブラリーの場所を指定します。 |
MIC_PROXY_IO |
stderr と stdout のプロキシーを有効 (1) または無効 (0) にし、プロセスでホストとターゲット間の I/O プロキシーサポートを有効にするかどうかを指定します。 デフォルト: 1 例: MIC_PROXY_IO=0 |
MIC_SEP_MONITOR |
オフロード領域で SEP を有効 (1) または無効 (0) にします。 デフォルト: 0 例: MIC_SEP_MONITOR=1 |
MIC_STACKSIZE |
オフロードのメインスレッドのスタックサイズを指定します。この値は、一般的に個々のスレッドのスタックサイズよりもはるかに大きくなります。ターゲットまたはホストでネイティブに実行する場合に、ulimit-s (BASH シェル) または limit stacksize (C シェル) に設定する値に対応します。 整数値B|K|M|G|T のように設定します。各文字の意味は次のとおりです。
デフォルト: 12M 例: MIC_STACKSIZE=16M |
MIC_USE_2MB_BUFFERS |
(サイズ > MIC_USE_2MB_BUFFERS) の場合、2M ページを使用します。 ランタイムの長さがこの環境変数の値を超えるポインターベースの変数は、大きなページに割り当てられます。 整数値B|K|M|G|T のように設定します。各文字の意味は次のとおりです。
例: MIC_USE_2MB_BUFFERS=64K |
OFFLOAD_DEVICES |
変数で指定されたコプロセッサーのみ使用するようにオフロードプロセスを制限します。 ターゲットのデバイス番号をカンマ区切りのリストで指定できます。デバイス番号の範囲は、0 ~ (number_of_devices_in_the_system-1) です。0 はシステムの最初のコプロセッサーで、(number_of_devices_in_the_system-1) はシステムの最後のコプロセッサーです。 オフロードに利用可能なコプロセッサーは、論理的に番号が付けられています。関数 _Offload_number_of_devices() は利用可能なコプロセッサーの数を返します。 オフロードプラグマの target 指定子で使用するコプロセッサーのインデックスの範囲は 0 ~ (number_of_devices_in_the_system-1) です。 デフォルト: オフロードプロセスはすべてのデバイスを使用します。 例: OFFLOAD_DEVICES = 1,2 3 つ以上のコプロセッサーを搭載したシステムでは、アプリケーションはこの設定によりコプロセッサー 1 と 2 のみ使用することができます。コプロセッサー 0 または 1 へのオフロードは、2 つ目と 3 つ目の物理コプロセッサーで実行されます。1 よりも大きなデバイス番号が指定された場合は、すべてのオフロードがコプロセッサー 0 と 1 で行われます。1 つ目または 2 つ目のコプロセッサーでオフロードが実行されている場合、コプロセッサー上で _Offload_number_of_devices() 関数は 0 または 1 を返します。 |
OFFLOAD_INIT |
オフロードランタイムにターゲットを初期化するタイミングのヒントを与えます。
デフォルト:on_offload_all 例: OFFLOAD_INIT=on_start |
OFFLOAD_REPORT |
オフロード実行時間 (秒単位) とデータ転送量 (バイト単位) の出力を制御します。この環境変数は、__Offload_report API を使用した場合と同じです。
デフォルト: なし 例: OFFLOAD_REPORT=1 |
インテル® グラフィックス・テクノロジーの環境変数 (GFX_) | |
GFX_CPU_BACKUP |
ターゲットが利用できない場合、ホスト上でヘテロジニアス・コードを実行するかどうかを制御します。 offload プラグマの if 節が false と評価されると、ターゲットの状態に関係なく、コードはホスト上で実行されます。 offload プラグマの if 節が指定されないか true と評価され、オフロードをサポートしているターゲットおよびインテル® グラフィックス・テクノロジー・ドライバーが利用可能で正しく初期化されている場合、コードはターゲット上で実行されます。 それ以外の場合、ホストのバックアップ実行は GFX_CPU_BACKUP の値に依存します。 ホストで実行させないようにするには、GFX_CPU_BACKUP を '0' に設定します。これは、ターゲットが利用できないと、アプリケーションは実行に失敗します。 ターゲットが利用できないときにホストで実行するには、GFX_CPU_BACKUP を '1' に設定します。 デフォルトではこの変数は 1 に設定されるため、コードはホスト上で実行されます。 デフォルト: 1 |
GFX_MAX_THREAD_COUNT |
#pragma loop_nest でアノテーションが付けられたループの入れ子構造を並列化するターゲットスレッドの最大数を制御します。ヘテロジニアス・アプリケーションが開始される前に設定します。 例えば、set GFX_MAX_THREAD_COUNT=32 と設定してデフォルトの最大数を変更します。 多くの (例えば 512) スレッドをスケジュールすると一部の操作のレイテンシーを隠蔽できますが、スレッド数が多くなると、オフロードのコストが増加しパフォーマンスに影響を及ぼします。デフォルトでは、ランタイムが最大スレッド数を自動的に決定します。 特定のオフロード実行における実際のスレッド数は、実際の反復空間に応じてオフロードランタイムによって決定され、最大値よりも小さくなる可能性があります。詳細は、「インテル® グラフィックス・テクノロジー固有の並列性を使いこなす」を参照してください。 デフォルト: -1 例: GFX_MAX_THREAD_COUNT=32 |
GFX_OFFLOAD_TIMEOUT |
デフォルトでは、システム回復タイムアウト時間 (通常は 2 秒) より長くオフロードタスクを実行することはできません。タスクは別のタイムアウト (この変数で定義) 後にハングまたは異常終了します。オフロードタスクをより長く実行できるようにするには、(Microsoft* のドキュメントを参照して) システム・レジストリーを編集し、タイムアウトによる回復を無効にします。32 秒では短い場合は、GFX_OFFLOAD_TIMEOUT により長い値を設定します。 デフォルト: 32 秒 |
GFX_LOG_OFFLOAD |
任意のログレベル (1 から 3、3 が最も詳細) を設定して、オフロードプロセスの記録を有効または無効にします。 set GFX_LOG_OFFLOAD=2 を使用 (2 に設定) すると、実際のスレッド数と並列ループの入れ子構造の反復空間の分配をモニターできます。 記録を無効にするには、GFX_LOG_OFFLOAD に空の文字列または '0' を設定します。 注記録を有効にするとオフロードのオーバーヘッドが大幅に増えるため、デバッグにのみ使用することを推奨します。 |
GFX_SHOW_TIME |
実行の最後のタイミング情報の出力を有効または無効にします。 タイマー出力を無効にするには、GFX_SHOW_TIME を空にするか '0' を設定します。 「インテル® グラフィックス・テクノロジー用のオフロードタイマー」を参照してください。 |
OpenMP* 環境変数 (OMP_) と拡張 (KMP_) | |
KMP_AFFINITY |
ランタイム・ライブラリーを有効にして、論理処理ユニットにスレッドをバインドします。 デフォルト: scatter, granularity=fine 注一部の環境変数はインテル製マイクロプロセッサーおよび互換マイクロプロセッサーで利用可能ですが、インテル製マイクロプロセッサーにおいてより多くの最適化が行われる場合があります。 |
KMP_ALL_THREADS |
OpenMP* プログラムで同時に実行されるスレッド数を制限します。制限に達し、オペレーティング・システムの別のネイティブスレッドが OpenMP* API 呼び出しや構造に達すると、プログラムはエラーメッセージを表示してアボートすることがあります。OpenMP* 並列領域の開始時点でこの制限に達した場合は、チーム内のスレッド数が減少したことを示す警告メッセージが 1 度だけ生成されますが、プログラムの実行は続けられます。 この環境変数は、[Q]openmp オプションでコンパイルされたプログラムでのみ使用されます。 デフォルト: 制限なし |
KMP_BLOCKTIME |
並列領域の実行が終了した後、スレッドがスリープ状態になるまでスレッドが待機する時間 (ミリ秒単位) を設定します。 s (秒)、m (分)、h (時間)、d (日) などのサフィックスを使用して単位を指定します。 デフォルト: 200 ミリ秒 |
KMP_CPUINFO_FILE |
マシントポロジーの記述を含むファイルの代替名を指定します。このファイルは、/proc/cpuinfo と同じ形式でなければなりません。 注一部の環境変数はインテル製マイクロプロセッサーおよび互換マイクロプロセッサーで利用可能ですが、インテル製マイクロプロセッサーにおいてより多くの最適化が行われる場合があります。 デフォルト: なし |
KMP_DETERMINISTIC_REDUCTION |
OpenMP* 並列領域で reduction 節を実装するため、リダクション操作において特定の処理順序の使用を有効 (1) または無効 (0) にします。これにより、指定されたスレッド数、指定された並列領域、指定されたデータセットとリダクション操作に対して、OpenMP* の reduction 節で実行される浮動小数点リダクション操作の丸め誤差は常に同じとなり、一貫性のある浮動小数点結果が得られます。 デフォルト: 0 |
KMP_INHERIT_FP_CONTROL |
各並列領域の開始時点で、マスタースレッドの浮動小数点の制御設定を OpenMP* ワーカースレッドへコピーすることを有効 (1) または無効 (0) にします。 デフォルト: 1 |
KMP_LIBRARY |
OpenMP* ランタイム・ライブラリーの実行モードを選択します。この変数の値は、serial、turnaround、または throughput です。 デフォルト: throughput |
KMP_MONITOR_STACKSIZE |
スレッドの監視に割り当てるバイト数を設定します。これは、プログラムの実行中の記帳に使用されます。 b (バイト)、k (キロバイト)、m (メガバイト)、g (ギガバイト)、t (テラバイト) などオプションのサフィックスを使用して単位を指定します。 デフォルト: max (32k、システムの最小スレッド・スタック・サイズ) |
KMP_SETTINGS |
プログラム実行中の OpenMP* ランタイム・ライブラリー環境変数の出力を有効 (1) または無効 (0) にします。ユーザー定義の環境変数設定と OpenMP* ランタイム・ライブラリーにより使用される効率的な変数の値の 2 つの変数リストが出力されます。 デフォルト: 0 |
KMP_STACKSIZE |
プライベート・スタックとして使用する各 OpenMP* スレッドに割り当てるバイト数を設定します。推奨するサイズは 16m です。b (バイト)、k (キロバイト)、m (メガバイト)、g (ギガバイト)、t (テラバイト) などオプションのサフィックスを使用して割り当てを指定します。 この変数は、ユーザープログラムによって生成されるオペレーティング・システムのネイティブスレッド、OpenMP* プログラムまたは [Q]parallel オプションを使用して作成された並列プログラムのシーケンシャル部分を実行するスレッドには影響ありません。 デフォルト (IA-32 アーキテクチャー): 2M デフォルト (インテル® 64 アーキテクチャー): 4M デフォルト (インテル® MIC アーキテクチャー): 4M (サポートされているすべての OS) |
KMP_VERSION |
プログラム実行中の OpenMP* ランタイム・ライブラリーのバージョン情報の出力を有効 (1) または無効 (0) にします。 デフォルト: 無効 |
KMP_DYNAMIC_MODE |
OMP_DYNAMIC=true の場合に、並列領域に使用されるスレッド数を決定するメソッドを選択します。 設定可能な値は次のとおりです (asat | load_balance | thread_limit)。
デフォルト (IA-32 アーキテクチャー): load_balance (サポートされているすべての OS) デフォルト (インテル® 64 アーキテクチャー): load_balance (サポートされているすべての OS) デフォルト (インテル® MIC アーキテクチャー): thread_limit サポートされているすべての OS) |
OMP_CANCELLATION |
CANCEL 構文は、指定した種類の最内領域の取り消し要求を行います。TRUE の場合、CANCEL 構文と取り消しポイントが有効になり、取り消しが要求されます。FALSE の場合、取り消しは無効となり、CANCEL 構文と取り消しポイントは無視されます。 注内部バリアコードは、取り消しが行われたかどうかによって動作が異なります。そのため、グローバルフラグを繰り返しチェックし、取り消しが行われたかどうかを確認すべきです。取り消しが行われた場合、スレッドはバリアを実行せずに値 1 を返します (ほかのスレッドをウェイクアップする可能性があります)。 そうでない場合、スレッドは通常通りバリアを実行し、値 0 を返します。 OMP_CANCELLATION スレッド数の動的調整を有効 (1) または無効 (0) にします。 デフォルト: 0 構文の例: set OMP_CANCELLATION=1 |
OMP_DYNAMIC |
スレッド数の動的調整を有効 (1) または無効 (0) にします。 デフォルト: 0 構文の例: export OMP_DYNAMIC=value |
OMP_MAX_ACTIVE_LEVELS |
OpenMP* プログラムで同時に実行されるスレッド数を制限します。 この制限に達し、オペレーティング・システムの別のネイティブスレッドが OpenMP* API コールや構造を検出すると、プログラムはエラーメッセージを表示してアボートします。OpenMP* 並列領域の開始時点でこの制限に達した場合は、チーム内のスレッド数が減少したことを示す警告メッセージが 1 度だけ生成されますが、プログラムの実行は続けられます。 この環境変数は、[Q]openmp または [Q]parallel オプションでコンパイルされたプログラムでのみ使用されます。 omp_get_thread_limit() ルーチンは制限値を返します。 デフォルト: 制限なし 関連環境変数: KMP_ALL_THREADS。OMP_THREAD_LIMIT は KMP_ALL_THREADS よりも優先されます。 構文の例: export OMP_MAX_ACTIVE_LEVELS=value |
OMP_PLACES |
一連の位置を示す抽象名または負でない数値で示されるプレースリストによって指定された、明示的に順序付けされたプレースリストです。除外演算子 “!” を使用して、演算子の直後の番号または位置を除外することもできます。 明示的なリストの場合、番号の意味と負でない数値のリストの番号付けは実装定義に依存します。 一般に、番号は実行環境における最小実行単位 (通常はハードウェア・スレッド) を表します。 次のような番号のリストを表すには、<lower-bound> : <length> : <stride> 形式で範囲を指定することができます。 “<lower-bound>, <lower-bound> + <stride>, ..., <lower-bound> +(<length>-1)*<stride>.”<stride> を省略すると、ユニットストライドが仮定されます。 範囲には、1 つの場所の番号を指定することも、一連の場所の番号を指定することもできます。 # EXPLICIT LIST EXAMPLE setenv OMP_PLACES "{0,1,2,3},{4,5,6,7},{8,9,10,11},{12,13,14,15}" setenv OMP_PLACES "{0:4},{4:4},{8:4},{12:4}" setenv OMP_PLACES "{0:4}:4:4" 以下の抽象名は、実行環境とランタイム環境で認識されます。
システムで利用可能なプレースよりも少ないプレースを要求する場合や、システムで利用可能なリソースよりも多くのリソースを要求する場合、プレースリストに含まれる abstract_name タイプのリソースは実装定義に依存します。 抽象名の厳密な定義も実装定義に依存します。実装で、ターゲット・プラットフォーム向けに適切な抽象名を追加することもできます。次のように、抽象名に括弧で囲んだ正の整数を追加して場所のリストの長さを表すことができます: abstract_name(num-places)。 # ABSTRACT NAMES EXAMPLE setenv OMP_PLACES threads setenv OMP_PLACES threads(4) 注OMP_PLACES 環境変数: 数値をターゲット・プラットフォーム上のプロセッサーにマップできない場合の動作は実装定義に依存します。抽象名を使用して OMP_PLACES 環境変数を定義した場合の動作も実装定義に依存します。 |
OMP_NESTED |
入れ子構造の並列化を有効 (1) または無効 (0) にします。 デフォルト: 0 構文の例: export OMP_NESTED=value |
OMP_NUM_THREADS |
アプリケーションでほかの値が指定されていない場合は、OpenMP* 並列領域で使用する最大スレッド数を設定します。 この環境変数は、[Q]openmp および [Q]parallel オプションの両方に適用されます。 デフォルト: オペレーティング・システムで認識されるプロセッサー数 構文の例: export OMP_NUM_THREADS=value |
OMP_PROC_BIND |
対応する入れ子構造のレベルの並列領域に使用するスレッド・アフィニティー・ポリシーを設定します。設定可能な値は、true、false、またはカンマ区切りのリスト (各要素の値は master、close、spread のいずれか) です。 false に設定すると、実行環境は OpenMP* スレッドを OpenMP* 間で移動し、スレッド・アフィニティーは無効になり、並列構造の proc_bind は無視されます。 false 以外に設定すると、実行環境は OpenMP* スレッドを OpenMP* 間で移動せず、スレッド・アフィニティーは有効になり、初期スレッドは OpenMP* リストの最初の位置にバインドされます。 master に設定すると、すべてのスレッドはマスタースレッドと同じ場所にバインドされます。 close に設定すると、スレッドは (マスタースレッドがバインドされる場所に近い) 連続した場所にバインドされます。 spread に設定すると、マスタースレッドのパーティションが分割され、スレッドは連続したサブパーティションにバインドされます。 有効にすると、KMP_AFFINITY=scatter を指定するのと同じです。 無効にすると、KMP_AFFINITY=none を指定するのと同じです。 OMP_PROC_BIND と KMP_AFFINITY の両方が指定された場合は、KMP_AFFINITY の設定が優先されます。 また、GOMP_CPU_AFFINITY は OMP_PROC_BIND よりも優先されます。 デフォルト: false 注この環境変数は、OS X* オペレーティング・システムではサポートされていません。 |
OMP_SCHEDULE |
ランタイム・スケジュールの型とチャンクサイズ (オプション) を設定します。 デフォルト: STATIC、チャンクサイズの指定なし 構文の例: export OMP_SCHEDULE="kind[,chunk_size]" 注一部の環境変数はインテル製マイクロプロセッサーおよび互換マイクロプロセッサーで利用可能ですが、インテル製マイクロプロセッサーにおいてより多くの最適化が行われる場合があります。 |
OMP_STACKSIZE |
スレッドのプライベート・スタックとして使用する各 OpenMP* スレッドに割り当てるバイト数を設定します。推奨するサイズは 16M です。 B (バイト)、K (キロバイト)、M (メガバイト)、G (ギガバイト)、T (テラバイト) などオプションのサフィックスを使用して単位を指定します。 値がサフィックスなしで指定された場合、サイズは K (キロバイト) であると見なされます。 この変数は、ユーザープログラムによって生成されるオペレーティング・システムのネイティブスレッド、OpenMP* プログラムまたは [Q]parallel オプションを使用して作成された並列プログラムのシーケンシャル部分を実行するスレッドには影響ありません。 kmp_{set,get}_stacksize_s() ルーチンは値を設定/取得します。kmp_set_stacksize_s() ルーチンは、最初の並列領域が作成される前にシーケンシャル部分から呼び出される必要があります。 この呼び出しが行われない場合、kmp_set_stacksize_s() を呼び出しても効果がありません。 デフォルト (IA-32 アーキテクチャー): 2M デフォルト (インテル® MIC アーキテクチャー): 4M (サポートされているすべての OS) デフォルト (インテル® 64 アーキテクチャー): 4M 関連環境変数: KMP_STACKSIZE (OMP_STACKSIZE よりも優先されます) 構文の例: export OMP_STACKSIZE=value |
OMP_THREAD_LIMIT |
OpenMP* プログラムで同時に実行されるスレッド数を制限します。 この制限に達し、オペレーティング・システムの別のネイティブスレッドが OpenMP* API コールや構造を検出すると、プログラムはエラーメッセージを表示してアボートします。OpenMP* 並列領域の開始時点でこの制限に達した場合は、チーム内のスレッド数が減少したことを示す警告メッセージが 1 度だけ生成されますが、プログラムの実行は続けられます。 この環境変数は、[Q]openmp または [Q]parallel オプションでコンパイルされたプログラムでのみ使用されます。 omp_get_thread_limit() ルーチンは制限値を返します。 デフォルト: 制限なし 関連環境変数: KMP_ALL_THREADS (OMP_THREAD_LIMIT よりも優先されます) 構文の例: export OMP_THREAD_LIMIT=value |
OMP_WAIT_POLICY |
待機中にスレッドをスピンするか (active)、スリープするか (passive) を決定します。 デフォルト: Passive 構文の例: export OMP_WAIT_POLICY=value |
GNU* 環境変数と拡張 |
|
CPATH |
C/C++ コンパイル用のインクルード・ディレクトリーのパスを指定します。 |
C_INCLUDE_PATH |
C コンパイル用のインクルード・ディレクトリーのパスを指定します。 |
CPLUS_INCLUDE_PATH |
C++ コンパイル用のインクルード・ディレクトリーのパスを指定します。 |
DEPENDENCIES_OUTPUT |
コンパイラーで処理されるシステム以外のヘッダーファイルに基づいて make の依存性を出力する方法を指定します。システム・ヘッダー・ファイルは依存性出力で無視されます。 |
GCC_EXEC_PREFIX |
リンカー (ld) とアセンブラー (as) の代替名を指定します。 |
GOMP_CPU_AFFINITY |
OS のプロセッサー ID のリストを指定します。 デフォルト: アフィニティーは無効 |
GOMP_STACKSIZE |
この環境変数はインテル® コンパイラーの OpenMP* 互換ライブラリーで認識される GNU* 拡張です。 OMP_STACKSIZE は GOMP_STACKSIZE よりも優先されます。 KMP_STACKSIZE は OMP_STACKSIZE と GOMP_STACKSIZE よりも優先されます。 |
LIBRARY_PATH |
PATH のようにコロンで区切られたディレクトリーのリストです。 |
SUNPRO_DEPENDENCIES |
この変数は、システム・ヘッダー・ファイルが無視されないことを除いて、DEPENDENCIES_OUTPUT と同じです。 |
PGO の環境変数 | |
INTEL_PROF_DUMP_CUMULATIVE |
インストルメント済みユーザー・アプリケーションの実行中に、インターバル・プロファイル・ダンプ (INTEL_PROF_DUMP_INTERVAL 関数または _PGOPTI_Set_Interval_Prof_Dump 関数により開始) を使用する際、プロファイル情報を含む複数の .dyn ファイルを作成する代わりに、1 つの .dyn ファイルを作成することができます。 設定されていない場合は、インストルメント済みユーザー・アプリケーションを実行すると、それぞれのインターバルに対して新しい .dyn ファイルが作成されます。 この環境変数は、終了しないアプリケーションや、異常終了するアプリケーション (通常の終了コードを省略) に対して設定すると便利です。 |
INTEL_PROF_DUMP_INTERVAL |
インストルメント済みのユーザー・アプリケーション内で、インターバル・プロファイルのダンプを開始します。この環境変数は、インストルメント済みのユーザー・アプリケーションでインターバル・プロファイル・ダンプに使用されることがあります。 詳細は、「インターバル・プロファイル・ダンプ」を参照してください。 |
INTEL_PROF_DYN_PREFIX |
別の PGO 実行によってダンプされた .dyn ファイルと区別するため、.dyn ファイル名に追加するプリフィクスを指定します。 インストルメント済みアプリケーションを実行すると、<prefix>_<timestamp>_<pid>.dyn という名前の .dyn ファイルが生成されます。<prefix> は指定した識別子です。 注この環境変数で指定する値では、次の文字を使用できません: < > : " / \ | ? *。無効なプリフィクスを指定すると、デフォルトの命名規則が使用されます。 |
PROF_DIR |
動的情報ファイルの作成先ディレクトリーを指定する変数です。この変数は、プロファイル処理の 3 つのフェーズすべてに適用されます。 |
PROF_DUMP_INTERVAL |
これは古いオプションです。INTEL_PROF_DUMP_INTERVAL を使用してください。 |
PROF_NO_CLOBBER |
フィードバック・コンパイル・フェーズでの処理を少し変更する変数です。デフォルトでは、フィードバック・コンパイル・フェーズでは、すべての動的情報ファイルから得たデータがマージされます。そして .dyn ファイルが既存の pgopti.dpi ファイルよりも新しい場合は、pgopti.dpi ファイルを上書きします。 この変数を設定すると、コンパイラーは既存の pgopti.dpi ファイルを上書きせずに、 警告を発行します。新しい動的情報ファイルを使用するには、既存の pgopti.dpi ファイルを削除する必要があります。 |
インテル® C++ コンパイラーは Windows* で以下の環境変数をサポートしています。
環境変数 |
説明 |
---|---|
CILK_NWORKERS |
インテル® Cilk™ Plus プログラムで使用するワーカースレッドの数を指定します。 |
CL _CL_ |
Microsoft* コンパイラーのファイルの場所を指定します。CL 変数で頻繁に使用するファイルとオプションを定義します。注: CL 環境変数に等号 (=) を含む文字列を設定することはできません。代わりに、シャープ記号 (#) を使用できます。次の例では、割り当てる文字列で等号 (=) の代わりにシャープ記号 (#) を使用しています: SET CL=/Dtest#100 |
COV_DIR |
PROF_DIR と同じです。 |
COV_DPI |
PROF_DPI と同じです。 |
ICLCFG |
デフォルトの設定ファイルの代わりに、コンパイラーが使用する設定ファイルを指定します。 |
INCLUDE |
ソース・ヘッダー・ファイル (インクルード・ファイル) のディレクトリーを指定します。 |
INTEL_CHKP_REPORT_MODE |
ランタイムにポインターチェッカーのレポートモードを変更します。 |
INTEL_LICENSE_FILE |
インテルのライセンスファイルの場所を指定します。 |
LIB |
コンパイラーとリンカーが使用するすべてのライブラリーのディレクトリーを指定します。 |
PATH |
システムがバイナリー実行ファイルを検索するディレクトリーを指定します。 |
__INTEL_PRE_CFLAGS __INTEL_POST_CFLAGS |
インテル® C++ コンパイラーのコマンドライン・オプションをコマンドラインの最後に追加します。 これは、コンパイラー設定ファイル icl.cfg ですでに提供されている機能の拡張です。 コマンドライン・オプションは、__INTEL_PRE_CFLAGS 環境変数を使用して先頭に、または __INTEL_POST_CFLAGS 環境変数を使用して最後に挿入することができます。 コマンドラインは次のようにビルドされます。 構文: icl <PRE flags> <flags from configuration file> <flags from the compiler invocation> <POST flags> 注/W5 オプション (Windows*) が指定されている場合、コンパイラー・ドライバーは環境変数によりオプションが変更されていることを (リマークで) 警告します。 |
PROF_DIR |
プロファイル・ファイル (拡張子が .dyn、.dpi、.spi などのファイル) を保存するディレクトリーを指定します。 デフォルトでは、.dyn ファイルは、[Q]prof-gen オプションでコンパイルされたバイナリーにある最初に実行されたインストルメント済みルーチンを含むファイルのソース・ディレクトリーに保存されます。 |
PROF_DPI |
.dpi ファイルの名前です。 デフォルト: pgopti.dpi |
TMP TMPDIR TEMP |
いくつかの環境変数が一時ファイルの場所を指定するためにサポートされています。コンパイラーは、TMP、TMPDIR、TEMP の順に変数を検索します。 これらの変数が見つからない場合、一時ファイルは現在のディレクトリーに格納されます。 |
インテル® グラフィックス・テクノロジーの環境変数 (GFX_) | |
GFX_CPU_BACKUP |
ターゲットが利用できない場合、ホスト上でヘテロジニアス・コードを実行するかどうかを制御します。 offload プラグマの if 節が false と評価されると、ターゲットの状態に関係なく、コードはホスト上で実行されます。 offload プラグマの if 節が指定されないか true と評価され、オフロードをサポートしているターゲットおよびインテル® グラフィックス・テクノロジー・ドライバーが利用可能で正しく初期化されている場合、コードはターゲット上で実行されます。 それ以外の場合、ホストのバックアップ実行は GFX_CPU_BACKUP の値に依存します。 ホストで実行させないようにするには、GFX_CPU_BACKUP を '0' に設定します。これは、ターゲットが利用できないと、アプリケーションは実行に失敗します。 ターゲットが利用できないときにホストで実行するには、GFX_CPU_BACKUP を '1' に設定します。 デフォルトではこの変数は 1 に設定されるため、コードはホスト上で実行されます。 デフォルト: 1 |
GFX_MAX_THREAD_COUNT |
#pragma loop_nest でアノテーションが付けられたループの入れ子構造を並列化するターゲットスレッドの最大数を制御します。ヘテロジニアス・アプリケーションが開始される前に設定します。 例えば、set GFX_MAX_THREAD_COUNT=32 と設定してデフォルトの最大数を変更します。 多くの (例えば 512) スレッドをスケジュールすると一部の操作のレイテンシーを隠蔽できますが、スレッド数が多くなると、オフロードのコストが増加しパフォーマンスに影響を及ぼします。デフォルトでは、ランタイムが最大スレッド数を自動的に決定します。 特定のオフロード実行における実際のスレッド数は、実際の反復空間に応じてオフロードランタイムによって決定され、最大値よりも小さくなる可能性があります。詳細は、「インテル® グラフィックス・テクノロジー固有の並列性を使いこなす」を参照してください。 デフォルト: -1 例: GFX_MAX_THREAD_COUNT=32 |
GFX_OFFLOAD_TIMEOUT |
デフォルトでは、システム回復タイムアウト時間 (通常は 2 秒) より長くオフロードタスクを実行することはできません。タスクは別のタイムアウト (この変数で定義) 後にハングまたは異常終了します。オフロードタスクをより長く実行できるようにするには、(Microsoft* のドキュメントを参照して) システム・レジストリーを編集し、タイムアウトによる回復を無効にします。32 秒では短い場合は、GFX_OFFLOAD_TIMEOUT により長い値を設定します。 デフォルト: 32 秒 |
GFX_LOG_OFFLOAD |
任意のログレベル (1 から 3、3 が最も詳細) を設定して、オフロードプロセスの記録を有効または無効にします。 set GFX_LOG_OFFLOAD=2 を使用 (2 に設定) すると、実際のスレッド数と並列ループの入れ子構造の反復空間の分配をモニターできます。 記録を無効にするには、GFX_LOG_OFFLOAD に空の文字列または '0' を設定します。 注記録を有効にするとオフロードのオーバーヘッドが大幅に増えるため、デバッグにのみ使用することを推奨します。 |
GFX_SHOW_TIME |
実行の最後のタイミング情報の出力を有効または無効にします。 タイマー出力を無効にするには、GFX_SHOW_TIME を空にするか '0' を設定します。 「インテル® グラフィックス・テクノロジー用のオフロードタイマー」を参照してください。 |
OpenMP* 環境変数 (OMP_) と拡張 (KMP_) | |
KMP_AFFINITY |
ランタイム・ライブラリーを有効にして、論理処理ユニットにスレッドをバインドします。 デフォルト: noverbose 注一部の環境変数はインテル製マイクロプロセッサーおよび互換マイクロプロセッサーで利用可能ですが、インテル製マイクロプロセッサーにおいてより多くの最適化が行われる場合があります。 |
KMP_ALL_THREADS |
OpenMP* プログラムで同時に実行されるスレッド数を制限します。制限に達し、オペレーティング・システムの別のネイティブスレッドが OpenMP* API 呼び出しや構造に達すると、プログラムはエラーメッセージを表示してアボートすることがあります。OpenMP* 並列領域の開始時点でこの制限に達した場合は、チーム内のスレッド数が減少したことを示す警告メッセージが 1 度だけ生成されますが、プログラムの実行は続けられます。 この環境変数は、[Q]openmp オプションでコンパイルされたプログラムでのみ使用されます。 デフォルト: 制限なし |
KMP_BLOCKTIME |
並列領域の実行が終了した後、スレッドがスリープ状態になるまでスレッドが待機する時間 (ミリ秒単位) を設定します。 s (秒)、m (分)、h (時間)、d (日) などのサフィックスを使用して単位を指定します。 待機時間に制限を設けない場合は infinite を指定します。 デフォルト: 200 ミリ秒 KMP_LIBRARY 環境変数も参照してください。 |
KMP_CPUINFO_FILE |
マシントポロジーの記述を含むファイルの代替名を指定します。このファイルは、/proc/cpuinfo と同じ形式でなければなりません。 デフォルト: なし 注一部の環境変数はインテル製マイクロプロセッサーおよび互換マイクロプロセッサーで利用可能ですが、インテル製マイクロプロセッサーにおいてより多くの最適化が行われる場合があります。 |
KMP_DETERMINISTIC_REDUCTION |
OpenMP* 並列領域で reduction 節を実装するため、リダクション操作において特定の処理順序の使用を有効 (1) または無効 (0) にします。これにより、指定されたスレッド数、指定された並列領域、指定されたデータセットとリダクション操作に対して、OpenMP* の reduction 節で実行される浮動小数点リダクション操作の丸め誤差は常に同じとなり、一貫性のある浮動小数点結果が得られます。 デフォルト: 0 |
KMP_INHERIT_FP_CONTROL |
各並列領域の開始時点で、マスタースレッドの浮動小数点の制御設定を OpenMP* ワーカースレッドへコピーすることを有効 (1) または無効 (0) にします。 デフォルト: 1 |
KMP_LIBRARY |
OpenMP* ランタイム・ライブラリーの実行モードを選択します。この変数の値は、serial、turnaround、または throughput です。 デフォルト: throughput |
KMP_MONITOR_STACKSIZE |
スレッドの監視に割り当てるバイト数を設定します。これは、プログラムの実行中の記帳に使用されます。 b (バイト)、k (キロバイト)、m (メガバイト)、g (ギガバイト)、t (テラバイト) などオプションのサフィックスを使用して単位を指定します。 デフォルト: max (32k、システムの最小スレッド・スタック・サイズ) |
KMP_PLACE_THREADS |
この環境変数は、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーにのみ適用されます。 明示的にアフィニティー設定やプロセス・アフィニティー・マスクを記述する代わりに、OpenMP* アプリケーションで使用するコア数を指定します。オプションで、オフセット値とコアあたりのスレッド数を指定することもできます。 value = ( int [ "C" | "T" ] [ delim ] | delim ) [ int [ "T" ] [ delim ] ] [ int [ "O" ] ]; delim = "," | "x"; "C" はコア、"T" はスレッド、"O" はオフセットを示します。 注コアまたはスレッドのいずれかを指定します。 デフォルト: 省略された場合、デフォルト値は利用可能なコア数 (スレッド数) です。
|
KMP_SETTINGS |
プログラム実行中の OpenMP* ランタイム・ライブラリー環境変数の出力を有効 (1) または無効 (0) にします。ユーザー定義の環境変数設定と OpenMP* ランタイム・ライブラリーにより使用される効率的な変数の値の 2 つの変数リストが出力されます。 デフォルト: 0 |
KMP_STACKSIZE |
プライベート・スタックとして使用する各スレッドに割り当てるバイト数を設定します。b (バイト)、k (キロバイト)、m (メガバイト)、g (ギガバイト)、t (テラバイト) などオプションのサフィックスを使用して単位を指定します。 この変数は、ユーザープログラムによって生成されるオペレーティング・システムのネイティブスレッド、OpenMP* プログラムまたは [Q]parallel オプションを使用して作成された並列プログラムのシーケンシャル部分を実行するスレッドには影響ありません。 デフォルト (IA-32 アーキテクチャー): 2M デフォルト (インテル® 64 アーキテクチャー): 4M デフォルト (インテル® MIC アーキテクチャー): 4M (サポートされているすべての OS) |
KMP_VERSION |
プログラム実行中の OpenMP* ランタイム・ライブラリーのバージョン情報の出力を有効 (1) または無効 (0) にします。 デフォルト: 無効 |
KMP_DYNAMIC_MODE |
OMP_DYNAMIC=true の場合に、並列領域に使用されるスレッド数を決定するメソッドを選択します。 設定可能な値は次のとおりです (asat | load_balance | thread_limit)。
デフォルト (IA-32 アーキテクチャー): load_balance (サポートされているすべての OS) デフォルト (インテル® 64 アーキテクチャー): load_balance (サポートされているすべての OS) デフォルト (インテル® MIC アーキテクチャー): thread_limit (サポートされているすべての OS) |
OMP_CANCELLATION |
CANCEL 構文は、指定した種類の最内領域の取り消し要求を行います。TRUE の場合、CANCEL 構文と取り消しポイントが有効になり、取り消しが要求されます。FALSE の場合、取り消しは無効となり、CANCEL 構文と取り消しポイントは無視されます。 注内部バリアコードは、取り消しが行われたかどうかによって動作が異なります。そのため、グローバルフラグを繰り返しチェックし、取り消しが行われたかどうかを確認すべきです。取り消しが行われた場合、スレッドはバリアを実行せずに値 1 を返します (ほかのスレッドをウェイクアップする可能性があります)。 そうでない場合、スレッドは通常通りバリアを実行し、値 0 を返します。 OMP_CANCELLATION 指定した種類の最内領域の取り消し要求を有効 (1) または (0) 無効にします。 デフォルト: 0 構文の例: set OMP_CANCELLATION=1 |
OMP_DYNAMIC |
スレッド数の動的調整を有効 (1) または無効 (0) にします。 デフォルト: 0 構文の例: set OMP_DYNAMIC=value |
OMP_MAX_ACTIVE_LEVELS |
OpenMP* プログラムで同時に実行されるスレッド数を制限します。 この制限に達し、オペレーティング・システムの別のネイティブスレッドが OpenMP* API コールや構造を検出すると、プログラムはエラーメッセージを表示してアボートします。OpenMP* 並列領域の開始時点でこの制限に達した場合は、チーム内のスレッド数が減少したことを示す警告メッセージが 1 度だけ生成されますが、プログラムの実行は続けられます。 この環境変数は、[Q]openmp または [Q]parallel オプションでコンパイルされたプログラムでのみ使用されます。 デフォルト: 制限なし omp_get_thread_limit() ルーチンは制限値を返します。 関連環境変数: KMP_ALL_THREADS (OMP_THREAD_LIMIT は KMP_ALL_THREADS よりも優先されます) 構文の例: set OMP_MAX_ACTIVE_LEVELS=value |
OMP_NESTED |
入れ子構造の並列化を有効 (1) または無効 (0) にします。 デフォルト: 0 構文の例: set OMP_NESTED=value |
OMP_NUM_THREADS |
アプリケーションでほかの値が指定されていない場合は、OpenMP* 並列領域で使用する最大スレッド数を設定します。 この環境変数は、[Q]openmp および [Q]parallel オプションの両方に適用されます。 デフォルト: プログラムを実行するオペレーティング・システムで現在認識されているプロセッサー数 構文の例: set OMP_NUM_THREADS=value |
OMP_PLACES |
一連の位置を示す抽象名または負でない数値で示されるプレースリストによって指定された、明示的に順序付けされたプレースリストです。除外演算子 “!” を使用して、演算子の直後の番号または位置を除外することもできます。 明示的なリストの場合、番号の意味と負でない数値のリストの番号付けは実装定義に依存します。 一般に、番号は実行環境における最小実行単位 (通常はハードウェア・スレッド) を表します。 次のような番号のリストを表すには、<lower-bound> : <length> : <stride> 形式で範囲を指定することができます。 “<lower-bound>, <lower-bound> + <stride>, ..., <lower-bound> +(<length>-1)*<stride>.” <stride> を省略すると、ユニットストライドが仮定されます。 範囲には、1 つの場所の番号を指定することも、一連の場所の番号を指定することもできます。 # EXPLICIT LIST EXAMPLE setenv OMP_PLACES "{0,1,2,3},{4,5,6,7},{8,9,10,11},{12,13,14,15}" setenv OMP_PLACES "{0:4},{4:4},{8:4},{12:4}" setenv OMP_PLACES "{0:4}:4:4" 以下の抽象名は、実行環境とランタイム環境で認識されます。
システムで利用可能なプレースよりも少ないプレースを要求する場合や、システムで利用可能なリソースよりも多くのリソースを要求する場合、プレースリストに含まれる abstract_name タイプのリソースは実装定義に依存します。 抽象名の厳密な定義も実装定義に依存します。実装で、ターゲット・プラットフォーム向けに適切な抽象名を追加することもできます。次のように、抽象名に括弧で囲んだ正の整数を追加して場所のリストの長さを表すことができます: abstract_name(num-places)。 # ABSTRACT NAMES EXAMPLE setenv OMP_PLACES threads setenv OMP_PLACES threads(4) 注OMP_PLACES 環境変数: 数値をターゲット・プラットフォーム上のプロセッサーにマップできない場合の動作は実装定義に依存します。抽象名を使用して OMP_PLACES 環境変数を定義した場合の動作も実装定義に依存します。 |
OMP_PROC_BIND |
対応する入れ子構造のレベルの並列領域に使用するスレッド・アフィニティー・ポリシーを設定します。プロセッサー・コンテキストへのスレッドのバインドを有効 (true) または無効 (false) にします。有効にすると、KMP_AFFINITY=scatter を指定するのと同じです。 無効にすると、KMP_AFFINITY=none を指定するのと同じです。 設定可能な値は、true、false、またはカンマ区切りのリスト (各要素の値は master、close、spread のいずれか) です。 デフォルト: false false に設定すると、実行環境は OpenMP* スレッドを OpenMP* 間で移動し、スレッド・アフィニティーは無効になり、並列構造の proc_bind は無視されます。false 以外に設定すると、実行環境は OpenMP* スレッドを OpenMP* 間で移動せず、スレッド・アフィニティーは有効になり、初期スレッドは OpenMP* リストの最初の位置にバインドされます。 master に設定すると、すべてのスレッドはマスタースレッドと同じ場所にバインドされます。close に設定すると、スレッドは (マスタースレッドがバインドされる場所に近い) 連続した場所にバインドされます。spread に設定すると、マスタースレッドのパーティションが分割され、スレッドは 1 つの場所の連続したサブパーティションにバインドされます。 注KMP_AFFINITY は GOMP_CPU_AFFINITY と OMP_PROC_BIND よりも優先されます。 GOMP_CPU_AFFINITY は OMP_PROC_BIND よりも優先されます。 |
OMP_SCHEDULE |
ランタイム・スケジュールの型とチャンクサイズ (オプション) を設定します。 デフォルト: STATIC、チャンクサイズの指定なし 構文の例: set OMP_SCHEDULE="kind[,chunk_size]" 注一部の環境変数はインテル製マイクロプロセッサーおよび互換マイクロプロセッサーで利用可能ですが、インテル製マイクロプロセッサーにおいてより多くの最適化が行われる場合があります。 |
OMP_STACKSIZE |
スレッドのプライベート・スタックとして使用する各 OpenMP* スレッドに割り当てるバイト数を設定します。推奨するサイズは 16M です。B (バイト)、K (キロバイト)、M (メガバイト)、G (ギガバイト)、T (テラバイト) などオプションのサフィックスを使用して単位を指定します。 値がサフィックスなしで指定された場合、サイズは K (キロバイト) であると見なされます。 この変数は、ユーザープログラムによって生成されるオペレーティング・システムのネイティブスレッド、OpenMP* プログラムまたは [Q]parallel オプションを使用して作成された並列プログラムのシーケンシャル部分を実行するスレッドには影響ありません。 kmp_{set,get}_stacksize_s() ルーチンは値を設定/取得します。kmp_set_stacksize_s() ルーチンは、最初の並列領域が作成される前にシーケンシャル部分から呼び出される必要があります。 この呼び出しが行われない場合、kmp_set_stacksize_s() を呼び出しても効果がありません。 デフォルト (IA-32 アーキテクチャー): 2M デフォルト (インテル® 64 アーキテクチャー): 4M デフォルト (インテル® MIC アーキテクチャー): 4M (サポートされているすべての OS) 関連環境変数: KMP_STACKSIZE (OMP_STACKSIZE よりも優先されます) 構文の例: set OMP_STACKSIZE=value |
OMP_THREAD_LIMIT |
OpenMP* プログラムで同時に実行されるスレッド数を制限します。 この制限に達し、オペレーティング・システムの別のネイティブスレッドが OpenMP* API コールや構造を検出すると、プログラムはエラーメッセージを表示してアボートします。OpenMP* 並列領域の開始時点でこの制限に達した場合は、チーム内のスレッド数が減少したことを示す警告メッセージが 1 度だけ生成されますが、プログラムの実行は続けられます。 この環境変数は、[Q]openmp または [Q]parallel オプションでコンパイルされたプログラムでのみ使用されます。 デフォルト: 制限なし omp_get_thread_limit() ルーチンは制限値を返します。 関連環境変数: KMP_ALL_THREADS (OMP_THREAD_LIMIT よりも優先されます) 構文の例: set OMP_THREAD_LIMIT=value |
OMP_WAIT_POLICY |
待機中にスレッドをスピンするか (active)、スリープするか (passive) を決定します。 デフォルト: Passive 構文の例: set OMP_WAIT_POLICY=value |
PGO の環境変数 |
|
INTEL_PROF_DUMP_CUMULATIVE |
インストルメント済みユーザー・アプリケーションの実行中に、インターバル・プロファイル・ダンプ (INTEL_PROF_DUMP_INTERVAL 関数または _PGOPTI_Set_Interval_Prof_Dump 関数により開始) を使用する際、プロファイル情報を含む複数の .dyn ファイルを作成する代わりに、1 つの .dyn ファイルを作成することができます。 設定されていない場合は、インストルメント済みユーザー・アプリケーションを実行すると、それぞれのインターバルに対して新しい .dyn ファイルが作成されます。 この環境変数は、終了しないアプリケーションや、異常終了するアプリケーション (通常の終了コードを省略) に対して設定すると便利です。 |
INTEL_PROF_DUMP_INTERVAL |
インストルメント済みのユーザー・アプリケーション内で、インターバル・プロファイルのダンプを開始します。この環境変数は、インストルメント済みのユーザー・アプリケーションでインターバル・プロファイル・ダンプに使用されることがあります。 詳細は、「インターバル・プロファイル・ダンプ」を参照してください。 |
PROF_DIR |
動的情報ファイルの作成先ディレクトリーを指定する変数です。この変数は、プロファイル処理の 3 つのフェーズすべてに適用されます。 |
PROF_DUMP_INTERVAL |
これは古いオプションです。INTEL_PROF_DUMP_INTERVAL を使用してください。 |
PROF_NO_CLOBBER |
フィードバック・コンパイル・フェーズでの処理を少し変更する変数です。デフォルトでは、フィードバック・コンパイル・フェーズでは、すべての動的情報ファイルから得たデータがマージされます。そして .dyn ファイルが既存の pgopti.dpi ファイルよりも新しい場合は、pgopti.dpi ファイルを上書きします。 この変数を設定すると、コンパイラーは既存の pgopti.dpi ファイルを上書きせずに、 警告を発行します。新しい動的情報ファイルを使用するには、既存の pgopti.dpi ファイルを削除する必要があります。 |