File: host.cpp

package info (click to toggle)
cccl 2.5.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 39,248 kB
  • sloc: cpp: 264,457; python: 6,421; sh: 2,762; perl: 460; makefile: 114; xml: 13
file content (27 lines) | stat: -rw-r--r-- 597 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#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;
}