インテル® C++ コンパイラー XE 13.1 ユーザー・リファレンス・ガイド
コンパイラーがライブラリー、インクルード・ファイル、設定ファイル、特定の設定など、特定のファイルを検索する際のパス (検索先) を指定して、システム環境をカスタマイズできます。
インテル® C++ コンパイラーは Linux* と特に明記されていない限り OS X* で以下の環境変数をサポートしています。
環境変数 |
説明 |
---|---|
CILK_NWORKERS (Linux*) |
インテル® Cilk™ Plus プログラムで使用するワーカースレッドの数を指定します。 「ワーカー数の設定」を参照してください。 |
DYLD_LIBRARY_PATH (OS X*) |
共有オブジェクトの場所を指定します。 |
GCCROOT |
gcc バイナリーの場所を指定します。-gcc-name オプションを使用する際に、コンパイラーが gcc バイナリーの場所を特定できない場合にのみ、この変数を設定します。 |
GXX_INCLUDE |
gcc ヘッダーの場所を指定します。-gcc-name=<directory-name>/gcc オプションで指定された必要な値をコンパイラーが見つけられない場合、この変数を設定して、GCC ファイルの場所を指定します。 |
GXX_ROOT |
gcc バイナリーの場所を指定します。-gcc-name=<directory-name>/gcc オプションで指定された必要な値をコンパイラーが見つけられない場合、この変数を設定して、GCC ファイルの場所を指定します。 |
IA32ROOT (IA-32 アーキテクチャーとインテル® 64 アーキテクチャー) |
標準以外のインストール構成の場合に、インクルードおよびライブラリー・ファイルを含むディレクトリーを指します。 |
ICCCFG |
icc を使用してコンパイラーを起動したときにコンパイルをカスタマイズするための設定ファイルを指定します。 |
ICPCCFG |
icpc を使用してコンパイラーを起動したときにコンパイルをカスタマイズするための設定ファイルを指定します。 |
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 |
一時ファイルの場所を指定します。指定しない場合、コンパイラーは一時ファイルを /tmp に格納します。 |
インテル® MIC アーキテクチャーの環境変数 | |
MIC_ENV_PREFIX |
コプロセッサーに渡される環境変数を制御するために使用します。 デフォルトでは、ホストで設定されているすべての環境変数がコプロセッサーに渡されます。MIC_ENV_PREFIX を指定すると、プリフィックスがこの変数の値と等しい環境変数のみ渡されます。 例えば、setenv MIC_ENV_PREFIX=MIC を指定すると、プリフィックスが MIC の環境変数のみ渡されます。 注MIC_LD_LIBRARY_PATH 変数は削除されずにコプロセッサーに渡されるため、MIC_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_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 シェル) に設定する値に対応します。 integerB|K|M|G|T のように設定します。各文字の意味は次のとおりです。
デフォルト: 12M 例: MIC_STACKSIZE=16M |
MIC_USE_2MB_BUFFERS |
(サイズ > MIC_USE_2MB_BUFFERS) の場合、2M ページを使用します。ランタイムの長さがこの環境変数の値を超えるポインターベースの変数は、大きなページに割り当てられます。 integerB|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 へのオフロードは、1 つ目と 2 つ目の物理コプロセッサーで実行されます。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 詳細は、「__Offload_report」を参照してください。 |
OpenMP* 環境変数 (OMP_) と拡張 (KMP_) | |
KMP_AFFINITY |
ランタイム・ライブラリーを有効にして、プロセシング・ユニットにスレッドをバインドします。 デフォルト: なし この環境変数はインテル製マイクロプロセッサーおよび互換マイクロプロセッサーで利用可能ですが、インテル製マイクロプロセッサーにおいてより多くの最適化が行われる場合があります。 |
KMP_ALL_THREADS |
OpenMP* プログラムで同時に実行されるスレッド数を制限します。制限に達し、オペレーティング・システムの別のネイティブスレッドが OpenMP* API 呼び出しや構造に達すると、プログラムはエラーメッセージを表示してアボートすることがあります。OpenMP* 並列領域の開始時点でこの制限に達した場合は、チーム内のスレッド数が減少したことを示す警告メッセージが 1 度だけ生成されますが、プログラムの実行は続けられます。 この環境変数は、-openmp でコンパイルされたプログラムでのみ使用されます。 デフォルト: 制限なし |
KMP_BLOCKTIME |
並列領域の実行が終了した後、スレッドがスリープ状態になるまでスレッドが待機する時間 (ミリ秒単位) を設定します。 s (秒)、m (分)、h (時間)、d (日) などのサフィックスを使用して単位を指定します。 デフォルト: 200 ミリ秒 |
KMP_CPUINFO_FILE |
マシントポロジーの記述を含むファイルの代替名を指定します。このファイルは、/proc/cpuinfo と同じ形式でなければなりません。 この環境変数はインテル製マイクロプロセッサーおよび互換マイクロプロセッサーで利用可能ですが、インテル製マイクロプロセッサーにおいてより多くの最適化が行われる場合があります。 デフォルト: なし |
KMP_DETERMINISTIC_REDUCTIONS |
OpenMP* 並列領域で reduction 節を実装するため、リダクション操作において特定の処理順序の使用を有効 (1) または無効 (0) にします。これにより、指定されたスレッド数、指定された並列領域、指定されたデータセットとリダクション操作に対して、OpenMP* の reduction 節で実行される浮動小数点リダクション操作の丸め誤差は常に同じとなり、一貫性のある浮動小数点結果が得られます。 デフォルト: 0 |
KMP_DYNAMIC_MODE |
OMP_DYNAMIC=true の場合に、並列領域に使用されるスレッド数を決定するメソッドを選択します。 設定可能な値: (asat | load_balance | thread_limit)
IA-32 アーキテクチャーのデフォルト: load_balance (サポートされているすべての OS) インテル® MIC アーキテクチャーのデフォルト: thread_limit (サポートされているすべての OS) |
KMP_INHERIT_FP_CONTROL |
各並列領域の開始時点で、マスタースレッドの浮動小数点の制御設定を OpenMP* ワーカースレッドへコピーすることを有効 (1) または無効 (0) にします。 デフォルト: 1 |
KMP_LIBRARY |
OpenMP* ランタイム・ライブラリーの実行モードを選択します。この変数の値は、serial、turnaround、または 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* プログラムのシーケンシャル部分、あるいは -parallel オプション (Linux* および OS X*) または /Qparallel (Windows*) で作成された並列プログラムを実行するユーザープログラムやスレッドによって生成されるオペレーティング・システムのネイティブスレッドには影響ありません。 デフォルト: IA-32 アーキテクチャー: 2m、インテル® 64 アーキテクチャー: 4m |
KMP_VERSION |
プログラム実行中の OpenMP* ランタイム・ライブラリーのバージョン情報の出力を有効 (1) または無効 (0) にします。 デフォルト: 無効 |
OMP_DYNAMIC |
スレッド数の動的調整を有効 (1) または無効 (0) にします。 デフォルト: 0 構文の例: export OMP_DYNAMIC=value |
OMP_MAX_ACTIVE_LEVELS |
OpenMP* プログラムで同時に実行されるスレッド数を制限します。 この制限に達し、オペレーティング・システムの別のネイティブスレッドが OpenMP* API コールや構造を検出すると、プログラムはエラーメッセージを表示してアボートします。OpenMP* 並列領域の開始時点でこの制限に達した場合は、チーム内のスレッド数が減少したことを示す警告メッセージが 1 度だけ生成されますが、プログラムの実行は続けられます。 この環境変数は、-openmp または -parallel (Linux* および OS X*) および /Qopenmp または /Qparallel (Windows*) オプションでコンパイルされたプログラムでのみ使用されます。 omp_get_thread_limit() ルーチンは制限値を返します。 デフォルト: 制限なし 関連環境変数: KMP_ALL_THREADS。OMP_THREAD_LIMIT は KMP_ALL_THREADS よりも優先されます。 構文の例: export OMP_MAX_ACTIVE_LEVELS=value |
OMP_NESTED |
入れ子構造の並列化を有効 (1) または無効 (0) にします。 デフォルト: 0 構文の例: export OMP_NESTED=value |
OMP_NUM_THREADS |
アプリケーションでほかの値が指定されていない場合は、OpenMP* 並列領域で使用する最大スレッド数を設定します。 この環境変数は、-openmp と -parallel (Linux* および OS X*) または /Qopenmp と /Qparallel (Windows*) オプションの両方に適用されます。 デフォルト: オペレーティング・システムで認識されるプロセッサー数 構文の例: export OMP_NUM_THREADS=value |
OMP_PROC_BIND |
プロセッサー・コンテキストへのスレッドのバインドを有効 (true) または無効 (false) にします。有効にすると、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 (テラバイト) などオプションのサフィックスを使用して単位を指定します。B、K、M、G、T が指定されずに、値のみが指定されている場合は、サイズは K (キロバイト) であると見なされます。 この変数は、OpenMP* プログラムのシーケンシャル部分、あるいは -parallel (Linux* および OS X*) または /Qparallel (Windows*) オプションで作成された並列プログラムを実行するユーザープログラムやスレッドによって生成されるオペレーティング・システムのネイティブスレッドには影響ありません。 kmp_{set,get}_stacksize_s() ルーチンは値を設定/取得します。kmp_set_stacksize_s() ルーチンは、最初の並列領域が作成される前にシーケンシャル部分から呼び出される必要があります。 この呼び出しが行われない場合、kmp_set_stacksize_s() を呼び出しても効果がありません。 IA-32 アーキテクチャーのデフォルト: 2M 関連環境変数: KMP_STACKSIZE。KMP_STACKSIZE は OMP_STACKSIZE よりも優先されます。 構文の例: export OMP_STACKSIZE=value |
OMP_THREAD_LIMIT |
OpenMP* プログラムで同時に実行されるスレッド数を制限します。 この制限に達し、オペレーティング・システムの別のネイティブスレッドが OpenMP* API コールや構造を検出すると、プログラムはエラーメッセージを表示してアボートします。OpenMP* 並列領域の開始時点でこの制限に達した場合は、チーム内のスレッド数が減少したことを示す警告メッセージが 1 度だけ生成されますが、プログラムの実行は続けられます。 この環境変数は、-openmp または -parallel (Linux* および OS X*) および /Qopenmp または /Qparallel (Windows*) オプションでコンパイルされたプログラムでのみ使用されます。 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 |
インストルメント済みのユーザー・アプリケーション内で、インターバル・プロファイルのダンプを開始します。この環境変数は、インストルメント済みのユーザー・アプリケーションでインターバル・プロファイル・ダンプに使用されることがあります。 |
PROF_DIR |
動的情報ファイルの作成先ディレクトリーを指定する変数です。この変数は、プロファイル処理の 3 つのフェーズすべてに適用されます。 |
PROF_DUMP_INTERVAL |
これは古いオプションです。INTEL_PROF_DUMP_INTERVAL を使用してください。 |
PROF_NO_CLOBBER |
フィードバック・コンパイル・フェーズでの処理を少し変更する変数です。デフォルトでは、フィードバック・コンパイル・フェーズでは、すべての動的情報ファイルから得たデータがマージされます。そして .dyn ファイルが既存の pgopti.dpi ファイルよりも新しい場合は、pgopti.dpi ファイルを上書きします。 この変数を設定すると、コンパイラーは既存の pgopti.dpi ファイルを上書きせずに、 警告を発行します。新しい動的情報ファイルを使用するには、既存の pgopti.dpi ファイルを削除する必要があります。 |