COPYIN 節

PARALLELPARALLEL DO および PARALLEL SECTIONS 宣言子で COPYIN 節を使用して、マスタースレッドの変数または共通ブロックにあるデータを変数または共通ブロックのスレッド専用コピーに複写します。これは、並列領域の最初に実行されます。COPYIN 節は、THREADPRIVATE が宣言された変数または共通ブロックにのみ適用されます。

コピーする共通ブロック全体を指定する必要はなく、THREADPRIVATE 共通ブロックにある名前付き変数を指定することができます。

INTEGER, SAVE:: X

!OMP THREADPRIVATE(X)

!OMP PARALLEL COPYIN(X)

下記の例では、共通ブロック BLK1FIELDS をスレッド専用として指定しますが、コピーに指定するのは、共通ブロック FIELDS の変数の 1 つだけです。

COMMON /BLK1/ SCRATCH

COMMON /FIELDS/ XFIELD, YFIELD, ZFIELD

!$OMP THREADPRIVATE(/BLK1/, /FIELDS/)

!$OMP PARALLEL DEFAULT(PRIVATE),COPYIN(/BLK1/,ZFIELD)