使用推力的矢量数组

时间:2012-09-13 13:04:50

标签: cuda gpu gpgpu nvidia thrust

是否可以使用Thrust创建一个device_vectors数组?我知道我无法创建device_vector的device_vector,但是如何创建device_vectors数组?

1 个答案:

答案 0 :(得分:7)

以下代码对我有用。如果将此代码放在扩展名为.cu的文件中,则编译得很好,但如果将其放在扩展名为.cpp的文件中,则会导致编译时断言失败。

thrust::device_vector<float> vectors[3];
//thrust::device_vector<float> *vectors = new thrust::device_vector<float>[3];

vectors[0] = thrust::device_vector<float>(10);
vectors[1] = thrust::device_vector<float>(10);
vectors[2] = thrust::device_vector<float>(10);

printf("Works\n");

断言失败如下所示

1>../for_each.inl(96) : error C2027: use of undefined type 'thrust::detail::STATIC_ASSERTION_FAILURE<x>'