accelerator_view 类

表示 C++ AMP 数据并行加速器上的虚拟设备抽象。

语法

class accelerator_view;

成员

公共构造函数

名称 描述
accelerator_view 构造函数 初始化 accelerator_view 类的新实例。
~accelerator_view 析构函数 销毁 accelerator_view 对象。

公共方法

名称 描述
create_marker 返回一个 future 对象,用于跟踪到目前为止提交到此 accelerator_view 对象的所有命令的完成情况。
flush 将排队到 accelerator_view 对象的所有待处理命令提交到加速器以供执行。
get_accelerator 返回 accelerator 对象的 accelerator_view 对象。
get_is_auto_selection 返回一个布尔值,该值指示在将 accelerator_view 对象传递给 parallel_for_each 时运行时是否会自动选择适当的加速器。
get_is_debug 返回一个布尔值,指示 accelerator_view 对象是否为广泛的错误报告启用了调试层。
get_queuing_mode 返回 accelerator_view 对象的排队模式。
get_version 返回 accelerator_view 的版本。
wait 等待提交给 accelerator_view 对象的所有命令完成。

公共运算符

“属性” 描述
operator!= 将此 accelerator_view 对象与另一个进行比较,相同则返回 false,否则返回 true
operator= 将指定 accelerator_view 对象的内容复制到此对象中。
operator== 将此 accelerator_view 对象与另一个进行比较,相同则返回 true,否则返回 false

公共数据成员

“属性” 描述
加速器 获取 accelerator_view 对象的 accelerator 对象。
is_auto_selection 获取一个布尔值,该值指示在将 accelerator_view 对象传递给 parallel_for_each 时运行时是否会自动选择适当的加速器。
is_debug 获取一个布尔值,指示 accelerator_view 对象是否为广泛的错误报告启用了调试层。
queuing_mode 获取 accelerator_view 对象的排队模式。
version 获取快捷键的版本。

继承层次结构

accelerator_view

注解

对象 accelerator_view 表示加速器的逻辑独立视图。 单个物理计算设备可以有多个逻辑隔离 accelerator_view 对象。 每个加速器都有一个默认 accelerator_view 对象。 可以创建其他 accelerator_view 对象。

物理设备可以在多个客户端线程之间共享。 客户端线程可以协作使用加速器的相同 accelerator_view 对象,或者每个客户端都可以通过独立 accelerator_view 对象与计算设备通信,以便与其他客户端线程隔离。

一个 accelerator_view 对象可以具有两种 queuing_mode Enumeration 状态之一。 如果队列模式为 immediate,则 copyparallel_for_each 等命令在返回给调用方后立即发送到相应的加速器设备。 如果排队模式为 deferred,则此类命令将在与 accelerator_view 对象对应的命令队列中排队。 在调用 flush() 之前,命令不会真正发送到设备。

要求

标头:amprt.h

命名空间: 并发

加速器

获取 accelerator_view 对象的加速器对象。

语法

__declspec(property(get= get_accelerator)) Concurrency::accelerator accelerator;

accelerator_view

通过复制现有 accelerator_view 对象来初始化 accelerator_view 类的新实例。

语法

accelerator_view( const accelerator_view & other );

参数

其他
要复制的 accelerator_view 对象。

create_marker

返回一个 future 对象,用于跟踪到目前为止提交到此 accelerator_view 对象的所有命令的完成情况。

语法

concurrency::completion_future create_marker();

返回值

一个 future 对象,用于跟踪到目前为止提交到此 accelerator_view 对象的所有命令的完成情况。

flush

将针对 accelerator_view 对象排队的所有挂起命令提交给快捷键执行。

语法

void flush();

返回值

返回 void

get_accelerator

返回 accelerator_view 对象的加速器对象。

语法

accelerator get_accelerator() const;

返回值

accelerator_view 对象的加速器对象。

get_is_auto_selection

返回一个布尔值,该值指示在将 Accelerator_view 传递给 parallel_for_each 时运行时是否会自动选择适当的加速器。

语法

bool get_is_auto_selection() const;

返回值

如果运行时会自动选择合适的加速器,则为 true;否则为 false

get_is_debug

返回一个布尔值,指示 accelerator_view 对象是否为广泛的错误报告启用了调试层。

语法

bool get_is_debug() const;

返回值

一个布尔值,指示 accelerator_view 对象是否为广泛的错误报告启用了调试层。

get_queuing_mode

返回 accelerator_view 对象排队模式。

语法

queuing_mode get_queuing_mode() const;

返回值

accelerator_view 对象的排队模式。

get_version

返回 accelerator_view 的版本。

语法

unsigned int get_version() const;

返回值

accelerator_view 的版本。

is_auto_selection

获取一个布尔值,该值指示在将 Accelerator_view 传递给 parallel_for_each 时运行时是否会自动选择适当的加速器。

语法

__declspec(property(get= get_is_auto_selection)) bool is_auto_selection;

is_debug

获取一个布尔值,指示 accelerator_view 对象是否为广泛的错误报告启用了调试层。

语法

__declspec(property(get= get_is_debug)) bool is_debug;

operator!=

将此加速器视图对象与另一个对象进行比较,如果它们相同则返回 false;否则返回 true

语法

bool operator!= ( const accelerator_view & other ) const;

参数

其他
与此对象相比较的 accelerator_view 对象。

返回值

如果两个对象相同,则为 false;否则为 true

operator=

将指定 accelerator_view 对象的内容复制到此对象中。

语法

accelerator_view & operator= ( const accelerator_view & other );

参数

其他
要从其复制的 accelerator_view 对象。

返回值

对修改后的 accelerator_view 对象的引用。

operator==

将此加速器视图对象与另一个对象进行比较,如果它们相同则返回 true;否则返回 false

语法

bool operator== ( const accelerator_view & other ) const;

参数

其他
与此对象相比较的 accelerator_view 对象。

返回值

如果两个对象相同,则为 true;否则为 false

queuing_mode

获取 accelerator_view 对象的排队模式。

语法

__declspec(property(get= get_queuing_mode)) Concurrency::queuing_mode queuing_mode;

版本

获取 accelerator_view 的版本。

语法

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

wait

等待所有提交到 accelerator_view 对象的命令完成。

语法

void wait();

返回值

返回 void

注解

如果 queuing_modeimmediate,则此方法会立即返回而不会阻塞。

~accelerator_view

销毁 accelerator_view 对象。

语法

~accelerator_view();

另请参阅

并发命名空间 (C++ AMP)