我如何指定矢量范围?

时间:2013-04-02 16:10:06

标签: cuda

我创建了两个这样的矢量

thrust::host_vector<int> A(count);
thrust::generate(A.begin(),A.end(),rand);

thrust::host_vector<int> B(count);
thrust::generate(B.begin(),B.end(),rand);

count指定vector isn的大小吗?我想要做的是用0 100个随机数填充这个向量。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

host_vector构造函数中的计数参数是向量的大小。请参阅host_vector文档。

根据generate推文文档

  

generate将调用gen的结果(一个不带参数的函数对象)分配给[first,last]范围内的每个元素。

所以,创建没有参数的randon函数

int rand_from_0_to_100_gen(void)
{
     return rand() % 100;
}

并在thrust::generate函数

中使用它
thrust::generate(A.begin(),A.end(),rand_from_0_to_100_gen);