インテル® C++ コンパイラー 17.0 デベロッパー・ガイドおよびリファレンス

OpenMP* 実装定義に依存する動作

ここでは、OpenMP* API 仕様で実装定義とされている動作について説明します。

内部制御変数 (ICV) については、OpenMP* API 仕様を参照してください。

名前

説明

single 構文

single 構文に最初に到達したスレッドが構造化ブロックを実行します。

teams 構文

num_teams 節を省略すると、生成されるチーム数は 1 になります。

dist_schedule 節、distribute 構文

dist_schedule 節を省略すると、distribute 構文のスケジュールは static になります。

omp_set_num_threads ルーチン

引数が正の整数でない場合、インテルの OpenMP* 実装は、現在のタスクの nthreads-var (ICV) の最初の要素の値を 1 に設定します。

omp_set_max_active_levels ルーチン

引数が負の整数の場合、この呼び出しは無視され、最後に設定された有効な値が使用されます。

omp_get_max_active_levels ルーチン

明示的な並列領域内から呼び出されると、omp_get_max_active_levels 領域のバインドスレッドとバインド領域 (必要な場合) は現在のタスク領域になります。

OMP_SCHEDULE 環境変数

変数の値が指定された形式に適合していない場合、run-sched-var (ICV) の値は static に設定され、チャンクサイズは 1 に設定されます。

OMP_NUM_THREADS 環境変数

環境変数で指定したリストのいずれかの値が負の場合、リスト全体が無視されます。 リストのいずれかの値が 0 の場合、1 に設定されます。

OMP_PROC_BIND 環境変数

値が truefalse、または masterclosespread のカンマ区切りのリストでない場合、インテルの OpenMP* 実装は bind-var (ICV) を false に設定します。

OMP_DYNAMIC 環境変数

値が true または false でない場合、インテルの OpenMP* 実装は dyn-var (ICV) を false に設定します。

OMP_NESTED 環境変数

値が true または false でない場合、インテルの OpenMP* 実装は nest-var (ICV) を false に設定します。

OMP_STACKSIZE 環境変数

値が指定された形式に適合しない場合、または実装が指定されたサイズのスタックを提供できない場合、インテルの OpenMP* 実装は stacksize-var (ICV) をデフォルトのサイズ (アーキテクチャーに応じて 1MB ~ 4MB) に設定します。

OMP_MAX_ACTIVE_LEVELS 環境変数

値が負の整数の場合、または実装でサポート可能な並列領域のレベル数よりも大きい場合、インテルの OpenMP* 実装は max-active-levels-var (ICV) を特定のプラットフォームでサポートされる並列領域の最大レベル数に設定します。

OMP_THREAD_LIMIT 環境変数

値が負の整数の場合、または値が実装でサポート可能なスレッド数よりも大きい場合、インテルの OpenMP* 実装は thread-limit-var (ICV) を特定のプラットフォームでサポートされる最大スレッド数に設定します。 要求された値が 0 の場合、インテルの OpenMP* 実装は thread-limit-var (ICV) を 1 に設定します。

ランタイム・ライブラリーの定義

インテルの OpenMP* 実装は、インクルード・ファイル omp_lib.h とモジュール omp_lib の両方を提供します。