インテル® C++ コンパイラー 16.0 ユーザー・リファレンス・ガイド
ホストからターゲットデバイスへ変数をマッピングして、デバイスのデータ環境を作成します。このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。
#pragma omp target data [clause, clause, ...] |
structured-block
clause |
省略するか、次の節を 1 つ以上指定できます。
|
target data 構造は、ホスト上のデータからデバイス上のデータへのマッピングを定義します。マッピングは、1 つまたは複数の map 節で定義されます。map-type は次のいずれかです。
alloc
各リスト項目に対応する未定義の値の新しい変数をデバイス上で作成します。
to
各リスト項目に対応する新しい変数がデバイス上で作成され、ホスト上のそのリスト項目で初期化されます。
from
デバイス上の各リスト項目の値がホストにコピーされます。
tofrom
各リスト項目に対応する変数がデバイス上で作成され、ホスト上の変数で初期化されます。ターゲット領域の最後に、デバイス上の変数はホスト上の変数にコピーされます。
次の例は、このプラグマを使用して、a、b、c の値をデバイスにマップし、計算処理を行って、e と f に値を代入します。target data 構造化ブロックの最後に、e と f の値はホストにコピーされます。
例 |
---|
#pragma omp target data map(to:a,b,c) map(from:e,f) { #pragma omp target { e = f(a,b,c); } #pragma omp target { f = g(a,b,c); } } |