アクセラレータは、データ並列計算用に最適化されたハードウェアの機能です。 アクセラレータは、PCIe バス (GPU など) にアタッチされているデバイスである場合や主要 CPU の拡張命令セットである場合があります。
構文
class accelerator;
メンバー
パブリック コンストラクター
| 名前 | 説明 |
|---|---|
| accelerator コンストラクター |
accelerator クラスの新しいインスタンスを初期化します。 |
| ~accelerator デストラクター |
accelerator オブジェクトを破棄します。 |
パブリック メソッド
| 名前 | 説明 |
|---|---|
| create_view | このアクセラレータの accelerator_view オブジェクトを作成して返します。 |
| get_all | 使用可能なすべてのアクセラレータを表す accelerator オブジェクトのベクターを返します。 |
| get_auto_selection_view | 自動選択 accelerator_view を返します。 |
| get_dedicated_memory |
accelerator の専用のメモリ (KB 単位) を返します。 |
| get_default_cpu_access_type | このアクセラレータで作成されるバッファーの既定の access_type を返します。 |
| get_default_view |
accelerator_view に関連付けられている既定の accelerator オブジェクトを返します。 |
| get_description |
accelerator デバイスの短い説明を返します。 |
| get_device_path | デバイスのパスを返します。 |
| get_has_display |
accelerator がディスプレイにアタッチされるかどうかを決定します。 |
| get_is_debug |
accelerator が広範なエラー レポートに有効なデバッグ レイヤーを持つかどうかを決定します。 |
| get_is_emulated |
accelerator がエミュレートされるかどうかを決定します。 |
| get_supports_cpu_shared_memory |
accelerator が共有メモリをサポートするかどうかを決定します |
| get_supports_double_precision |
accelerator がディスプレイにアタッチされるかどうかを決定します。 |
| get_supports_limited_double_precision |
accelerator が倍精度サポートを制限するかどうかを決定します。 |
| get_version |
accelerator のバージョンを返します。 |
| set_default | 既定のアクセラレータのパスを返します。 |
| set_default_cpu_access_type | 配列の既定の CPU access_type と、この acceleratorで行われた暗黙的なメモリ割り当てを設定します。 |
パブリック演算子
| 名前 | 説明 |
|---|---|
| 演算子!= | この accelerator オブジェクトを別のオブジェクトと比較し、それらが同じである場合は false を返します。それ以外の場合は true を返します。 |
| 演算子 = | 指定された accelerator オブジェクトの内容をこのオブジェクトにコピーします。 |
| operator== | この accelerator オブジェクトを別のオブジェクトと比較し、それらが同じである場合は true を返します。それ以外の場合は false を返します。 |
パブリック データ メンバー
| 名前 | 説明 |
|---|---|
| cpu_accelerator | CPU accelerator の文字列定数を取得します。 |
| dedicated_memory |
accelerator の専用のメモリ (KB 単位) を取得します。 |
| default_accelerator | 既定の accelerator の文字列定数を取得します。 |
| default_cpu_access_type | 配列の既定の CPU access_type と、この acceleratorに対して行われた暗黙的なメモリ割り当てを取得または設定します。 |
| default_view |
accelerator_view に関連付けられている既定の accelerator オブジェクトを取得します。 |
| 説明 |
accelerator デバイスの短い説明を取得します。 |
| device_path | デバイスのパスを取得します。 |
| direct3d_ref | Direct3D 参照 accelerator の文字列定数を取得します。 |
| direct3d_warp | ストリーミング SIMD 拡張命令 (SSE) を使用するマルチコア CPU で C++ AMP コードを実行するために使用できる accelerator オブジェクトの文字列定数を取得します。 |
| has_display |
accelerator がディスプレイにアタッチされているかどうかを示すブール値を取得します。 |
| is_debug |
accelerator に、広範なエラー レポートに有効なデバッグ レイヤーがあるかどうかを示します。 |
| is_emulated |
accelerator がエミュレートされるかどうかを示します。 |
| supports_cpu_shared_memory |
accelerator が共有メモリをサポートするかどうかを示します。 |
| supports_double_precision | アクセラレータが倍精度数値演算をサポートするかどうかを示します。 |
| supports_limited_double_precision | アクセラレータの倍精度数値演算のサポートが制限されているかどうかを示します。 |
| バージョン |
accelerator のバージョンを取得します。 |
継承階層
accelerator
解説
アクセラレータは、データ並列計算用に最適化されたハードウェアの機能です。 多くの場合、アクセラレータは独立した GPU ですが、DirectX REF デバイス、WARP (SSE 命令で加速される CPU 側のデバイス)、または CPU 自体などの仮想ホスト側のエンティティでもあることがあります。
使用できるデバイスをエミュレートすることによって、または既定のデバイス、参照デバイス、または WARP デバイスを取得することによって、accelerator オブジェクトを構築することができます。
要件
ヘッダー: amprt.h
名前空間: Concurrency
~アクセル
accelerator オブジェクトを破棄します。
~accelerator();
戻り値
アクセラレータ
accelerator クラスの新しいインスタンスを初期化します。
accelerator();
explicit accelerator(const std::wstring& _Device_path);
accelerator(const accelerator& _Other);
パラメーター
_Device_path
物理デバイスのパスです。
_他
コピーするアクセラレータです。
cpu_accelerator
CPU アクセラレータの文字列定数を取得します。
static const wchar_t cpu_accelerator[];
create_view
指定されたキュー モードを使用して、このアクセラレータに accelerator_view オブジェクトを作成して返します。 キュー モードが指定されていない場合は、新しい accelerator_view で queuing_mode::immediate キュー モードが使用されます。
accelerator_view create_view(queuing_mode qmode = queuing_mode_automatic);
パラメーター
qmode
キュー モード。
戻り値
指定されたキュー モードを使用する、このアクセラレータの新しい accelerator_view オブジェクト。
dedicated_memory
accelerator の専用のメモリ (KB 単位) を取得します。
__declspec(property(get= get_dedicated_memory)) size_t dedicated_memory;
default_accelerator
既定の accelerator の文字列定数を取得します。
static const wchar_t default_accelerator[];
default_cpu_access_type
こので行われた配列と暗黙的なメモリ割り当ての既定の cpu access_type。
__declspec(property(get= get_default_cpu_access_type)) access_type default_cpu_access_type;
default_view
accelerator に関連付けられている既定のアクセラレータ ビューを取得します。
__declspec(property(get= get_default_view)) accelerator_view default_view;
説明
accelerator デバイスの短い説明を取得します。
__declspec(property(get= get_description)) std::wstring description;
device_path
アクセラレータのパスを取得します。 パスはシステム上で一意です。
__declspec(property(get= get_device_path)) std::wstring device_path;
direct3d_ref
Direct3D 参照アクセラレータの文字列定数を取得します。
static const wchar_t direct3d_ref[];
direct3d_warp
ストリーミング SIMD 拡張命令 (SSE) を使用するマルチコア CPU で C++ AMP コードを実行するために使用できる accelerator オブジェクトの文字列定数を取得します。
static const wchar_t direct3d_warp[];
get_all
使用可能なすべてのアクセラレータを表す accelerator オブジェクトのベクターを返します。
static inline std::vector<accelerator> get_all();
戻り値
使用可能なアクセラレータのベクター
get_auto_selection_view
ランタイムによって自動的に選択される parallel_for_each カーネルを実行するためにターゲットの accelerator_view で parallel_for_each ターゲット結果として指定される場合、自動選択の accelerator_view を返します。 その他のすべての目的については、このメソッドで返される accelerator_view は、既定のアクセラレータの既定の accelerator_view と同じです。
static accelerator_view __cdecl get_auto_selection_view();
戻り値
自動選択の accelerator_view。
get_dedicated_memory
accelerator の専用のメモリ (KB 単位) を返します。
size_t get_dedicated_memory() const;
戻り値
accelerator の専用メモリ (KB 単位)。
get_default_cpu_access_type
このアクセラレータで作成されるバッファーの既定の CPU access_type を取得します
access_type get_default_cpu_access_type() const;
戻り値
このアクセラレータで作成されるバッファーの既定の CPU access_type。
get_default_view
accelerator_view に関連付けられている既定の accelerator オブジェクトを返します。
accelerator_view get_default_view() const;
戻り値
accelerator_view に関連付けられている既定の accelerator オブジェクト。
get_description
accelerator デバイスの短い説明を返します。
std::wstring get_description() const;
戻り値
accelerator デバイスの短い説明。
get_device_path
アクセラレータのパスを返します。 パスはシステム上で一意です。
std::wstring get_device_path() const;
戻り値
システム全体で一意のデバイス インスタンス パス。
get_has_display
accelerator がディスプレイに出力できるかどうかを示すブール値を返します。
bool get_has_display() const;
戻り値
true がディスプレイに出力できる場合は accelerator。それ以外の場合は false。
get_is_debug
accelerator が広範なエラー レポートに有効なデバッグ レイヤーを持つかどうかを決定します。
bool get_is_debug() const;
戻り値
true に、広範なエラー レポートが有効な DEBUG レイヤーがある場合は accelerator。 それ以外の場合は false。
get_is_emulated
accelerator がエミュレートされるかどうかを決定します。
bool get_is_emulated() const;
戻り値
true がエミュレートされる場合は accelerator。 それ以外の場合は false。
get_supports_cpu_shared_memory
アクセラレータがアクセラレータと CPU の両方からアクセスできるメモリをサポートするかどうかを示すブール値を返します。
bool get_supports_cpu_shared_memory() const;
戻り値
アクセラレータが CPU 共有メモリをサポートする場合は true。それ以外の場合は false。
get_supports_double_precision
融合積和演算 (FMA)、除算、逆数、int と double 間のキャストなどの倍精度演算をアクセラレータがサポートしているかどうかを示すブール値を返します。
bool get_supports_double_precision() const;
戻り値
アクセラレータが倍精度演算をサポートする場合は true。それ以外の場合は false。
get_supports_limited_double_precision
アクセラレータによる倍精度演算のサポートが制限されているかどうかを示すブール値を返します。 アクセラレータによるサポートが制限されている場合、融合積和演算 (FMA)、除算、逆数、int と double 間のキャストはサポートされません。
bool get_supports_limited_double_precision() const;
戻り値
アクセラレータによる倍精度演算のサポートが制限されている場合は true。それ以外の場合は false。
get_version
accelerator のバージョンを返します。
unsigned int get_version() const;
戻り値
acceleratorのバージョン。
has_display
accelerator がディスプレイに出力できるかどうかを示すブール値を取得します。
__declspec(property(get= get_has_display)) bool has_display;
is_debug
accelerator に広範なエラー レポートが有効な DEBUG レイヤーがあるかどうかを示すブール値を取得します。
__declspec(property(get= get_is_debug)) bool is_debug;
is_emulated
accelerator がエミュレートされるかどうかを示すブール値を取得します。
__declspec(property(get= get_is_emulated)) bool is_emulated;
operator!=
この accelerator オブジェクトを別のオブジェクトと比較し、それらが同じである場合は false を返します。それ以外の場合は true を返します。
bool operator!= (const accelerator& _Other) const;
パラメーター
_他
このオブジェクトと比較する accelerator オブジェクト。
戻り値
false 2 つの accelerator オブジェクトが同じ場合は。それ以外の場合は true。
operator=
指定された accelerator オブジェクトの内容をこのオブジェクトにコピーします。
accelerator& operator= (const accelerator& _Other);
パラメーター
_他
コピー元の accelerator オブジェクト。
戻り値
この accelerator オブジェクトへの参照。
operator==
この accelerator オブジェクトを別のオブジェクトと比較し、それらが同じである場合は true を返します。それ以外の場合は false を返します。
bool operator== (const accelerator& _Other) const;
パラメーター
_他
このオブジェクトと比較する accelerator オブジェクト。
戻り値
比較対象の true オブジェクトがこの accelerator オブジェクトと同じである場合は accelerator。それ以外の場合は false。
set_default
暗黙的に既定のアクセラレータを使用するすべての操作に使用する既定のアクセラレータを設定します。 このメソッドは、ランタイムによって選択された既定のアクセラレータが暗黙的に既定のアクセラレータを使用する操作で既に使用されていない場合にのみ正常に終了します
static inline bool set_default(std::wstring _Path);
パラメーター
_パス
アクセラレータへのパス。
戻り値
true 既定のアクセラレータの設定で呼び出しが成功した場合は 。 それ以外の場合は false。
set_default_cpu_access_type
このアクセラレータで作成される配列、またはこのアクセラレータでアクセスされる array_views の一部としての暗黙的なメモリ割り当ての、既定の CPU access_type を設定します。 アクセラレータの default_cpu_access_type が、このメソッドの以前の呼び出しによってまだオーバーライドされておらず、ランタイムによって選択されたこのアクセラレータの default_cpu_access_type が、このアクセラレータでの配列の割り当て、またはこのアクセラレータでアクセスされる array_view を支援する暗黙的なメモリ割り当てにまだ使用されていない場合にのみ、このメソッドは成功します。
bool set_default_cpu_access_type(access_type _Default_cpu_access_type);
パラメーター
_Default_cpu_access_type
このアクセラレータの array/array_view メモリ割り当てに使用される既定の CPU access_type。
戻り値
アクセラレータの既定の CPU access_type が正常に設定されたかどうかを示すブール値。
supports_cpu_shared_memory
accelerator が共有メモリをサポートしているかどうか示すブール値を取得します。
__declspec(property(get= get_supports_cpu_shared_memory)) bool supports_cpu_shared_memory;
supports_double_precision
アクセラレータが倍精度演算をサポートしているかどうかを示すブール値を取得します。
__declspec(property(get= get_supports_double_precision)) bool supports_double_precision;
supports_limited_double_precision
アクセラレータによる倍精度演算のサポートが制限されているかどうかを示すブール値を取得します。 アクセラレータによるサポートが制限されている場合、融合積和演算 (FMA)、除算、逆数、int と double 間のキャストはサポートされません。
__declspec(property(get= get_supports_limited_double_precision)) bool supports_limited_double_precision;
バージョン
accelerator のバージョンを取得します。
__declspec(property(get= get_version)) unsigned int version;