Я использую функцию разбивки тяги для разделения массива на четные и нечетные числа. Однако, когда я пытаюсь отобразить вектор устройства, он показывает случайные значения. Пожалуйста, дайте мне знать, где ошибка. Думаю, я все сделал правильно.thrust :: device_reference не может использоваться с printf?
#include<stdio.h>
#include <thrust/host_vector.h>
#include <thrust/device_vector.h>
#include<thrust/partition.h>
struct is_even
{
//const int toCom;
//is_even(int val):toCom(val){}
__device__
bool operator()(const int &x)
{
return x%2;
}
};
void main(){
thrust::host_vector<int> H(6);
for(int i =0 ; i<H.size();i++){
H[i] = i+1;
}
thrust::device_vector<int> D = H;
thrust::partition(D.begin(),D.end(),is_even());
for(int i =0 ;i< D.size();i++){
printf("%d,",D[i]);
}
getchar();
}
Так как переехал в GitHub: [ссылка] (https://thrust.github.io/doc/classthrust_1_1device__reference.html). –