インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
このトピックは、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーをターゲットとする場合にのみ適用されます。
デフォルトでは、オフロードが発生すると、CPU プログラムを実行する環境で定義されているすべての環境変数がコプロセッサーの実行環境に複製されます。この動作は、環境変数 MIC_ENV_PREFIX を定義することで変更できます。MIC_ENV_PREFIX を特定のプリフィクスに設定すると、すべての CPU 環境変数ではなく、MIC_ENV_PREFIX 環境変数のプリフィクス値で始まる環境変数のみ複製されます。コプロセッサーに設定される環境変数のプリフィクス値は削除されます。この処理により、共通の環境変数名を使用する OpenMP*、インテル® Cilk™ Plus、その他の実行環境を個別に制御できます。
個別の値を持つ複数の変数をすべてのコプロセッサーに引き渡すことができます。
次の形式を使用します。
mic_prefix_VAR=variable1=value1|variable2=value2|variable3=value3|...
ここで、variableN は変数、valueN はその値です。
特定のコプロセッサーを指定することができます。これは、複数のコプロセッサーが搭載されている場合に便利です。
次の形式を使用します。
mic_prefix_card_number_var=value
card_number の値は、1 つ目のデバイスが 0、2 つ目が 1、となります。
同様に、複数の環境変数を設定する場合は、card_number を使用して特定のコプロセッサーを指定します。
次の環境変数定義は、CPU とすべてのコプロセッサーに、異なる値の OMP_NUM_THREADS を設定します。
MIC_ENV_PREFIX=ABC OMP_NUM_THREADS=8 ABC_OMP_NUM_THREADS=124
次の環境変数定義は、すべてのコプロセッサーに、X=x と Y=y を設定します。
MIC_ENV_PREFIX=ABC ABC_VAR=X=x|Y=y
次の環境変数定義は、CPU と 5 つ目のコプロセッサーに、異なる値の OMP_NUM_THREADS を設定します。
MIC_ENV_PREFIX=ABC OMP_NUM_THREADS=8 ABC_4_OMP_NUM_THREADS=124
次の環境変数定義は、5 つ目のコプロセッサーに、X=x と Y=y を設定します。
MIC_ENV_PREFIX=ABC ABC_4_VAR=X=x|Y=y