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 相關聯的預設 accelerator_view 物件。
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 相關聯的預設 accelerator_view 物件。
description 取得裝置的 accelerator 簡短描述。
device_path 取得裝置的路徑。
direct3d_ref 取得 Direct3D 參考 accelerator 的字串常數。
direct3d_warp 取得物件字串常數 accelerator ,這個物件可用於在使用串流 SIMD 延伸模組 (SSE) 的多核心 CPU 上執行 C++ AMP 程式碼。
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

命名空間: 並行

~加速器

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 ,以及在此 accelerator 上所做的隱含記憶體配置。

__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

取得物件字串常數 accelerator ,您可以使用串流 SIMD 延伸模組 (SSE) 在多核心 CPU 上執行 C++ AMP 程式碼。

static const wchar_t direct3d_warp[];

get_all

傳回代表所有可用快速鍵的物件向量 accelerator

static inline std::vector<accelerator> get_all();

傳回值

可用加速器的向量

get_auto_selection_view

會傳回自動選取accelerator_view,當指定為parallel_for_each目標時,會導致目標accelerator_view執行執行時間自動選取parallel_for_each核心。 針對所有其他用途,此方法傳回的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 相關聯的預設 accelerator_view 物件。

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

傳回 Boolean 值,指出 是否可以 accelerator 輸出至顯示器。

bool get_has_display() const;

傳回值

trueaccelerator如果 可以輸出至顯示器,則為 , false 否則為 。

get_is_debug

判斷 是否 accelerator 已啟用偵錯層進行廣泛的錯誤報表。

bool get_is_debug() const;

傳回值

trueaccelerator如果 已啟用偵錯層進行廣泛的錯誤報表,則為 。 否則為 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;

傳回值

true 如果加速器支援 CPU 共用記憶體,則為 ;否則為 false

get_supports_double_precision

傳回布林值,這個值表示加速器是否支援雙精確度數學,包括融合乘法加法 (FMA)、除法、倒數和轉換之間的 intdouble

bool get_supports_double_precision() const;

傳回值

true 如果快速鍵支援雙精確度數學,則為 ;否則為 false

get_supports_limited_double_precision

傳回布林值,指出加速器是否對雙精確度數學的支援有限。 如果加速器只有有限的支援,則不支援和 之間的 intdouble 融合乘法加法(FMA)、除法、相互和轉換。

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 已啟用偵錯層進行廣泛的錯誤報表。

__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 如果兩 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_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

取得布林值,指出加速器是否對雙精確度數學的支援有限。 如果加速器只有有限的支援,則不支援和 之間的 intdouble 融合乘法加法(FMA)、除法、相互和轉換。

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

version

取得 的版本 accelerator

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

另請參閱

Concurrency 命名空間 (C++ AMP)