OMP_PLACES
OMP_PLACES 環境変数は、OpenMP プログラムの実行時に使用できるプレースのリストを指定します。
OMP_PLACES の値は、
以下のいずれかの値にすることができます。
- 負でない数値で記述されるプレースの明示的なリスト
- プレース・セットを記述する要約名
place_list は、 以下のいずれかの構文形式をとります。OMP_PLACES 構文 >>-OMP_PLACES=--+-place_list-+--------------------------------->< '-place_name-'
place_list 構文: 形式 1 .-,------------------------------------------------------. V .-!-. | >>---+---+--{--+-lower_bound--:--length--+-----------+-+--}-+-->< | '-:--stride-' | | .-,---. | | V | | '---num-+-------------------------------'
lower_bound、length、stride、num、num_places、 および multiplier は正整数です。 それぞれのプレースにおけるスレッド番号は、multiplier の倍数となる値から始まります。 除外演算子 ! が指定された場合は、その排他演算子の直後にあるプレースの番号が除外されます。place_list 構文: 形式 2 .-!-. >>-+---+--{--lower_bound--:--length--}--:--num_places--:--multiplier-><
place_name 構文 .-cores---. >>-+-threads-+--+------------------+--------------------------->< '-(--num_places--)-'
- threads
- 各プレースにハードウェア・スレッドが含まれます。
- cores
- 各プレースにコアが含まれます。 OMP_PLACES が設定されない場合のデフォルト設定は cores です。
- num_places
- これはプレースの数です。
使用法
要求されるプレースの数が、システムで使用できるプレースの数より少ない場合、実行環境では、プレース・リストの順番でプレースが実行時に割り当てられます。 要求されるプレースの数が、システムで使用できるプレースの数より多い場合、実行環境では、システムでサポートされる最大数のプレースが実行時に割り当てられます。
OpenMP コードと OpenMPI コードの両方が含まれるプログラムの場合、OpenMP ランタイムでは、OMPI_COMM_WORLD_RANK 環境変数が存在することによって、OpenMPI コードが存在することが判明します。 OMP_PLACES を明示的に設定しない場合、 コンパイラーは OMP_PLACES を cores に設定し、OpenMPI 類縁性ポリシーに基づいて使用不可リソースを OMP_PLACES から削除します。 また、OMP_PROC_BIND が TRUE に設定されます。
OMP_PLACES 環境変数の設定方法に関する例については、OMP_PROC_BIND の例を参照してください。
