推力::主机向量和标准::向量有啥区别?
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 推力向量?