 	clock_gettime(CLOCK_MONOTONIC, &tic);
 
 	//repeat the calculation 5 times so we can average out some randomness
-	for(int i = 0; i < 5; ++i){
+	for(int i = 0; i < numRepeats; ++i){
 		contractDataDataScalarKokkos<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,

			sizeof(double) * numCells * numPoints, cudaMemcpyHostToDevice);


	dim3 blockSize(64);
	dim3 gridSize((numCells / 64) + 1);

	if(colMajor)
		cudaDocontractDataDataScalar_kernelColMajor<<<gridSize, blockSize>>>(d_left,

	Kokkos::deep_copy(outHost, outDevice);
}

int main(int argc, char* argv[]) {

	int c=1000000, p=24;
  int numRepeats = 10;
	
	FieldContainer<double> inl_c_p(c, p);
	FieldContainer<double> inr_c_p(c, p);
	FieldContainer<double> out1_c(c);
