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

最佳答案

以下代码对我有用。如果将此代码放置在扩展名为.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>'

关于cuda - 使用Thrus的向量数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12406948/

10-13 00:08