ディレクティブ名 | 説明 |
---|---|
parallel | 並列実行領域を定義します。 |
for | 関連付けられたループの反復が並列実行される領域を指定する、反復的なワークシェアリングのコンストラクタを識別します。 |
sections | チーム内のスレッド間で分割される一連のコンストラクタを指定する、非反復的なワークシェアリングのコンストラクタを識別します。 |
single | 対応する構造化ブロックがチーム内の1つのスレッドだけで実行されるように指定するコンストラクタを識別します。 |
parallel for | 1つのforディレクティブを含む並列領域のショートカット。
OpenMPディレクティブparallelまたはforの直後には、for文を続けなければなりません。parallelまたはforディレクティブとfor文の間に、他の文またはOpenMPディレクティブがあると、インテル® C++ コンパイラは構文エラーを生成します。 |
parallel sections | 1つのsectionsディレクティブを含む並列領域を指定するショートカット形式。 |
master | チームのmasterスレッドで実行する構造ブロックを指定する構成体を示します。 |
critical[lock] | 関連する構造ブロックの実行を一度に1スレッドだけに制限する構成体を示します。 |
barrier | チーム内のすべてのスレッドを同期化します。 |
atomic | 特定のメモリ・ロケーションをアトミックに更新します。 |
flush | 「クロススレッド」シーケンス・ポイントを指定します。 このポイントでは、チーム内のすべてのスレッドから見たメモリ内の特定のオブジェクトの状態の整合性が保たれるように、プログラム上で保証する必要があります。 |
ordered | orderedディレクティブに続く構造ブロックを、シーケンシャル・ループ内で反復が実行される順序で実行します。 |
threadprivate | 指定された名前付きのファイル有効範囲変数または名前空間の有効範囲変数を特定のスレッドに対してプライベートにし、そのスレッド内ではファイル有効範囲を参照可能にします。 |
節 | 説明 |
---|---|
private | チーム内の各スレッドに対してprivateになるように変数を宣言します。 |
firstprivate | private節で指定される機能のスーパセットを指定します。 |
lastprivate | private節で指定される機能のスーパセットを指定します。 |
shared | チーム内のすべてのスレッドで変数を共用します。 |
default | 変数のデータ有効範囲属性を設定できます。 |
reduction | スカラ変数の削減を実行します。 |
ordered | orderedディレクティブに続く構造ブロックを、シーケンシャル・ループ内で反復が実行される順序で実行します。 |
if | IF(scalar_logical_expression)節を指定していると、scalar_logical_expressionが.TRUE.と評価した場合に限り、囲まれているコードブロックが並列に実行されます。それ以外の場合は、コードブロックは直列に実行されます。 |
schedule | forループの反復がチームのスレッド間でどのように分割するかを指定します。 |
copyin | 並列領域を実行しているチーム内の各スレッドのthreadprivate変数に、同じ名前を割り当てます。 |