 #define CPU 1
 #define GPU 0
 
-#define MINI_NUM_TESTS 16
+#define NUM_TESTS 16
 
 #define CHECKBOARD_BLOCK_MAX_WIDTH  1
 #define CHECKBOARD_BLOCK_MAX_HEIGHT 256

	const dim3 num_threads(MAX_NUM_THREADS, 1, 1);
	const dim3 num_blocks((d_m.getHeight() + MAX_NUM_THREADS -1)/MAX_NUM_THREADS, d_m.getWidth(), 1);
	productMatrixVectorGPU_shared_kernel<<<num_blocks, num_threads>>>(d_m, d_v, d_r);
	cudaThreadSynchronize(); // block until the device is finished
	
	// check for error

	
	checkResultsProductMatrixVector(productMatrixVectorCPU, productMatrixVectorGPU_naive);
	checkResultsProductMatrixVector(productMatrixVectorCPU, productMatrixVectorGPU_shared);
	checkResultsProductMatrixVector(productMatrixVectorCPU, productMatrixVectorGPU_row);
	
	measureProductMatrixVector(productMatrixVectorCPU);
	measureProductMatrixVector(productMatrixVectorGPU_naive);
	measureProductMatrixVector(productMatrixVectorGPU_shared);
	measureProductMatrixVector(productMatrixVectorGPU_row);
	
	return 0;
}
