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
,则 copy
和 parallel_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_mode 为 immediate
,则此方法会立即返回而不会阻塞。
~accelerator_view
销毁 accelerator_view 对象。
语法
~accelerator_view();