c++ - 如何通过推力将主机 vector 复制到设备 vector

标签 c++ cuda thrust

我想将主机 std::vector 复制到 thrust::device_vector

std::vector<double> p_a(100)
thrust::device_vector<double> d_vec

我想将p_a复制到d_vec

最佳答案

来自documention ,

您可以使用此构造函数:

__host__ thrust::device_vector< T, Alloc >::device_vector   
(   const std::vector< OtherT, OtherAlloc > &   v   )   

Copy constructor copies from an exemplar std::vector.

此构造函数接收要复制的 std::vector 作为参数。 所以,你可以这样做:

std::vector<double> p_a(100);
thrust::device_vector<double> d_vec(p_a);

您也可以使用复制分配:

d_vec = p_a;

关于c++ - 如何通过推力将主机 vector 复制到设备 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43982841/

相关文章:

cuda - Thrust cuda中使用float4时出现内存问题

c++ - 推力::device_vector的结构抛出总线错误

c++ - 如何指向数组中的最后一项

c++ - 无法将项目添加到 const char* vector ? C++

c - 如何从C文件中分离内核

c++ - 如何使用 CUDA Thrust 执行策略覆盖 Thrust 的低级设备内存分配器

c++ - 带有兰数的彩票程序

c++ - 哪些 boost 库正在走向 TR2?

cuda - 如何创建 CUDA 上下文?

python - 带有 Numba 的 Python 上的 CUDA API 错误