28 lines
597 B
C++
28 lines
597 B
C++
|
|
#include <thrust/generate.h>
|
||
|
|
#include <thrust/host_vector.h>
|
||
|
|
#include <thrust/random.h>
|
||
|
|
#include <thrust/sort.h>
|
||
|
|
|
||
|
|
#include <cstdlib>
|
||
|
|
#include <iostream>
|
||
|
|
#include <iterator>
|
||
|
|
|
||
|
|
// defines the function prototype
|
||
|
|
#include "device.h"
|
||
|
|
|
||
|
|
int main()
|
||
|
|
{
|
||
|
|
// generate 20 random numbers on the host
|
||
|
|
thrust::host_vector<int> h_vec(20);
|
||
|
|
thrust::default_random_engine rng;
|
||
|
|
thrust::generate(h_vec.begin(), h_vec.end(), rng);
|
||
|
|
|
||
|
|
// interface to CUDA code
|
||
|
|
sort_on_device(h_vec);
|
||
|
|
|
||
|
|
// print sorted array
|
||
|
|
thrust::copy(h_vec.begin(), h_vec.end(), std::ostream_iterator<int>(std::cout, "\n"));
|
||
|
|
|
||
|
|
return 0;
|
||
|
|
}
|