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

时间:2017-05-15 15:04:39

标签: c++ cuda thrust

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

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

我想将p_a复制到d_vec

1 个答案:

答案 0 :(得分:3)

来自documention

您可以使用此构造函数:

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

从示例std::vector复制构造函数副本。

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

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

您也可以使用复制分配:

d_vec = p_a;