array クラス
データをアクセラレータに移動するために使用するデータ コンテナーを表します。
template <
typename _Value_type,
int _Rank
>
friend class array;
パラメーター
_Value_type
データの要素型。_Rank
配列のランク。
メンバー
パブリック コンストラクター
名前 |
説明 |
---|---|
array クラスの新しいインスタンスを初期化します。 |
|
array オブジェクトを破棄します。 |
パブリック メソッド
名前 |
説明 |
---|---|
array の内容を別の array にコピーします。 |
|
配列の生データへのポインターを返します。 |
|
配列が割り当てられた位置を表す accelerator_view オブジェクトを返します。 このプロパティは CPU 上でのみアクセスできます。 |
|
ステージング コンストラクターが array オブジェクトをインスタンス化するために呼び出された場合、パラメーターとして渡される 2 番目の accelerator_view オブジェクトを取得します。 |
|
配列の access_type を返します。 このメソッドは CPU 上でのみアクセスできます。 |
|
配列の extent オブジェクトを返します。 |
|
array オブジェクトのすべての要素を含む 1 次元配列を返します。 |
|
指定された原点にある array オブジェクトのサブセクションを返し、これは必要に応じて範囲が指定されます。 |
|
array オブジェクトから構築された array_view オブジェクトを返します。 |
パブリック演算子
名前 |
説明 |
---|---|
copy(*this, vector) を使用して、配列を暗黙的に std::vector オブジェクトに変換します。 |
|
パラメーターによって指定された要素の値を返します。 |
|
指定したインデックス位置にある要素を返します。 |
|
指定された array オブジェクトの内容をこのオブジェクトにコピーします。 |
パブリック定数
名前 |
説明 |
---|---|
配列のランクを格納します。 |
パブリック データ メンバー
名前 |
説明 |
---|---|
配列が割り当てられた位置を表す accelerator_view オブジェクトを取得します。 このプロパティは CPU 上でのみアクセスできます。 |
|
ステージング コンストラクターが array オブジェクトをインスタンス化するために呼び出された場合、パラメーターとして渡される 2 番目の accelerator_view オブジェクトを取得します。 |
|
CPU が配列のストレージにアクセスできる方法を表す access_type を取得します。 |
|
配列の図形を定義する範囲を取得します。 |
解説
array<T,N> 型は、アクセラレータや CPU などの特定の位置にある、密で正規の (ジャグ配列でない) N 次元の配列を表します。 配列の要素のデータ型は T で、ターゲット アクセラレータと互換性のある型である必要があります。 ランクは N であり、配列のランクは静的に決定され、型の一部です。配列の範囲は、ランタイムによって決定され、extent<N> クラスを使用して表されます。
いくつかの機能は、ランク 1、2、および 3 で array オブジェクトに特化していますが、配列はどの次元数も指定できます。 次元の引数を省略すると、既定値は 1 です。
配列データはメモリ内に連続して配置されます。 最下位の次元で "1" 異なる要素はメモリでは隣接しています。
配列が別の配列にコピーされる場合は詳細コピーが実行されるため、配列は論理的に値型であると見なされます。 2 つの配列が同じデータを指すことはありません。
array<T,N> 型はいくつかのシナリオで使用されます。
アクセラレータの計算で使用できるデータ コンテナーとして。
ホスト CPU にメモリを保持するデータ コンテナーとして (他の配列との間でコピーするために使用できます)。
ホストとデバイス間のコピーの高速の仲介役として機能するステージング オブジェクトとして。
継承階層
array
必要条件
ヘッダー: amp.h
名前空間: Concurrency