OpenMP 並列コンパイラ指示文:チーム内のすべてのスレッドを同期します。これにより,各スレッドは,チーム内の他のすべてのスレッドがバリアに達するまで待機するようになります。
形式
c$OMP BARRIER
c
次のいずれか:C (または c),!,* (「並列指示文の構文規則」を参照)
BARRIER 指示文は,チーム内のすべてのスレッドが遭遇するか,どのスレッドも遭遇しないように置かれていなくてはなりません。また,チーム内のすべてのスレッドが同じ順序で遭遇するようになっている必要があります。
関連情報
Compaq Fortran 並列コンパイラ指示文,OpenMP Fortran API コンパイラ指示文,Tru64 UNIX システム用の並列指示文,入れ子とバインドの規則
例
指示文のバインディング規則のために,BARRIER 指示文は最も近い外側の PARALLEL 指示文にバインドされます。次の例では,BARRIER 指示文を使って,すべてのスレッドが最初のループの実行を終えるまで待ち,第 2 のループを安全に実行できるようにしています。
c$OMP PARALLEL c$OMP DO PRIVATE(i) DO i = 1, 100 b(i) = i END DO c$OMP BARRIER c$OMP DO PRIVATE(i) DO i = 1, 100 a(i) = b(101-i) END DO c$OMP END PARALLEL