   thrust::device_vector<Vector::iterator> new_last_vec(1);
   Vector::iterator new_last;
   
-  unique_copy_kernel<<<1,1>>>(data.begin(), data.end(), output.begin(), new_last_vec.begin());
+  unique_copy_kernel<<<1,1>>>(exec, data.begin(), data.end(), output.begin(), new_last_vec.begin());
   new_last = new_last_vec[0];
 
   ASSERT_EQUAL(new_last - output.begin(), 7);

  thrust::device_vector<Vector::iterator> new_last_vec(1);
  Vector::iterator new_last;
  
  unique_kernel<<<1,1>>>(data.begin(), data.end(), new_last_vec.begin());
  new_last = new_last_vec[0];

  ASSERT_EQUAL(new_last - data.begin(), 7);

  ASSERT_EQUAL(data[5], 31);
  ASSERT_EQUAL(data[6], 37);

  unique_kernel<<<1,1>>>(exec, data.begin(), new_last, is_equal_div_10_unique<T>(), new_last_vec.begin());
  new_last = new_last_vec[0];

  ASSERT_EQUAL(new_last - data.begin(), 3);
