accelerator クラス

アクセラレータは、データ並列計算用に最適化されたハードウェアの機能です。 アクセラレータは、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 この accelerator で作成された配列と暗黙的なメモリ割り当ての既定の CPU access_type を設定します。

パブリック演算子

名前 説明
operator!= この accelerator オブジェクトを別のオブジェクトと比較し、それらが同じである場合は false を返します。それ以外の場合は true を返します。
operator= 指定された accelerator オブジェクトの内容をこのオブジェクトにコピーします。
operator== この accelerator オブジェクトを別のオブジェクトと比較し、それらが同じである場合は true を返します。それ以外の場合は false を返します。

パブリック データ メンバー

名前 説明
cpu_accelerator CPU accelerator の文字列定数を取得します。
dedicated_memory accelerator の専用のメモリ (KB 単位) を取得します。
default_accelerator 既定の accelerator の文字列定数を取得します。
default_cpu_access_type この accelerator で作成された配列と暗黙的なメモリ割り当ての既定の CPU access_type を取得または設定します。
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 アクセラレータの倍精度数値演算のサポートが制限されているかどうかを示します。
version accelerator のバージョンを取得します。

継承階層

accelerator

解説

アクセラレータは、データ並列計算用に最適化されたハードウェアの機能です。 多くの場合、アクセラレータは独立した GPU ですが、DirectX REF デバイス、WARP (SSE 命令で加速される CPU 側のデバイス)、または CPU 自体などの仮想ホスト側のエンティティでもあることがあります。

使用できるデバイスをエミュレートすることによって、または既定のデバイス、参照デバイス、または WARP デバイスを取得することによって、accelerator オブジェクトを構築することができます。

必要条件

ヘッダー: amprt.h

名前空間: Concurrency

~accelerator

accelerator オブジェクトを破棄します。

~accelerator();

戻り値

アクセラレータ

accelerator クラスの新しいインスタンスを初期化します。

accelerator();

explicit accelerator(const std::wstring& _Device_path);

accelerator(const accelerator& _Other);

パラメーター

_Device_path
物理デバイスのパスです。

_Other
コピーするアクセラレータです。

cpu_accelerator

CPU アクセラレータの文字列定数を取得します。

static const wchar_t cpu_accelerator[];

create_view

指定されたキュー モードを使用して、このアクセラレータに accelerator_view オブジェクトを作成して返します。 キュー モードが指定されていない場合は、新しい accelerator_viewqueuing_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

この accelerator で作成された配列と暗黙的なメモリ割り当ての既定の 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;

description

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 に関連付けられている既定の accelerator_view オブジェクト。

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;

戻り値

accelerator がディスプレイに出力できる場合は true。それ以外の場合は false

get_is_debug

accelerator が広範なエラー レポートに有効なデバッグ レイヤーを持つかどうかを決定します。

bool get_is_debug() const;

戻り値

accelerator に、広範なエラー レポートが有効な DEBUG レイヤーがある場合は true。 それ以外の場合は false

get_is_emulated

accelerator がエミュレートされるかどうかを決定します。

bool get_is_emulated() const;

戻り値

accelerator がエミュレートされる場合は true。 それ以外の場合は false

get_supports_cpu_shared_memory

アクセラレータがアクセラレータと CPU の両方からアクセスできるメモリをサポートするかどうかを示すブール値を返します。

bool get_supports_cpu_shared_memory() const;

戻り値

アクセラレータが CPU 共有メモリをサポートする場合は true。それ以外の場合は false

get_supports_double_precision

融合積和演算 (FMA)、除算、逆数、intdouble 間のキャストなどの倍精度演算をアクセラレータがサポートしているかどうかを示すブール値を返します。

bool get_supports_double_precision() const;

戻り値

アクセラレータが倍精度演算をサポートする場合は true。それ以外の場合は false

get_supports_limited_double_precision

アクセラレータによる倍精度演算のサポートが制限されているかどうかを示すブール値を返します。 アクセラレータによるサポートが制限されている場合、融合積和演算 (FMA)、除算、逆数、intdouble 間のキャストはサポートされません。

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;

パラメーター

_Other
このオブジェクトと比較する accelerator オブジェクト。

戻り値

false 2 つの accelerator オブジェクトが同じ場合は 〟。 trueそれ以外の場合は .。

operator=

指定された accelerator オブジェクトの内容をこのオブジェクトにコピーします。

accelerator& operator= (const accelerator& _Other);

パラメーター

_Other
コピー元の accelerator オブジェクト。

戻り値

この accelerator オブジェクトへの参照。

operator==

この accelerator オブジェクトを別のオブジェクトと比較し、それらが同じである場合は true を返します。それ以外の場合は false を返します。

bool operator== (const accelerator& _Other) const;

パラメーター

_Other
このオブジェクトと比較する accelerator オブジェクト。

戻り値

比較対象の accelerator オブジェクトがこの accelerator オブジェクトと同じである場合は true。それ以外の場合は false

set_default

暗黙的に既定のアクセラレータを使用するすべての操作に使用する既定のアクセラレータを設定します。 このメソッドは、ランタイムによって選択された既定のアクセラレータが暗黙的に既定のアクセラレータを使用する操作で既に使用されていない場合にのみ正常に終了します

static inline bool set_default(std::wstring _Path);

パラメーター

_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)、除算、逆数、intdouble 間のキャストはサポートされません。

__declspec(property(get= get_supports_limited_double_precision)) bool supports_limited_double_precision;

version

accelerator のバージョンを取得します。

__declspec(property(get= get_version)) unsigned int version;

関連項目

コンカレンシー名前空間 (C++ AMP)