2.4.2 sections のコンストラクト
sections ディレクティブは、チーム内のスレッド間で分割される構文のセットを指定する、反復されない work-sharing コンストラクトを識別します。 各セクションはチーム内のスレッドによって 1 回ずつ実行されます。 sections ディレクティブの構文は次のとおりです。
#pragma omp sections [clause[[,] clause] ...] new-line
{
[#pragma omp section new-line]
structured-block
[#pragma omp section new-line
structured-block ]
...
}
clause は次のいずれかになります。
private(variable-list)
firstprivate(variable-list)
lastprivate(variable-list)
削減 (演算子:変数リスト)
nowait
各セクションの前には section ディレクティブが置かれます。ただし、最初のセクションの section ディレクティブは省略可能です。 section ディレクティブは、sections ディレクティブの構文範囲内に現れる必要があります。 nowait 句が指定されていない限り、sections コンストラクトの末尾に暗黙のバリアがあります。
sections ディレクティブに対する制限は次のとおりです。
section ディレクティブは、sections ディレクティブの構文範囲内に現れる必要があります。
sections ディレクティブに指定できる nowait 句は 1 つだけです。
クロス リファレンス
- private、firstprivate、lastprivate、reduction の各句については、25 ページのセクション 2.7.2 を参照してください。