 	clock_gettime(CLOCK_MONOTONIC, &tic);
 
 	//repeat the calculation 5 times so we can average out some randomness
+  double elapsedTime_kokkos_cuda_nocopy = 0;
 	for(int i = 0; i < 5; ++i){
 		contractFieldFieldScalarKokkosCuda<Kokkos::Cuda, cuda_input_view_t,
 			cuda_output_view_t, cuda_input_host_t, cuda_output_host_t>
 				(cuda_hostOut, cuda_hostLeft, cuda_hostRight, cuda_kokkosOut,
-				 cuda_kokkosLeft, cuda_kokkosRight);
+				 cuda_kokkosLeft, cuda_kokkosRight, &elapsedTime_kokkos_cuda_nocopy);
 	}
 
 	clock_gettime(CLOCK_MONOTONIC, &toc);
-	const double elapsedTime_kokkos_cuda = getElapsedTime(tic, toc);
+	const double elapsedTime_kokkos_cuda_with_copy = getElapsedTime(tic, toc);
 
 // No checking right now
   /*

		int numCells,
		int numLeftFields,
		int numRightFields,
		int numPoints) {

	double * d_right;
	double * d_left;

	}
  */

	std::cout << "kokkos cuda speedup of " << elapsedTime_serial/elapsedTime_kokkos_cuda_nocopy << std::endl;

	Kokkos::finalize();

