如何通过推力将主机向量复制到设备向量

How to copy host vector to device vector by thrust

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

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

我想复制p_ad_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;