array_view 类
表示一个 N 维视图保存在另一个容器中的数据。
template <
typename _Value_type,
int _Rank = 1
>
class array_view : public _Array_view_base<_Rank,sizeof(_Value_type)/sizeof(int)>;
template <
typename _Value_type,
int _Rank
>
class array_view<const _Value_type, _Rank> : public _Array_view_base<_Rank,sizeof(_Value_type)/sizeof(int)>;
参数
_Value_type
中的元素的数据类型array_view对象。_Rank
数组的秩array_view对象。
成员
公共构造函数
名称 |
说明 |
---|---|
初始化 array_view 类的新实例。 没有默认构造函数的array<T,N>。 所有构造函数被限制为仅在 CPU 上运行,并且不能 Direct3D 目标系统上执行。 |
|
销毁 array_view 对象。 |
公共方法
名称 |
说明 |
---|---|
将复制的内容array_view要通过调用指定的目标位置对象copy(*this, dest)。 |
|
将指针返回到原始数据的array_view。 |
|
将丢弃此视图的当前数据。 |
|
返回 array_view 对象的扩展盘区对象。 |
|
通知 array_view 对象之外的 array_view 接口已被修改其绑定的内存。 调用此方法将呈现过时缓存的所有信息。 |
|
返回一维数组,其中包含所有的元素中array_view对象。 |
|
返回的子部分array_view在指定的原始和可选) 的对象具有指定的范围。 |
|
同步 array_view 对象返回到其源数据所做的任何修改。 |
|
以异步方式同步所做的任何修改 array_view 返回到其源数据的对象。 |
|
将生成array_view对象的不同等级使用此array_view对象的数据。 |
公共运算符
名称 |
说明 |
---|---|
返回由指定的参数或参数的元素的值。 |
|
返回参数指定的元素。 |
|
将指定的内容复制array_view到此对象。 |
公共常量
名称 |
说明 |
---|---|
将存储数组的秩array_view对象。 |
数据成员
名称 |
说明 |
---|---|
获取extent对象,它定义形状的array_view对象。 |
备注
array_view类表示的视图的数据中包含的数组对象或部分下的array对象。
您可以访问array_view对象的源数据的位置 (本地) 或在不同的加速器或一致性的域 (远程)。 在远程访问对象时,视图是复制和缓存所需。 除外的自动缓存,效果array_view对象具有性能配置文件相似的array对象。 通过视图访问数据时可能会导致轻微的性能下降。
有三种远程使用情况:
视图为系统内存的指针传递的方式 parallel_for_each 调用加速器和加速器访问。
视图上加速键的数组传递的方式parallel_for_each调用另一个加速器以及那里访问。
访问数组上加速器视图时,CPU 上。
任何一种情况下,被引用的视图复制运行时到远程位置,如果修改的调用和array_view对象,请将其复制到本地位置。 运行时可能会优化复制回更改的过程、 可能复制仅更改的元素,或也可以复制不变的部分。 重叠的array_view以保持参照完整性,在远程位置不能保证一个数据源上的对象。
您必须同步多线程的访问同一数据源。
运行时产生的高速缓存中的数据有关的以下保证array_view对象:
对所有 well-synchronized 访问array对象和array_view在其上按程序顺序的对象遵守串行发生-关系之前。
若要重叠的所有 well-synchronized 访问array_view对象相同的加速器array对象是通过别名array对象。 他们会总共发生-之前遵循程序顺序的关系。 没有任何缓存。 如果array_view对象正在执行上不同的加速键、 访问的顺序是未定义的创建竞态条件。
当您创建array_view对象使用指针在系统内存中,您必须更改视图, array_view对象只能通过array_view指针。 或者,您必须调用refresh()的array_view对象附加到系统指针,如果基础本机内存而更改直接,而不是通过array_view对象。 操作通知array_view对象更改的基础本机内存和加速键上的任何副本都已过时。 如果遵循这些指导原则,基于指针的视图是视图的数据并行阵列提供的那些相同的。
继承层次结构
_Array_view_shape
_Array_view_base
array_view
要求
标题: amp.h
命名空间: 并发