Spaces:
Runtime error
Runtime error
int my_rand(void) | |
{ | |
static thrust::default_random_engine rng; | |
static thrust::uniform_int_distribution<int> dist(0, 9999); | |
return dist(rng); | |
} | |
int main(void) | |
{ | |
// generate random data on the host | |
thrust::host_vector<int> h_vec(100); | |
thrust::generate(h_vec.begin(), h_vec.end(), my_rand); | |
// transfer to device and compute sum | |
thrust::device_vector<int> d_vec = h_vec; | |
// initial value of the reduction | |
int init = 0; | |
// binary operation used to reduce values | |
thrust::plus<int> binary_op; | |
// compute sum on the device | |
int sum = thrust::reduce(d_vec.begin(), d_vec.end(), init, binary_op); | |
// print the sum | |
std::cout << "sum is " << sum << std::endl; | |
return 0; | |
} | |