Compaq Fortran は,OpenMP Fortran Application Program Interface (API) 仕様 Version 1.0 に準拠する並列指示文を用意しています。
並列実行用の新しいプログラムを作成するときには,これらの指示文を使用してください。
本節では,条件付きコンパイルの規則,入れ子とバインドの規則,および以下の指示文について説明します。
特定のメモリー位置が動的に更新されることを指定します。
チーム内のすべてのスレッドを同期します。
コードのブロック参照を,一度に 1 つのスレッドに制限します。
直後の DO ループの繰り返しを並列実行しなければならないことを指定します。
実装がメモリーに関して一貫性のあるビューを持たなければならない同期ポイントを指定します。
チームのマスタ・スレッドが実行しなければならないコードのブロックを指定します。
逐次実行しなければならないコードのブロックを指定します。
並列領域を定義します。
1 つの DO 指示文を含んでいる並列領域を定義します。
SECTIONS 指示文を含んでいる並列領域を定義します。
チームのスレッド間で分割されるコードのブロックを指定します (ワークシェアリング領域)。
チーム内の 1 つのスレッドだけによって実行されるコードのブロックを指定します。
名前付き共通ブロックを,スレッドに対しては非公開に,ただしスレッド内では大域にします。
OpenMP 並列指示文は,次表に示すように,いくつかのカテゴリにグループ化することができます。
OpenMP Fortran 並列指示文のカテゴリ (TU*X のみ)
カテゴリ | 説明 |
---|---|
並列領域 | 並列領域を定義します。 PARALLEL |
ワークシェアリング | 囲まれたコードのブロックの実行を,それに遭遇したチームのメンバ間で分割します。 DO と SECTIONS |
並列とワークシェアリングの組み合わせ | 1 つのワークシェアリング構文だけを含んでいる並列領域を指示するためのショートカット。 PARALLEL DO と PARALLEL SECTIONS |
同期 | 同期処理のさまざまな側面を提供します。たとえば,コードのブロック参照や,コードのブロック内の文の実行順序を指定します。 ATOMIC, BARRIER, CRITICAL, FLUSH, MASTER, および ORDERED |
データ環境 | 並列構文の実行中のデータ環境を制御します。 THREADPRIVATE |
詳細は,ユーザーズ・ガイドをご参照ください。
関連情報