推力::主机向量和标准::向量有啥区别?

Posted

技术标签:

【中文标题】推力::主机向量和标准::向量有啥区别?【英文标题】:What is the difference between thrust::host_vector and std::vector?推力::主机向量和标准::向量有什么区别? 【发布时间】:2018-03-20 16:03:23 【问题描述】:

两者都在主机上分配内存,我可以使用迭代器将内容复制到device_vector 并返回。为什么host_vector 必须包含在 API 中?和固定内存有关系吗?

【问题讨论】:

【参考方案1】:

不,它没有实现固定内存。

我怀疑它的存在是为了实现一些覆盖,例如来自device_vector 的赋值。

此外,与 MSVC 中的 std::vector 实现不同,Thrust 的 host_vector 不检查迭代器的有效性,这会导致调试构建的性能更快(默认情况下)。

【讨论】:

以上是关于推力::主机向量和标准::向量有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不隐式调用“复制”的情况下初始化 CUDA 推力向量?

bmp 和JPG有啥区别

推力::设备向量使用推力::替换或推力::转换与自定义函子/谓词

求出点云法向量有啥作用

二维向量和向量图有啥区别?

使用推力的向量数组