MP_SCHEDTYPE (TU*X のみ)

Compaq Fortran 並列コンパイラ指示文:基本実行時スケジューリング形式を設定します。スケジューリング形式は,プログラムの文脈には影響を与えませんが性能には影響を与える可能性があります。

形式

c$PAR MP_SCHEDTYPE = mode

c
次のいずれか:C (または c),!* (「並列指示文の構文規則」を参照)

mode
以下のいずれか。

chunksize についての詳細は,「CHUNK」を参照してください。

規則と振る舞い

MP_SCHEDTYPE 指示文は,Compaq Fortran プログラム中の任意の場所に置くことができます。同じプログラムに複数の MP_SCHEDTYPE 指示文が存在する場合,直前に現れた指示文が使用されます。

並列 DO ループに使用されるスケジューリング形式は,以下のように (この順序で) 決定されます。

  1. 現在の DO ループの PDO 指示文で指定されているスケジューリング形式

  2. 直前の MP_SCHEDTYPE 指示文で指定されているユーザー指定の基本設定

  3. 現在の DO ループのスケジューリング形式が RUNTIME ならば,環境変数 MP_SCHEDTYPE で指定されているユーザー指定の基本設定

  4. コンパイラの基本設定である STATIC

DYNAMICGUIDED のスケジューリング形式は,ループの実行中にスレッドへの繰り返しの割付けを継続的に行うので,その管理のためにある程度のオーバヘッドが生じます。しかし,繰り返しの平均実行時間が DO ループ全体で一様でなければ,このオーバヘッドは負荷分散の改善によって打ち消されることがあります。

STATICINTERLEAVED の形式は,すべての繰り返しを事前にスレッドに割り付け,各スレッドがほぼ同じ数の繰り返しを受け取ることになります。繰り返しの平均実行時間が DO ループ全体で一様であれば,このどちらかの形式が最も効率的なスケジューリング形式となります。

次の形式も使用できます:c$MP_SCHEDULE = mode

関連情報

Compaq Fortran 並列コンパイラ指示文OpenMP Fortran API コンパイラ指示文Tru64 UNIX システム用の並列指示文