Compaq Fortran は,並列実行用に書かれた古いプログラムとの互換性を保つために使用できる並列指示文を用意しています。
本項では,以下の並列指示文について説明します。
チーム内のすべてのスレッドを同期します。この指示文は,OpenMP Fortran API BARRIER 指示文と同じです。
スレッドに割り付けられる繰り返しの数を調節するための基本のチャンクの大きさを設定します。
並べられたデータ・オブジェクトの値を,マスタ・スレッドから,スレーブ・スレッド中の同じ名前の PRIVATE データ・オブジェクトにコピーします。
コードのブロック参照を,一度に 1 つのスレッドに制限します。
名前付き共通ブロックの使用可能性を指定します。
基本の実行時スケジューリング形式を設定します。
並列領域を定義します。この指示文は,以下の点を除いて OpenMP Fortran API PARALLEL 指示文と同じです。
REDUCTION 節は使用できません。
LOCAL を PRIVATE 節の代替スペルとして使用でき,SHARE を SHARED 節の代替スペルとして使用できます。
1 つの DO 指示文を含んでいる並列領域を定義します。この指示文は,OpenMP Fortran API PARALLEL DO 指示文と同じですが,キーワード DOACROSS が PARALLEL DO の代替スペルとして使用できる点が異なります。
SECTIONS 指示文を含んでいる並列領域を定義します。この指示文は,OpenMP Fortran API PARALLEL SECTIONS 指示文と同じです。
直後の DO ループの繰り返しを並列実行しなければならないことを指定します。
現在の並列 DO ループを終了させます。
チームのスレッド間で分割されるコードのブロックを指定します (ワークシェアリング領域)。この指示文は,以下の点を除いて OpenMP Fortran API SECTIONS 指示文と同じです。
REDUCTION 節と LASTPRIVATE 節は使用できません。
LOCAL は PRIVATE 節の代替スペルとして使用できます。
チーム内の 1 つのスレッドだけによって実行されるコードのブロックを指定します。この指示文は,LOCAL を PRIVATE 節の代替スペルとして使用できるという点を除き,OpenMP Fortran API SINGLE 指示文と同じです。
名前付き共通ブロックを,スレッドに対して非公開に,ただしスレッド内では大域にします。この指示文は,名前付き共通ブロックの区切りに斜線 (/ /) を使用する必要がないという点を除き,OpenMP Fortran API THREADPRIVATE 指示文と同じです。
Compaq Fortran 並列指示文は,次表に示すように,いくつかのカテゴリにグループ化することができます。
並列指示文のカテゴリ (TU*X のみ)
カテゴリ | 説明 |
---|---|
並列領域 | 並列領域を定義します。 PARALLEL |
ワークシェアリング | 囲まれたコードのブロックの実行を,それに遭遇したチームのメンバ間で分割します。 PDO, PSECTIONS, および SINGLE PROCESS |
並列とワークシェアリングの組み合わせ | 1 つのワークシェアリング構文だけを含んでいる並列領域を指示するためのショートカット。 PARALLEL DO と PARALLEL SECTIONS |
同期 | 同期処理のさまざまな側面を提供します。たとえば,コードのブロックへの参照や,コードのブロック内の文の実行順序を指定します。 BARRIER と CRITICAL SECTION |
データ環境 | 並列構文の実行中のデータ環境を制御します。 COPYIN, INSTANCE, および TASKCOMMON |
実行時の基本設定 | 基本チャンクまたはスケジュール形式を指定します。 CHUNK と MP_SCHEDTYPE |
これらの指示文の使用方法については,ユーザー・マニュアルを参照してください。
関連情報