インテル® C++ コンパイラー 16.0 ユーザー・リファレンス・ガイド

omp target update

プラグマで指定されているモーション節に応じて、デバイスとホスト間でデバイスのデータ環境の項目の整合性を保持します。このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。

構文

#pragma omp target update [clause[, clause, ...]]

引数

clause

次のいずれかです。

  • device( integer-expression )

  • if( scalar-expression )

  • from( list )

  • to( list )

  • nowait

  • depend( dependence-type:list )

説明

このプラグマは、プラグマで指定されているモーション節に応じて、ホストとデバイス間でデータをコピーします。from 節は、デバイスからホストへデータをコピーします。to 節は、ホストからデバイスへデータをコピーします。if 式が false と評価されると、コピーは行われません。デフォルトでは、プログラムの実行はオフロードタスクが完了するまで待機します。nowait 節を指定すると、実行はコピーの完了を待たずに継続します。depend 節は、以前のタスクへの依存性を作成します。詳細は、task プラグマの説明を参照してください。

ホストとデバイス間で値をコピーする例

#pragma omp target update to(a,b) from(c,d)

上記の例は、このプラグマを使用して、ab の値をホストからデバイスへコピーし、cd の値をデバイスからホストへコピーする方法を示します。

ホストとデバイス間で値を非同期にコピーする例

#pragma omp target update to(a,b) from(c,d) nowait

この例では、コピーが非同期に実行されるため、実行はコピーの完了を待たずに継続できます。