thrust::host_vector 和 std::vector 有什么区别?

What is the difference between thrust::host_vector and std::vector?

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

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

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

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