   // generate random input
   thrust::generate(h_input.begin(), h_input.end(), rand);
 
-  thrust::device_vector<int> d_input = h_input;
-  thrust::device_vector<int> d_result(n);
+  thrust::system::cuda::vector<int> d_input = h_input;
+  thrust::system::cuda::vector<int> d_result(n);
 
   size_t num_trials = 5;
 

// during algorithms such as thrust::sort. The idea will be to create a simple
// cache of allocations to search when temporary storage is requested. If a hit
// is found in the cache, we quickly return the cached allocation instead of
// resorting to the more expensive thrust::device_malloc.
//
// Note: this implementation cached_allocator is not thread-safe. If multiple
// (host) threads use the same cached_allocator then they should gain exclusive

#include <thrust/system/cuda/vector.h>
#include <thrust/host_vector.h>
#include <thrust/generate.h>
#include <thrust/sort.h>
#include <thrust/pair.h>
